{"documentInfo":{"documentType":"https://xbrl.org/PWD/2026-09-01/compiled","namespaces":{"xbrl":"https://xbrl.org/PWD/2026-09-01","xbrlr":"https://xbrl.org/PWD/2026-09-01/report","xbrla":"https://xbrl.org/PWD/2026-09-01/accounting","xs":"http://www.w3.org/2001/XMLSchema","iso4217":"http://www.xbrl.org/2003/iso4217","utr":"https://xbrl.org/PWD/2026-09-01/utr","rpt":"https://robosystems.ai/tavi/report/0001628280-22-019309","cik":"http://www.sec.gov/CIK","dei":"http://xbrl.sec.gov/dei/2022","us-gaap":"http://fasb.org/us-gaap/2022","srt":"http://fasb.org/srt/2022","dtr-types":"http://www.xbrl.org/dtr/type/2020-01-21","xbrli":"http://www.xbrl.org/2003/instance","csbr":"http://championsoncology.com/20220430"},"description":"10-K 0001628280-22-019309 (CIK 0000771856) projected from XBRL by xbrlkit"},"xbrlModel":{"name":"rpt:Report","modelType":"xbrl:report","properties":[{"property":"xbrl:reportFilingDate","value":"2022-07-22"}],"entities":[{"name":"cik:0000771856"}],"units":[{"name":"iso4217:USD","dataType":"xbrlr:monetary"},{"name":"xbrla:shares","dataType":"xbrla:sharesType"},{"name":"rpt:unit-3","dataType":"xbrlr:perShare","compositeUnitRepresentation":["iso4217:USD/xbrla:shares"]},{"name":"csbr:subsidiary","dataType":"xs:decimal"},{"name":"csbr:segment","dataType":"xs:decimal"}],"dataTypes":[{"name":"dei:nonemptySequenceNumberItemType","baseType":"xs:token"},{"name":"dei:internationalNameItemType","baseType":"xs:token"},{"name":"xbrli:gMonthDayItemType","baseType":"xs:gMonthDay"},{"name":"dei:fiscalPeriodItemType","baseType":"xs:token"},{"name":"dei:submissionTypeItemType","baseType":"xs:string"},{"name":"dei:stateOrProvinceItemType","baseType":"xs:string"},{"name":"dei:centralIndexKeyItemType","baseType":"xs:token"},{"name":"dei:yesNoItemType","baseType":"xs:token"},{"name":"dei:fileNumberItemType","baseType":"xs:string"},{"name":"dei:filerCategoryItemType","baseType":"xs:string"},{"name":"dei:edgarStateCountryItemType","baseType":"xs:string"},{"name":"dei:employerIdItemType","baseType":"xs:token"},{"name":"dei:securityTitleItemType","baseType":"xs:normalizedString"},{"name":"dei:edgarExchangeCodeItemType","baseType":"xs:normalizedString"},{"name":"dei:tradingSymbolItemType","baseType":"xs:normalizedString"}],"concepts":[{"name":"csbr:AccountsReceivableUnbilledServicesAndDeferredRevenueTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"csbr:AssetsAndLiabilitiesLesseeTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"csbr:CollaborationArrangementRoyaltyFee","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"csbr:CollaborationArrangementRoyaltyFeePercentOfContractPrice","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"csbr:DeferredTaxAssetsTaxDeferredExpenseRightOfUseAssetLiability","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:DeferredTaxLiabilityDeferredExpenseDepreciationAndAmortization","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"csbr:EffectiveIncomeTaxRateReconciliationIncreaseInUncertainTaxPosition","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"csbr:EffectiveIncomeTaxRateReconciliationPermanentDifferences","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"csbr:FinanceLeaseCost","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:FinanceLeaseMonthlyPayment","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"csbr:IncreaseDecreaseInOperatingLeaseRightOfUseAssets","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:NumberofOperatingSubsidiaries","dataType":"xs:integer","periodType":"duration","nillable":true},{"name":"csbr:OperatingLeaseIncrementalRentExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:OperatingLossCarryforwardsLimitationsOnUseAmount","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:OtherNoncurrentLiabilitiesPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"csbr:PresentValueMinimumFutureObligationsInterestRate","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"csbr:ProceedsFromExerciseOfOptionsAndWarrants","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:ProceedsFromRefundOfSecurityDeposit","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:SalesAndMarketingExpensePolicyPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOptionsAggregateIntrinsicValueGranted","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOptionsGrantInPeriodWeightedAverageRemainingContractualTerm","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCanceledInPeriod","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedPercentage","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsCanceledInPeriodWeightedAverageExercisePrice","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"csbr:SharebasedCompensationArrangementbySharebasedPaymentAwardTermofOptiontoPurchase","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"csbr:StockOptionsAwardSharesToPurchaseCommonStock","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"csbr:StockOptionsAwardSharesToPurchaseUnregisteredCommonStock","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"csbr:TradeAccountsReceivable","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:WorkingCapital","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"dei:AmendmentFlag","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"dei:AuditorFirmId","dataType":"dei:nonemptySequenceNumberItemType","periodType":"duration","nillable":true},{"name":"dei:AuditorLocation","dataType":"dei:internationalNameItemType","periodType":"duration","nillable":true},{"name":"dei:AuditorName","dataType":"dei:internationalNameItemType","periodType":"duration","nillable":true},{"name":"dei:CityAreaCode","dataType":"xs:normalizedString","periodType":"duration","nillable":true},{"name":"dei:CurrentFiscalYearEndDate","dataType":"xbrli:gMonthDayItemType","periodType":"duration","nillable":true},{"name":"dei:DocumentAnnualReport","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"dei:DocumentFiscalPeriodFocus","dataType":"dei:fiscalPeriodItemType","periodType":"duration","nillable":true},{"name":"dei:DocumentFiscalYearFocus","dataType":"xs:gYear","periodType":"duration","nillable":true},{"name":"dei:DocumentPeriodEndDate","dataType":"xs:date","periodType":"duration","nillable":true},{"name":"dei:DocumentTransitionReport","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"dei:DocumentType","dataType":"dei:submissionTypeItemType","periodType":"duration","nillable":true},{"name":"dei:DocumentsIncorporatedByReferenceTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"dei:EntityAddressAddressLine1","dataType":"xs:normalizedString","periodType":"duration","nillable":true},{"name":"dei:EntityAddressCityOrTown","dataType":"xs:normalizedString","periodType":"duration","nillable":true},{"name":"dei:EntityAddressPostalZipCode","dataType":"xs:normalizedString","periodType":"duration","nillable":true},{"name":"dei:EntityAddressStateOrProvince","dataType":"dei:stateOrProvinceItemType","periodType":"duration","nillable":true},{"name":"dei:EntityCentralIndexKey","dataType":"dei:centralIndexKeyItemType","periodType":"duration","nillable":true},{"name":"dei:EntityCommonStockSharesOutstanding","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"dei:EntityCurrentReportingStatus","dataType":"dei:yesNoItemType","periodType":"duration","nillable":true},{"name":"dei:EntityEmergingGrowthCompany","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"dei:EntityFileNumber","dataType":"dei:fileNumberItemType","periodType":"duration","nillable":true},{"name":"dei:EntityFilerCategory","dataType":"dei:filerCategoryItemType","periodType":"duration","nillable":true},{"name":"dei:EntityIncorporationStateCountryCode","dataType":"dei:edgarStateCountryItemType","periodType":"duration","nillable":true},{"name":"dei:EntityInteractiveDataCurrent","dataType":"dei:yesNoItemType","periodType":"duration","nillable":true},{"name":"dei:EntityPublicFloat","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"dei:EntityRegistrantName","dataType":"xs:normalizedString","periodType":"duration","nillable":true},{"name":"dei:EntityShellCompany","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"dei:EntitySmallBusiness","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"dei:EntityTaxIdentificationNumber","dataType":"dei:employerIdItemType","periodType":"duration","nillable":true},{"name":"dei:EntityVoluntaryFilers","dataType":"dei:yesNoItemType","periodType":"duration","nillable":true},{"name":"dei:EntityWellKnownSeasonedIssuer","dataType":"dei:yesNoItemType","periodType":"duration","nillable":true},{"name":"dei:IcfrAuditorAttestationFlag","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"dei:LocalPhoneNumber","dataType":"xs:normalizedString","periodType":"duration","nillable":true},{"name":"dei:Security12bTitle","dataType":"dei:securityTitleItemType","periodType":"duration","nillable":true},{"name":"dei:SecurityExchangeName","dataType":"dei:edgarExchangeCodeItemType","periodType":"duration","nillable":true},{"name":"dei:TradingSymbol","dataType":"dei:tradingSymbolItemType","periodType":"duration","nillable":true},{"name":"us-gaap:AccountsPayableCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:AccountsReceivableGross","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:AccountsReceivableNetCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:AccruedLiabilitiesCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:AdditionalPaidInCapitalCommonStock","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:AllocatedShareBasedCompensationExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:AllowanceForDoubtfulAccountsReceivable","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:Assets","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:AssetsCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:BasisOfAccountingPolicyPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:Cash","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:CashEquivalentsAtCarryingValue","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:CommitmentsAndContingenciesDisclosureTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:CommonStockParOrStatedValuePerShare","dataType":"xbrlr:perShare","periodType":"instant","nillable":true},{"name":"us-gaap:CommonStockSharesAuthorized","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:CommonStockSharesIssued","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:CommonStockSharesOutstanding","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:CommonStockValue","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:ConcentrationRiskDisclosureTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ConcentrationRiskPercentage1","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:ConsolidationPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ContractWithCustomerLiabilityCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:CostOfGoodsAndServicesSold","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:CostOfSalesPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:CurrentFederalTaxExpenseBenefit","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:CurrentForeignTaxExpenseBenefit","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:CurrentIncomeTaxExpenseBenefit","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:CurrentStateAndLocalTaxExpenseBenefit","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DeferredTaxAssetsGross","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DeferredTaxAssetsLiabilitiesNet","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DeferredTaxAssetsOperatingLossCarryforwards","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DeferredTaxAssetsValuationAllowance","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:Depreciation","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DepreciationAndAmortization","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DepreciationDepletionAndAmortization","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DisaggregationOfRevenueTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:EarningsPerShareBasic","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"us-gaap:EarningsPerShareDiluted","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"us-gaap:EarningsPerSharePolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:EarningsPerShareTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:FairValueMeasurementPolicyPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:FinanceLeaseLiabilityCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:FinanceLeaseLiabilityPaymentsDue","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:FinanceLeasePrincipalPayments","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:FinanceLeaseRightOfUseAsset","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList","dataType":"xbrlr:enumeration","periodType":"instant","nillable":true},{"name":"us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:GainLossOnTerminationOfLease","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:GeneralAndAdministrativeExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:Goodwill","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:HostingArrangementServiceContractImplementationCostExpenseAmortization","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ImpairmentOfLongLivedAssetsHeldForUse","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:IncomeTaxDisclosureTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:IncomeTaxExpenseBenefit","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:IncomeTaxPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:IncreaseDecreaseInAccountsPayable","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:IncreaseDecreaseInAccountsReceivable","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:IncreaseDecreaseInAccruedLiabilities","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:IncreaseDecreaseInDeferredRevenue","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:IncreaseDecreaseInOperatingLeaseLiability","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:LesseeLeasesPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:LesseeOperatingLeaseRenewalTerm","dataType":"xbrlr:duration","periodType":"instant","nillable":true},{"name":"us-gaap:LesseeOperatingLeasesTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:Liabilities","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:LiabilitiesAndStockholdersEquity","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:LiabilitiesCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:NetCashProvidedByUsedInFinancingActivities","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:NetCashProvidedByUsedInInvestingActivities","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:NetCashProvidedByUsedInOperatingActivities","dataType":"xbrlr:monetary","periodType":"duration","nillable":true},{"name":"us-gaap:NetIncomeLoss","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:NumberOfReportableSegments","dataType":"xs:integer","periodType":"duration","nillable":true},{"name":"us-gaap:OperatingCostsAndExpenses","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:OperatingIncomeLoss","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OperatingLeaseExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:OperatingLeaseLiability","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OperatingLeaseLiabilityCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OperatingLeaseLiabilityNoncurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OperatingLeaseRightOfUseAsset","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent","dataType":"xbrlr:percent","periodType":"instant","nillable":true},{"name":"us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1","dataType":"xbrlr:duration","periodType":"instant","nillable":true},{"name":"us-gaap:OperatingLossCarryforwards","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:OperatingLossCarryforwardsValuationAllowance","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:OtherAssetsNoncurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:OtherLiabilitiesNoncurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OtherNonoperatingIncomeExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:PaymentsToAcquirePropertyPlantAndEquipment","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:PropertyPlantAndEquipmentGross","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:PropertyPlantAndEquipmentPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:PropertyPlantAndEquipmentTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:PropertyPlantAndEquipmentUsefulLife","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"us-gaap:ProvisionForDoubtfulAccounts","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:RelatedPartyTransactionAmountsOfTransaction","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:RelatedPartyTransactionsDisclosureTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ResearchAndDevelopmentExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ResearchAndDevelopmentExpensePolicy","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:RetainedEarningsAccumulatedDeficit","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:RevenueFromContractWithCustomerPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:RevenueFromContractWithCustomerTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1","dataType":"xbrlr:duration","periodType":"instant","nillable":true},{"name":"us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:RoyaltyExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:SellingAndMarketingExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ServicingAsset","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ServicingAssetAtFairValueAmount","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ShareBasedCompensation","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice","dataType":"xbrlr:perShare","periodType":"instant","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","dataType":"xbrlr:perShare","periodType":"instant","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice","dataType":"xbrlr:perShare","periodType":"instant","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:SignificantAccountingPoliciesTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:StockIssuedDuringPeriodSharesOther","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:StockIssuedDuringPeriodValueOther","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:StockholdersEquity","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:TreasuryStockCommonShares","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:TypeOfCostGoodOrServiceExtensibleList","dataType":"xbrlr:enumeration","periodType":"duration","nillable":true},{"name":"us-gaap:TypeOfRevenueExtensibleList","dataType":"xbrlr:enumeration","periodType":"duration","nillable":true},{"name":"us-gaap:UnbilledContractsReceivable","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:UnrecognizedTaxBenefits","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:UseOfEstimates","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","dataType":"xbrla:sharesType","periodType":"duration","nillable":true}],"headings":[{"name":"csbr:AuditorInformationAbstract"},{"name":"csbr:BasicAndDilutedEarningsPerShareAbstract"},{"name":"csbr:CommitmentsAndContingenciesLineItems"},{"name":"csbr:CommitmentsAndContingenciesTable"},{"name":"csbr:EarningsPerShareBasicAndDilutedOtherDisclosureAbstract"},{"name":"dei:CoverAbstract"},{"name":"us-gaap:AccountingPoliciesAbstract"},{"name":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"},{"name":"us-gaap:AssetsAbstract"},{"name":"us-gaap:AssetsCurrentAbstract"},{"name":"us-gaap:ClassOfStockLineItems"},{"name":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract"},{"name":"us-gaap:DisaggregationOfRevenueLineItems"},{"name":"us-gaap:DisaggregationOfRevenueTable"},{"name":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"},{"name":"us-gaap:EarningsPerShareAbstract"},{"name":"us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"},{"name":"us-gaap:EntityWideRevenueMajorCustomerLineItems"},{"name":"us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperationsAbstract"},{"name":"us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperationsAbstract"},{"name":"us-gaap:IncomeStatementAbstract"},{"name":"us-gaap:IncomeTaxDisclosureAbstract"},{"name":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract"},{"name":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward"},{"name":"us-gaap:LeasesAbstract"},{"name":"us-gaap:LesseeLeaseDescriptionLineItems"},{"name":"us-gaap:LesseeLeaseDescriptionTable"},{"name":"us-gaap:LiabilitiesAndStockholdersEquityAbstract"},{"name":"us-gaap:LiabilitiesCurrentAbstract"},{"name":"us-gaap:NetCashProvidedByUsedInFinancingActivitiesAbstract"},{"name":"us-gaap:NetCashProvidedByUsedInInvestingActivitiesAbstract"},{"name":"us-gaap:NetCashProvidedByUsedInOperatingActivitiesAbstract"},{"name":"us-gaap:NetIncomeLossAvailableToCommonStockholdersBasicAbstract"},{"name":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDilutedAbstract"},{"name":"us-gaap:NoncashInvestingAndFinancingItemsAbstract"},{"name":"us-gaap:NonoperatingIncomeExpenseAbstract"},{"name":"us-gaap:OperatingExpensesAbstract"},{"name":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract"},{"name":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"},{"name":"us-gaap:PropertyPlantAndEquipmentAbstract"},{"name":"us-gaap:PropertyPlantAndEquipmentLineItems"},{"name":"us-gaap:ReceivablesAbstract"},{"name":"us-gaap:ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward"},{"name":"us-gaap:RelatedPartyTransactionLineItems"},{"name":"us-gaap:RelatedPartyTransactionsAbstract"},{"name":"us-gaap:RevenueFromContractWithCustomerAbstract"},{"name":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"},{"name":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"},{"name":"us-gaap:RisksAndUncertaintiesAbstract"},{"name":"us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"},{"name":"us-gaap:ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable"},{"name":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable"},{"name":"us-gaap:ScheduleOfRelatedPartyTransactionsByRelatedPartyTable"},{"name":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"},{"name":"us-gaap:ScheduleOfStockByClassTable"},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward"},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward"},{"name":"us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperationsAbstract"},{"name":"us-gaap:StatementLineItems"},{"name":"us-gaap:StatementOfCashFlowsAbstract"},{"name":"us-gaap:StatementOfFinancialPositionAbstract"},{"name":"us-gaap:StatementOfStockholdersEquityAbstract"},{"name":"us-gaap:StatementTable"},{"name":"us-gaap:StockholdersEquityAbstract"}],"dimensions":[{"name":"csbr:FinanceLeaseAxis","domainClass":"csbr:FinanceLeaseDomain"},{"name":"srt:CounterpartyNameAxis","domainClass":"srt:RepurchaseAgreementCounterpartyNameDomain"},{"name":"srt:MajorCustomersAxis","domainClass":"srt:NameOfMajorCustomerDomain"},{"name":"srt:ProductOrServiceAxis","domainClass":"srt:ProductsAndServicesDomain"},{"name":"srt:RangeAxis","domainClass":"srt:RangeMember"},{"name":"srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis","domainClass":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain"},{"name":"srt:TitleOfIndividualAxis","domainClass":"srt:TitleOfIndividualWithRelationshipToEntityDomain"},{"name":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis","domainClass":"us-gaap:AntidilutiveSecuritiesNameDomain"},{"name":"us-gaap:ConcentrationRiskByBenchmarkAxis","domainClass":"us-gaap:ConcentrationRiskBenchmarkDomain"},{"name":"us-gaap:ConcentrationRiskByTypeAxis","domainClass":"us-gaap:ConcentrationRiskTypeDomain"},{"name":"us-gaap:IncomeStatementLocationAxis","domainClass":"us-gaap:IncomeStatementLocationDomain"},{"name":"us-gaap:PlanNameAxis","domainClass":"us-gaap:PlanNameDomain"},{"name":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","domainClass":"us-gaap:PropertyPlantAndEquipmentTypeDomain"},{"name":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"},{"name":"us-gaap:StatementEquityComponentsAxis","domainClass":"us-gaap:EquityComponentDomain"}],"domainClasses":[{"name":"csbr:FinanceLeaseDomain"},{"name":"srt:NameOfMajorCustomerDomain"},{"name":"srt:ProductsAndServicesDomain"},{"name":"srt:RangeMember"},{"name":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain"},{"name":"srt:RepurchaseAgreementCounterpartyNameDomain"},{"name":"srt:TitleOfIndividualWithRelationshipToEntityDomain"},{"name":"us-gaap:AntidilutiveSecuritiesNameDomain"},{"name":"us-gaap:ConcentrationRiskBenchmarkDomain"},{"name":"us-gaap:ConcentrationRiskTypeDomain"},{"name":"us-gaap:EquityComponentDomain"},{"name":"us-gaap:IncomeStatementLocationDomain"},{"name":"us-gaap:PlanNameDomain"},{"name":"us-gaap:PropertyPlantAndEquipmentTypeDomain"}],"domainNetworks":[{"name":"rpt:domain-0","root":"us-gaap:EquityComponentDomain","relationships":[{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:CommonStockMember"},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:TreasuryStockCommonMember"},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:AdditionalPaidInCapitalMember"},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:RetainedEarningsMember"}]},{"name":"rpt:domain-1","root":"srt:RangeMember","relationships":[{"source":"srt:RangeMember","target":"srt:MinimumMember"},{"source":"srt:RangeMember","target":"srt:MaximumMember"}]},{"name":"rpt:domain-2","root":"us-gaap:AntidilutiveSecuritiesNameDomain","relationships":[{"source":"us-gaap:AntidilutiveSecuritiesNameDomain","target":"us-gaap:EmployeeStockOptionMember"}]},{"name":"rpt:domain-3","root":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","relationships":[{"source":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","target":"csbr:CorporateHeadquartersMember"},{"source":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","target":"csbr:RockvilleMDMember"},{"source":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","target":"csbr:RockvilleMDNewLocationMember"},{"source":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","target":"csbr:MilanItalyMember"}]},{"name":"rpt:domain-4","root":"us-gaap:PropertyPlantAndEquipmentTypeDomain","relationships":[{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"csbr:FinanceLeasedAssetsMember"},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:SoftwareAndSoftwareDevelopmentCostsMember"},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:AssetUnderConstructionMember"}]},{"name":"rpt:domain-5","root":"csbr:FinanceLeaseDomain","relationships":[{"source":"csbr:FinanceLeaseDomain","target":"csbr:A2020FinanceLeaseMember"},{"source":"csbr:FinanceLeaseDomain","target":"csbr:A2022FinanceLeaseMember"}]},{"name":"rpt:domain-6","root":"us-gaap:PropertyPlantAndEquipmentTypeDomain","relationships":[{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:FurnitureAndFixturesMember"},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:ComputerEquipmentMember"},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:OtherMachineryAndEquipmentMember"},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:SoftwareAndSoftwareDevelopmentCostsMember"},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:AssetUnderConstructionMember"},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:LeaseholdImprovementsMember"}]},{"name":"rpt:domain-7","root":"srt:RepurchaseAgreementCounterpartyNameDomain","relationships":[{"source":"srt:RepurchaseAgreementCounterpartyNameDomain","target":"csbr:BoardMemberOneMember"},{"source":"srt:RepurchaseAgreementCounterpartyNameDomain","target":"csbr:BoardMemberTwoMember"}]},{"name":"rpt:domain-8","root":"srt:TitleOfIndividualWithRelationshipToEntityDomain","relationships":[{"source":"srt:TitleOfIndividualWithRelationshipToEntityDomain","target":"srt:BoardOfDirectorsChairmanMember"}]},{"name":"rpt:domain-9","root":"srt:ProductsAndServicesDomain","relationships":[{"source":"srt:ProductsAndServicesDomain","target":"csbr:PharmacologyServicesMember"},{"source":"srt:ProductsAndServicesDomain","target":"csbr:OtherServicesMember"},{"source":"srt:ProductsAndServicesDomain","target":"csbr:PersonalizedOncologyServicesMember"}]},{"name":"rpt:domain-10","root":"us-gaap:ConcentrationRiskBenchmarkDomain","relationships":[{"source":"us-gaap:ConcentrationRiskBenchmarkDomain","target":"us-gaap:AccountsReceivableMember"}]},{"name":"rpt:domain-11","root":"us-gaap:ConcentrationRiskTypeDomain","relationships":[{"source":"us-gaap:ConcentrationRiskTypeDomain","target":"us-gaap:CustomerConcentrationRiskMember"}]},{"name":"rpt:domain-12","root":"srt:NameOfMajorCustomerDomain","relationships":[{"source":"srt:NameOfMajorCustomerDomain","target":"csbr:OneCustomerMember"}]},{"name":"rpt:domain-13","root":"us-gaap:IncomeStatementLocationDomain","relationships":[{"source":"us-gaap:IncomeStatementLocationDomain","target":"us-gaap:GeneralAndAdministrativeExpenseMember"},{"source":"us-gaap:IncomeStatementLocationDomain","target":"us-gaap:SellingAndMarketingExpenseMember"},{"source":"us-gaap:IncomeStatementLocationDomain","target":"us-gaap:ResearchAndDevelopmentExpenseMember"},{"source":"us-gaap:IncomeStatementLocationDomain","target":"csbr:TranslationalOncologySolutionsCostOfSalesMember"}]},{"name":"rpt:domain-14","root":"us-gaap:PlanNameDomain","relationships":[{"source":"us-gaap:PlanNameDomain","target":"csbr:EquityIncentivePlan2021Member"},{"source":"us-gaap:PlanNameDomain","target":"csbr:EquityIncentivePlan2010Member"},{"source":"us-gaap:PlanNameDomain","target":"csbr:TwoThousandEightEquityIncentivePlanMember"},{"source":"us-gaap:PlanNameDomain","target":"csbr:DirectorCompensationPlanMember"}]},{"name":"rpt:domain-15","root":"srt:RangeMember","relationships":[{"source":"srt:RangeMember","target":"srt:MaximumMember"}]},{"name":"rpt:domain-16","root":"srt:TitleOfIndividualWithRelationshipToEntityDomain","relationships":[{"source":"srt:TitleOfIndividualWithRelationshipToEntityDomain","target":"csbr:DirectorsAndEmployeesMember"},{"source":"srt:TitleOfIndividualWithRelationshipToEntityDomain","target":"csbr:NonEmployeesMember"}]},{"name":"rpt:domain-17","root":"srt:ProductsAndServicesDomain","relationships":[{"source":"srt:ProductsAndServicesDomain","target":"csbr:FewContractsMember"}]}],"members":[{"name":"csbr:A2020FinanceLeaseMember","domainClasses":["csbr:FinanceLeaseDomain"]},{"name":"csbr:A2022FinanceLeaseMember","domainClasses":["csbr:FinanceLeaseDomain"]},{"name":"csbr:BoardMemberOneMember","domainClasses":["srt:RepurchaseAgreementCounterpartyNameDomain"]},{"name":"csbr:BoardMemberTwoMember","domainClasses":["srt:RepurchaseAgreementCounterpartyNameDomain"]},{"name":"csbr:CorporateHeadquartersMember","domainClasses":["srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain"]},{"name":"csbr:DirectorCompensationPlanMember","domainClasses":["us-gaap:PlanNameDomain"]},{"name":"csbr:DirectorsAndEmployeesMember","domainClasses":["srt:TitleOfIndividualWithRelationshipToEntityDomain"]},{"name":"csbr:EquityIncentivePlan2010Member","domainClasses":["us-gaap:PlanNameDomain"]},{"name":"csbr:EquityIncentivePlan2021Member","domainClasses":["us-gaap:PlanNameDomain"]},{"name":"csbr:FewContractsMember","domainClasses":["srt:ProductsAndServicesDomain"]},{"name":"csbr:FinanceLeasedAssetsMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"csbr:MilanItalyMember","domainClasses":["srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain"]},{"name":"csbr:NonEmployeesMember","domainClasses":["srt:TitleOfIndividualWithRelationshipToEntityDomain"]},{"name":"csbr:OneCustomerMember","domainClasses":["srt:NameOfMajorCustomerDomain"]},{"name":"csbr:OtherServicesMember","domainClasses":["srt:ProductsAndServicesDomain"]},{"name":"csbr:PersonalizedOncologyServicesMember","domainClasses":["srt:ProductsAndServicesDomain"]},{"name":"csbr:PharmacologyServicesMember","domainClasses":["srt:ProductsAndServicesDomain"]},{"name":"csbr:RockvilleMDMember","domainClasses":["srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain"]},{"name":"csbr:RockvilleMDNewLocationMember","domainClasses":["srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain"]},{"name":"csbr:TranslationalOncologySolutionsCostOfSalesMember","domainClasses":["us-gaap:IncomeStatementLocationDomain"]},{"name":"csbr:TwoThousandEightEquityIncentivePlanMember","domainClasses":["us-gaap:PlanNameDomain"]},{"name":"srt:BoardOfDirectorsChairmanMember","domainClasses":["srt:TitleOfIndividualWithRelationshipToEntityDomain"]},{"name":"srt:MaximumMember","domainClasses":["srt:RangeMember"]},{"name":"srt:MinimumMember","domainClasses":["srt:RangeMember"]},{"name":"us-gaap:AccountsReceivableMember","domainClasses":["us-gaap:ConcentrationRiskBenchmarkDomain"]},{"name":"us-gaap:AdditionalPaidInCapitalMember","domainClasses":["us-gaap:EquityComponentDomain"]},{"name":"us-gaap:AssetUnderConstructionMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"us-gaap:CommonStockMember","domainClasses":["us-gaap:EquityComponentDomain"]},{"name":"us-gaap:ComputerEquipmentMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"us-gaap:CustomerConcentrationRiskMember","domainClasses":["us-gaap:ConcentrationRiskTypeDomain"]},{"name":"us-gaap:EmployeeStockOptionMember","domainClasses":["us-gaap:AntidilutiveSecuritiesNameDomain"]},{"name":"us-gaap:FurnitureAndFixturesMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"us-gaap:GeneralAndAdministrativeExpenseMember","domainClasses":["us-gaap:IncomeStatementLocationDomain"]},{"name":"us-gaap:LeaseholdImprovementsMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"us-gaap:OtherMachineryAndEquipmentMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"us-gaap:ResearchAndDevelopmentExpenseMember","domainClasses":["us-gaap:IncomeStatementLocationDomain"]},{"name":"us-gaap:RetainedEarningsMember","domainClasses":["us-gaap:EquityComponentDomain"]},{"name":"us-gaap:SellingAndMarketingExpenseMember","domainClasses":["us-gaap:IncomeStatementLocationDomain"]},{"name":"us-gaap:SoftwareAndSoftwareDevelopmentCostsMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"us-gaap:TreasuryStockCommonMember","domainClasses":["us-gaap:EquityComponentDomain"]}],"cubes":[{"name":"rpt:cube-0","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:StatementEquityComponentsAxis","domainNetwork":"rpt:domain-0","optional":true}]},{"name":"rpt:cube-1","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"srt:RangeAxis","domainNetwork":"rpt:domain-1","optional":true}]},{"name":"rpt:cube-2","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis","domainNetwork":"rpt:domain-2","optional":true}]},{"name":"rpt:cube-3","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis","domainNetwork":"rpt:domain-3","optional":true}]},{"name":"rpt:cube-4","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","domainNetwork":"rpt:domain-4","optional":true},{"dimension":"csbr:FinanceLeaseAxis","domainNetwork":"rpt:domain-5","optional":true}]},{"name":"rpt:cube-5","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","domainNetwork":"rpt:domain-6","optional":true}]},{"name":"rpt:cube-6","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"srt:CounterpartyNameAxis","domainNetwork":"rpt:domain-7","optional":true},{"dimension":"srt:TitleOfIndividualAxis","domainNetwork":"rpt:domain-8","optional":true}]},{"name":"rpt:cube-7","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"srt:ProductOrServiceAxis","domainNetwork":"rpt:domain-9","optional":true}]},{"name":"rpt:cube-8","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:ConcentrationRiskByBenchmarkAxis","domainNetwork":"rpt:domain-10","optional":true},{"dimension":"us-gaap:ConcentrationRiskByTypeAxis","domainNetwork":"rpt:domain-11","optional":true},{"dimension":"srt:MajorCustomersAxis","domainNetwork":"rpt:domain-12","optional":true}]},{"name":"rpt:cube-9","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:IncomeStatementLocationAxis","domainNetwork":"rpt:domain-13","optional":true}]},{"name":"rpt:cube-10","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:PlanNameAxis","domainNetwork":"rpt:domain-14","optional":true},{"dimension":"srt:RangeAxis","domainNetwork":"rpt:domain-15","optional":true},{"dimension":"srt:TitleOfIndividualAxis","domainNetwork":"rpt:domain-8","optional":true}]},{"name":"rpt:cube-11","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"srt:TitleOfIndividualAxis","domainNetwork":"rpt:domain-16","optional":true}]},{"name":"rpt:cube-12","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"srt:RangeAxis","domainNetwork":"rpt:domain-1","optional":true}]},{"name":"rpt:cube-13","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"srt:RangeAxis","domainNetwork":"rpt:domain-1","optional":true}]},{"name":"rpt:cube-14","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"srt:ProductOrServiceAxis","domainNetwork":"rpt:domain-17","optional":true},{"dimension":"srt:RangeAxis","domainNetwork":"rpt:domain-1","optional":true},{"dimension":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"}]},{"name":"rpt:cube-15","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"srt:ProductOrServiceAxis","domainNetwork":"rpt:domain-17","optional":true},{"dimension":"srt:RangeAxis","domainNetwork":"rpt:domain-1","optional":true}]},{"name":"rpt:cube-undimensioned","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true}]}],"labels":[{"forObject":"csbr:A2020FinanceLeaseMember","labelType":"xbrl:terseLabel","value":"2020 Finance Lease","language":"en-US"},{"forObject":"csbr:A2020FinanceLeaseMember","labelType":"xbrl:label","value":"2020 Finance Lease [Member]","language":"en-US"},{"forObject":"csbr:A2020FinanceLeaseMember","labelType":"xbrl:documentation","value":"2020 Finance Lease","language":"en-US"},{"forObject":"csbr:A2022FinanceLeaseMember","labelType":"xbrl:terseLabel","value":"2022 Finance Lease","language":"en-US"},{"forObject":"csbr:A2022FinanceLeaseMember","labelType":"xbrl:label","value":"2022 Finance Lease [Member]","language":"en-US"},{"forObject":"csbr:A2022FinanceLeaseMember","labelType":"xbrl:documentation","value":"2022 Finance Lease","language":"en-US"},{"forObject":"csbr:AccountsReceivableUnbilledServicesAndDeferredRevenueTextBlock","labelType":"xbrl:terseLabel","value":"Accounts Receivable, Unbilled Services and Deferred Revenue","language":"en-US"},{"forObject":"csbr:AccountsReceivableUnbilledServicesAndDeferredRevenueTextBlock","labelType":"xbrl:label","value":"Accounts Receivable, Unbilled Services And Deferred Revenue [Text Block]","language":"en-US"},{"forObject":"csbr:AccountsReceivableUnbilledServicesAndDeferredRevenueTextBlock","labelType":"xbrl:documentation","value":"Accounts Receivable, Unbilled Services And Deferred Revenue [Text Block]","language":"en-US"},{"forObject":"csbr:AssetsAndLiabilitiesLesseeTableTextBlock","labelType":"xbrl:terseLabel","value":"Assets and Liabilities","language":"en-US"},{"forObject":"csbr:AssetsAndLiabilitiesLesseeTableTextBlock","labelType":"xbrl:label","value":"Assets And Liabilities, Lessee [Table Text Block]","language":"en-US"},{"forObject":"csbr:AssetsAndLiabilitiesLesseeTableTextBlock","labelType":"xbrl:documentation","value":"Assets And Liabilities, Lessee [Text Block]","language":"en-US"},{"forObject":"csbr:AuditorInformationAbstract","labelType":"xbrl:label","value":"Auditor Information [Abstract]","language":"en-US"},{"forObject":"csbr:AuditorInformationAbstract","labelType":"xbrl:documentation","value":"Auditor Information [Abstract]","language":"en-US"},{"forObject":"csbr:BasicAndDilutedEarningsPerShareAbstract","labelType":"xbrl:terseLabel","value":"Net income per common share outstanding","language":"en-US"},{"forObject":"csbr:BasicAndDilutedEarningsPerShareAbstract","labelType":"xbrl:label","value":"Basic and Diluted, Earnings Per Share [Abstract]","language":"en-US"},{"forObject":"csbr:BasicAndDilutedEarningsPerShareAbstract","labelType":"xbrl:documentation","value":"Basic and Diluted, Earnings Per Share","language":"en-US"},{"forObject":"csbr:BoardMemberOneMember","labelType":"xbrl:terseLabel","value":"Board Member One","language":"en-US"},{"forObject":"csbr:BoardMemberOneMember","labelType":"xbrl:label","value":"Board Member One [Member]","language":"en-US"},{"forObject":"csbr:BoardMemberOneMember","labelType":"xbrl:documentation","value":"Board Member One [Member]","language":"en-US"},{"forObject":"csbr:BoardMemberTwoMember","labelType":"xbrl:terseLabel","value":"Board Member Two","language":"en-US"},{"forObject":"csbr:BoardMemberTwoMember","labelType":"xbrl:label","value":"Board Member Two [Member]","language":"en-US"},{"forObject":"csbr:BoardMemberTwoMember","labelType":"xbrl:documentation","value":"Board Member Two [Member]","language":"en-US"},{"forObject":"csbr:CollaborationArrangementRoyaltyFee","labelType":"xbrl:terseLabel","value":"Royalty fee per tumor sample","language":"en-US"},{"forObject":"csbr:CollaborationArrangementRoyaltyFee","labelType":"xbrl:label","value":"Collaboration Arrangement Royalty Fee","language":"en-US"},{"forObject":"csbr:CollaborationArrangementRoyaltyFee","labelType":"xbrl:documentation","value":"Collaboration Arrangement Royalty Fee","language":"en-US"},{"forObject":"csbr:CollaborationArrangementRoyaltyFeePercentOfContractPrice","labelType":"xbrl:terseLabel","value":"Royalty payment, as percent of contract price","language":"en-US"},{"forObject":"csbr:CollaborationArrangementRoyaltyFeePercentOfContractPrice","labelType":"xbrl:label","value":"Collaboration Arrangement, Royalty Fee, Percent Of Contract Price","language":"en-US"},{"forObject":"csbr:CollaborationArrangementRoyaltyFeePercentOfContractPrice","labelType":"xbrl:documentation","value":"Collaboration Arrangement, Royalty Fee, Percent Of Contract Price","language":"en-US"},{"forObject":"csbr:CommitmentsAndContingenciesLineItems","labelType":"xbrl:verboseLabel","value":"Commitments and Contingencies [Line Items]","language":"en-US"},{"forObject":"csbr:CommitmentsAndContingenciesLineItems","labelType":"xbrl:label","value":"Commitments and Contingencies [Line Items]","language":"en-US"},{"forObject":"csbr:CommitmentsAndContingenciesTable","labelType":"xbrl:terseLabel","value":"Commitments and Contingencies [Table]","language":"en-US"},{"forObject":"csbr:CommitmentsAndContingenciesTable","labelType":"xbrl:label","value":"Commitments and Contingencies [Table]","language":"en-US"},{"forObject":"csbr:CorporateHeadquartersMember","labelType":"xbrl:terseLabel","value":"Corporate Headquarters","language":"en-US"},{"forObject":"csbr:CorporateHeadquartersMember","labelType":"xbrl:label","value":"Corporate Headquarters [Member]","language":"en-US"},{"forObject":"csbr:DeferredTaxAssetsTaxDeferredExpenseRightOfUseAssetLiability","labelType":"xbrl:terseLabel","value":"Right of use, net asset/liability","language":"en-US"},{"forObject":"csbr:DeferredTaxAssetsTaxDeferredExpenseRightOfUseAssetLiability","labelType":"xbrl:label","value":"Deferred Tax Assets, Tax Deferred Expense, Right Of Use Asset (Liability)","language":"en-US"},{"forObject":"csbr:DeferredTaxAssetsTaxDeferredExpenseRightOfUseAssetLiability","labelType":"xbrl:documentation","value":"Deferred Tax Assets, Tax Deferred Expense, Right Of Use Asset (Liability)","language":"en-US"},{"forObject":"csbr:DeferredTaxLiabilityDeferredExpenseDepreciationAndAmortization","labelType":"xbrl:negatedTerseLabel","value":"Depreciation and amortization","language":"en-US"},{"forObject":"csbr:DeferredTaxLiabilityDeferredExpenseDepreciationAndAmortization","labelType":"xbrl:label","value":"Deferred Tax Liability Deferred Expense Depreciation And Amortization","language":"en-US"},{"forObject":"csbr:DeferredTaxLiabilityDeferredExpenseDepreciationAndAmortization","labelType":"xbrl:documentation","value":"Amount before allocation of valuation allowances of deferred tax liability attributable to deductible temporary differences from depreciation and amortization.","language":"en-US"},{"forObject":"csbr:DirectorCompensationPlanMember","labelType":"xbrl:terseLabel","value":"Director Compensation Plan","language":"en-US"},{"forObject":"csbr:DirectorCompensationPlanMember","labelType":"xbrl:label","value":"Director Compensation Plan [Member]","language":"en-US"},{"forObject":"csbr:DirectorsAndEmployeesMember","labelType":"xbrl:terseLabel","value":"Directors and Employees","language":"en-US"},{"forObject":"csbr:DirectorsAndEmployeesMember","labelType":"xbrl:label","value":"Directors and Employees [Member]","language":"en-US"},{"forObject":"csbr:EarningsPerShareBasicAndDilutedOtherDisclosureAbstract","labelType":"xbrl:terseLabel","value":"Weighted average common shares outstanding","language":"en-US"},{"forObject":"csbr:EarningsPerShareBasicAndDilutedOtherDisclosureAbstract","labelType":"xbrl:label","value":"Earnings Per Share, Basic and Diluted, Other Disclosure [Abstract]","language":"en-US"},{"forObject":"csbr:EarningsPerShareBasicAndDilutedOtherDisclosureAbstract","labelType":"xbrl:documentation","value":"Earnings Per Share, Basic and Diluted, Other Disclosure","language":"en-US"},{"forObject":"csbr:EffectiveIncomeTaxRateReconciliationIncreaseInUncertainTaxPosition","labelType":"xbrl:negatedLabel","value":"Increase in uncertain tax position","language":"en-US"},{"forObject":"csbr:EffectiveIncomeTaxRateReconciliationIncreaseInUncertainTaxPosition","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation Increase in uncertain tax position","language":"en-US"},{"forObject":"csbr:EffectiveIncomeTaxRateReconciliationIncreaseInUncertainTaxPosition","labelType":"xbrl:documentation","value":"Percentage 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 in uncertain tax position.","language":"en-US"},{"forObject":"csbr:EffectiveIncomeTaxRateReconciliationPermanentDifferences","labelType":"xbrl:negatedLabel","value":"Permanent differences","language":"en-US"},{"forObject":"csbr:EffectiveIncomeTaxRateReconciliationPermanentDifferences","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation Permanent Differences","language":"en-US"},{"forObject":"csbr:EffectiveIncomeTaxRateReconciliationPermanentDifferences","labelType":"xbrl:documentation","value":"Percentage 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 permanent differences.","language":"en-US"},{"forObject":"csbr:EquityIncentivePlan2010Member","labelType":"xbrl:terseLabel","value":"Equity Incentive Plan 2010","language":"en-US"},{"forObject":"csbr:EquityIncentivePlan2010Member","labelType":"xbrl:label","value":"Equity Incentive Plan 2010 [Member]","language":"en-US"},{"forObject":"csbr:EquityIncentivePlan2021Member","labelType":"xbrl:terseLabel","value":"Equity Incentive Plan 2021","language":"en-US"},{"forObject":"csbr:EquityIncentivePlan2021Member","labelType":"xbrl:label","value":"Equity Incentive Plan 2021 [Member]","language":"en-US"},{"forObject":"csbr:EquityIncentivePlan2021Member","labelType":"xbrl:documentation","value":"Equity Incentive Plan 2021","language":"en-US"},{"forObject":"csbr:FewContractsMember","labelType":"xbrl:terseLabel","value":"Few Contracts","language":"en-US"},{"forObject":"csbr:FewContractsMember","labelType":"xbrl:label","value":"Few Contracts [Member]","language":"en-US"},{"forObject":"csbr:FewContractsMember","labelType":"xbrl:documentation","value":"Few contracts.","language":"en-US"},{"forObject":"csbr:FinanceLeaseAxis","labelType":"xbrl:terseLabel","value":"Finance Lease [Axis]","language":"en-US"},{"forObject":"csbr:FinanceLeaseAxis","labelType":"xbrl:label","value":"Finance Lease [Axis]","language":"en-US"},{"forObject":"csbr:FinanceLeaseAxis","labelType":"xbrl:documentation","value":"Finance Lease","language":"en-US"},{"forObject":"csbr:FinanceLeaseCost","labelType":"xbrl:terseLabel","value":"Finance lease costs","language":"en-US"},{"forObject":"csbr:FinanceLeaseCost","labelType":"xbrl:label","value":"Finance Lease, Cost","language":"en-US"},{"forObject":"csbr:FinanceLeaseCost","labelType":"xbrl:documentation","value":"Finance Lease, Cost","language":"en-US"},{"forObject":"csbr:FinanceLeaseDomain","labelType":"xbrl:terseLabel","value":"Finance Lease [Domain]","language":"en-US"},{"forObject":"csbr:FinanceLeaseDomain","labelType":"xbrl:label","value":"Finance Lease [Domain]","language":"en-US"},{"forObject":"csbr:FinanceLeaseDomain","labelType":"xbrl:documentation","value":"Finance Lease [Domain]","language":"en-US"},{"forObject":"csbr:FinanceLeaseMonthlyPayment","labelType":"xbrl:terseLabel","value":"Finance leases monthly payments","language":"en-US"},{"forObject":"csbr:FinanceLeaseMonthlyPayment","labelType":"xbrl:label","value":"Finance Lease, Monthly Payment","language":"en-US"},{"forObject":"csbr:FinanceLeaseMonthlyPayment","labelType":"xbrl:documentation","value":"Finance Lease, Monthly Payment","language":"en-US"},{"forObject":"csbr:FinanceLeasedAssetsMember","labelType":"xbrl:terseLabel","value":"Finance Leased Assets","language":"en-US"},{"forObject":"csbr:FinanceLeasedAssetsMember","labelType":"xbrl:label","value":"Finance Leased Assets [Member]","language":"en-US"},{"forObject":"csbr:FinanceLeasedAssetsMember","labelType":"xbrl:documentation","value":"Finance Leased Assets [Member]","language":"en-US"},{"forObject":"csbr:IncreaseDecreaseInOperatingLeaseRightOfUseAssets","labelType":"xbrl:terseLabel","value":"Operating lease right-of-use assets","language":"en-US"},{"forObject":"csbr:IncreaseDecreaseInOperatingLeaseRightOfUseAssets","labelType":"xbrl:label","value":"Increase (Decrease) In Operating Lease, Right Of Use Assets","language":"en-US"},{"forObject":"csbr:IncreaseDecreaseInOperatingLeaseRightOfUseAssets","labelType":"xbrl:documentation","value":"Increase (Decrease) In Operating Lease, Right Of Use Assets","language":"en-US"},{"forObject":"csbr:MilanItalyMember","labelType":"xbrl:terseLabel","value":"Milan Italy","language":"en-US"},{"forObject":"csbr:MilanItalyMember","labelType":"xbrl:label","value":"Milan Italy [Member]","language":"en-US"},{"forObject":"csbr:MilanItalyMember","labelType":"xbrl:documentation","value":"Milan Italy","language":"en-US"},{"forObject":"csbr:NonEmployeesMember","labelType":"xbrl:verboseLabel","value":"Non- Employees","language":"en-US"},{"forObject":"csbr:NonEmployeesMember","labelType":"xbrl:label","value":"Non Employees [Member]","language":"en-US"},{"forObject":"csbr:NumberofOperatingSubsidiaries","labelType":"xbrl:terseLabel","value":"Number of operating subsidiaries","language":"en-US"},{"forObject":"csbr:NumberofOperatingSubsidiaries","labelType":"xbrl:label","value":"Number of Operating Subsidiaries","language":"en-US"},{"forObject":"csbr:NumberofOperatingSubsidiaries","labelType":"xbrl:documentation","value":"Number of Operating Subsidiaries","language":"en-US"},{"forObject":"csbr:OneCustomerMember","labelType":"xbrl:terseLabel","value":"One Customer","language":"en-US"},{"forObject":"csbr:OneCustomerMember","labelType":"xbrl:label","value":"One Customer [Member]","language":"en-US"},{"forObject":"csbr:OneCustomerMember","labelType":"xbrl:documentation","value":"One Customer","language":"en-US"},{"forObject":"csbr:OperatingLeaseIncrementalRentExpense","labelType":"xbrl:terseLabel","value":"Operating lease incremental rent expense","language":"en-US"},{"forObject":"csbr:OperatingLeaseIncrementalRentExpense","labelType":"xbrl:label","value":"Operating Lease Incremental Rent Expense","language":"en-US"},{"forObject":"csbr:OperatingLeaseIncrementalRentExpense","labelType":"xbrl:documentation","value":"Operating Lease Incremental Rent Expense","language":"en-US"},{"forObject":"csbr:OperatingLossCarryforwardsLimitationsOnUseAmount","labelType":"xbrl:terseLabel","value":"Operating loss, limitations on use","language":"en-US"},{"forObject":"csbr:OperatingLossCarryforwardsLimitationsOnUseAmount","labelType":"xbrl:label","value":"Operating Loss Carryforwards, Limitations On Use, Amount","language":"en-US"},{"forObject":"csbr:OperatingLossCarryforwardsLimitationsOnUseAmount","labelType":"xbrl:documentation","value":"Operating Loss Carryforwards, Limitations On Use, Amount","language":"en-US"},{"forObject":"csbr:OtherNoncurrentLiabilitiesPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Other Non-Current Liabilities","language":"en-US"},{"forObject":"csbr:OtherNoncurrentLiabilitiesPolicyTextBlock","labelType":"xbrl:label","value":"Other Non-current Liabilities [Policy Text Block]","language":"en-US"},{"forObject":"csbr:OtherNoncurrentLiabilitiesPolicyTextBlock","labelType":"xbrl:documentation","value":"Other Non-current Liabilities [Policy Text Block]","language":"en-US"},{"forObject":"csbr:OtherServicesMember","labelType":"xbrl:terseLabel","value":"Other TOS revenue","language":"en-US"},{"forObject":"csbr:OtherServicesMember","labelType":"xbrl:label","value":"Other Services [Member]","language":"en-US"},{"forObject":"csbr:OtherServicesMember","labelType":"xbrl:documentation","value":"Other Services [Member]","language":"en-US"},{"forObject":"csbr:PersonalizedOncologyServicesMember","labelType":"xbrl:terseLabel","value":"Personalized oncology services","language":"en-US"},{"forObject":"csbr:PersonalizedOncologyServicesMember","labelType":"xbrl:label","value":"Personalized Oncology Services [Member]","language":"en-US"},{"forObject":"csbr:PersonalizedOncologyServicesMember","labelType":"xbrl:documentation","value":"Personalized Oncology Services [Member]","language":"en-US"},{"forObject":"csbr:PharmacologyServicesMember","labelType":"xbrl:terseLabel","value":"Pharmacology services","language":"en-US"},{"forObject":"csbr:PharmacologyServicesMember","labelType":"xbrl:label","value":"Pharmacology Services [Member]","language":"en-US"},{"forObject":"csbr:PharmacologyServicesMember","labelType":"xbrl:documentation","value":"Pharmacology Services [Member]","language":"en-US"},{"forObject":"csbr:PresentValueMinimumFutureObligationsInterestRate","labelType":"xbrl:terseLabel","value":"Present value of minimum future obligations interest rate","language":"en-US"},{"forObject":"csbr:PresentValueMinimumFutureObligationsInterestRate","labelType":"xbrl:label","value":"Present Value Minimum Future Obligations Interest Rate","language":"en-US"},{"forObject":"csbr:PresentValueMinimumFutureObligationsInterestRate","labelType":"xbrl:documentation","value":"Present Value Minimum Future Obligations Interest Rate","language":"en-US"},{"forObject":"csbr:ProceedsFromExerciseOfOptionsAndWarrants","labelType":"xbrl:terseLabel","value":"Proceeds from exercise of options and warrants","language":"en-US"},{"forObject":"csbr:ProceedsFromExerciseOfOptionsAndWarrants","labelType":"xbrl:label","value":"Proceeds From Exercise Of Options And Warrants","language":"en-US"},{"forObject":"csbr:ProceedsFromExerciseOfOptionsAndWarrants","labelType":"xbrl:documentation","value":"The cash inflow associated with the amount received from holders exercising their stock options and warrants.","language":"en-US"},{"forObject":"csbr:ProceedsFromRefundOfSecurityDeposit","labelType":"xbrl:terseLabel","value":"Refund of security deposit","language":"en-US"},{"forObject":"csbr:ProceedsFromRefundOfSecurityDeposit","labelType":"xbrl:label","value":"Proceeds From Refund Of Security Deposit","language":"en-US"},{"forObject":"csbr:ProceedsFromRefundOfSecurityDeposit","labelType":"xbrl:documentation","value":"Proceeds From Refund Of Security Deposit","language":"en-US"},{"forObject":"csbr:RockvilleMDMember","labelType":"xbrl:terseLabel","value":"Rockville, MD","language":"en-US"},{"forObject":"csbr:RockvilleMDMember","labelType":"xbrl:label","value":"Rockville, MD [Member]","language":"en-US"},{"forObject":"csbr:RockvilleMDMember","labelType":"xbrl:documentation","value":"Rockville, MD [Member]","language":"en-US"},{"forObject":"csbr:RockvilleMDNewLocationMember","labelType":"xbrl:terseLabel","value":"Rockville, MD New Location","language":"en-US"},{"forObject":"csbr:RockvilleMDNewLocationMember","labelType":"xbrl:label","value":"Rockville, MD New Location [Member]","language":"en-US"},{"forObject":"csbr:RockvilleMDNewLocationMember","labelType":"xbrl:documentation","value":"Rockville, MD New Location [Member]","language":"en-US"},{"forObject":"csbr:SalesAndMarketingExpensePolicyPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Sales and Marketing","language":"en-US"},{"forObject":"csbr:SalesAndMarketingExpensePolicyPolicyTextBlock","labelType":"xbrl:label","value":"Sales And Marketing Expense, Policy [Policy Text Block]","language":"en-US"},{"forObject":"csbr:SalesAndMarketingExpensePolicyPolicyTextBlock","labelType":"xbrl:documentation","value":"Sales And Marketing Expense, Policy","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOptionsAggregateIntrinsicValueGranted","labelType":"xbrl:terseLabel","value":"Aggregate Intrinsic Value, Granted","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOptionsAggregateIntrinsicValueGranted","labelType":"xbrl:label","value":"Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Options Aggregate Intrinsic Value Granted","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOptionsAggregateIntrinsicValueGranted","labelType":"xbrl:documentation","value":"Intrinsic value of equity-based compensation awards granted.","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOptionsGrantInPeriodWeightedAverageRemainingContractualTerm","labelType":"xbrl:verboseLabel","value":"Weighted Average Remaining Contractual Term, Outstanding, Ending Balance (in years)","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOptionsGrantInPeriodWeightedAverageRemainingContractualTerm","labelType":"xbrl:label","value":"Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Options Grant in Period Weighted Average Remaining Contractual Term","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOptionsGrantInPeriodWeightedAverageRemainingContractualTerm","labelType":"xbrl:documentation","value":"Weighted average remaining contractual term for option awards granted, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCanceledInPeriod","labelType":"xbrl:negatedLabel","value":"Canceled (in shares)","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCanceledInPeriod","labelType":"xbrl:label","value":"Share Based Compensation Arrangement By Share Based Payment Award Options Canceled In Period","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCanceledInPeriod","labelType":"xbrl:documentation","value":"The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan.","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm","labelType":"xbrl:terseLabel","value":"Weighted Average Remaining Contractual Life, Granted","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm","labelType":"xbrl:label","value":"Share Based Compensation Arrangement By Share Based Payment Award Options Granted Weighted Average Remaining Contractual Term","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm","labelType":"xbrl:documentation","value":"Weighted average remaining contractual term for option awards granted, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedPercentage","labelType":"xbrl:terseLabel","value":"Vested percent","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedPercentage","labelType":"xbrl:label","value":"Share Based Compensation Arrangement by Share Based Payment Award Options Vested Percentage","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedPercentage","labelType":"xbrl:documentation","value":"Percentage of stock vested for share based compensation arrangement by share based payment award options during the period.","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsCanceledInPeriodWeightedAverageExercisePrice","labelType":"xbrl:verboseLabel","value":"Weighted Average Exercise Price, Canceled (in usd per share)","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsCanceledInPeriodWeightedAverageExercisePrice","labelType":"xbrl:label","value":"Share Based Compensation Arrangements By Share Based Payment Award Options Canceled In Period Weighted Average Exercise Price","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsCanceledInPeriodWeightedAverageExercisePrice","labelType":"xbrl:documentation","value":"Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated.","language":"en-US"},{"forObject":"csbr:SharebasedCompensationArrangementbySharebasedPaymentAwardTermofOptiontoPurchase","labelType":"xbrl:terseLabel","value":"Term of option to purchase","language":"en-US"},{"forObject":"csbr:SharebasedCompensationArrangementbySharebasedPaymentAwardTermofOptiontoPurchase","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Term of Option to Purchase","language":"en-US"},{"forObject":"csbr:SharebasedCompensationArrangementbySharebasedPaymentAwardTermofOptiontoPurchase","labelType":"xbrl:documentation","value":"Share-based Compensation Arrangement by Share-based Payment Award, Term of Option to Purchase","language":"en-US"},{"forObject":"csbr:StockOptionsAwardSharesToPurchaseCommonStock","labelType":"xbrl:terseLabel","value":"Stock options award shares to purchase common stock (in shares)","language":"en-US"},{"forObject":"csbr:StockOptionsAwardSharesToPurchaseCommonStock","labelType":"xbrl:label","value":"Stock options award Shares to purchase common Stock","language":"en-US"},{"forObject":"csbr:StockOptionsAwardSharesToPurchaseCommonStock","labelType":"xbrl:documentation","value":"Number of shares to purchase common stock option awards during the reporting period.","language":"en-US"},{"forObject":"csbr:StockOptionsAwardSharesToPurchaseUnregisteredCommonStock","labelType":"xbrl:terseLabel","value":"Stock option award shares to purchase unregistered common stock (in shares)","language":"en-US"},{"forObject":"csbr:StockOptionsAwardSharesToPurchaseUnregisteredCommonStock","labelType":"xbrl:label","value":"Stock Options Award Shares To Purchase Unregistered Common Stock","language":"en-US"},{"forObject":"csbr:StockOptionsAwardSharesToPurchaseUnregisteredCommonStock","labelType":"xbrl:documentation","value":"Number of shares to purchase of unregistered common stock option awards during the reporting period.","language":"en-US"},{"forObject":"csbr:TradeAccountsReceivable","labelType":"xbrl:terseLabel","value":"Accounts receivable","language":"en-US"},{"forObject":"csbr:TradeAccountsReceivable","labelType":"xbrl:label","value":"Trade Accounts Receivable","language":"en-US"},{"forObject":"csbr:TradeAccountsReceivable","labelType":"xbrl:documentation","value":"Trade Accounts Receivable","language":"en-US"},{"forObject":"csbr:TranslationalOncologySolutionsCostOfSalesMember","labelType":"xbrl:verboseLabel","value":"TOS cost of sales","language":"en-US"},{"forObject":"csbr:TranslationalOncologySolutionsCostOfSalesMember","labelType":"xbrl:label","value":"Translational Oncology Solutions Cost Of Sales [Member]","language":"en-US"},{"forObject":"csbr:TwoThousandEightEquityIncentivePlanMember","labelType":"xbrl:terseLabel","value":"2008 Equity Incentive Plan","language":"en-US"},{"forObject":"csbr:TwoThousandEightEquityIncentivePlanMember","labelType":"xbrl:label","value":"Two Thousand Eight Equity Incentive Plan [Member]","language":"en-US"},{"forObject":"csbr:TwoThousandEightEquityIncentivePlanMember","labelType":"xbrl:documentation","value":"Two Thousand Eight Equity Incentive Plan [Member]","language":"en-US"},{"forObject":"csbr:WorkingCapital","labelType":"xbrl:terseLabel","value":"Working capital","language":"en-US"},{"forObject":"csbr:WorkingCapital","labelType":"xbrl:label","value":"Working Capital","language":"en-US"},{"forObject":"csbr:WorkingCapital","labelType":"xbrl:documentation","value":"Working Capital","language":"en-US"},{"forObject":"dei:AmendmentFlag","labelType":"xbrl:terseLabel","value":"Amendment Flag","language":"en-US"},{"forObject":"dei:AmendmentFlag","labelType":"xbrl:label","value":"Amendment Flag","language":"en-US"},{"forObject":"dei:AuditorFirmId","labelType":"xbrl:terseLabel","value":"Auditor Firm ID","language":"en-US"},{"forObject":"dei:AuditorFirmId","labelType":"xbrl:label","value":"Auditor Firm ID","language":"en-US"},{"forObject":"dei:AuditorLocation","labelType":"xbrl:terseLabel","value":"Auditor Location","language":"en-US"},{"forObject":"dei:AuditorLocation","labelType":"xbrl:label","value":"Auditor Location","language":"en-US"},{"forObject":"dei:AuditorName","labelType":"xbrl:terseLabel","value":"Auditor Name","language":"en-US"},{"forObject":"dei:AuditorName","labelType":"xbrl:label","value":"Auditor Name","language":"en-US"},{"forObject":"dei:CityAreaCode","labelType":"xbrl:terseLabel","value":"City Area Code","language":"en-US"},{"forObject":"dei:CityAreaCode","labelType":"xbrl:label","value":"City Area Code","language":"en-US"},{"forObject":"dei:CoverAbstract","labelType":"xbrl:label","value":"Cover [Abstract]","language":"en-US"},{"forObject":"dei:CurrentFiscalYearEndDate","labelType":"xbrl:terseLabel","value":"Current Fiscal Year End Date","language":"en-US"},{"forObject":"dei:CurrentFiscalYearEndDate","labelType":"xbrl:label","value":"Current Fiscal Year End Date","language":"en-US"},{"forObject":"dei:DocumentAnnualReport","labelType":"xbrl:terseLabel","value":"Document Annual Report","language":"en-US"},{"forObject":"dei:DocumentAnnualReport","labelType":"xbrl:label","value":"Document Annual Report","language":"en-US"},{"forObject":"dei:DocumentFiscalPeriodFocus","labelType":"xbrl:terseLabel","value":"Document Fiscal Period Focus","language":"en-US"},{"forObject":"dei:DocumentFiscalPeriodFocus","labelType":"xbrl:label","value":"Document Fiscal Period Focus","language":"en-US"},{"forObject":"dei:DocumentFiscalYearFocus","labelType":"xbrl:terseLabel","value":"Document Fiscal Year Focus","language":"en-US"},{"forObject":"dei:DocumentFiscalYearFocus","labelType":"xbrl:label","value":"Document Fiscal Year Focus","language":"en-US"},{"forObject":"dei:DocumentPeriodEndDate","labelType":"xbrl:terseLabel","value":"Document Period End Date","language":"en-US"},{"forObject":"dei:DocumentPeriodEndDate","labelType":"xbrl:label","value":"Document Period End Date","language":"en-US"},{"forObject":"dei:DocumentTransitionReport","labelType":"xbrl:terseLabel","value":"Document Transition Report","language":"en-US"},{"forObject":"dei:DocumentTransitionReport","labelType":"xbrl:label","value":"Document Transition Report","language":"en-US"},{"forObject":"dei:DocumentType","labelType":"xbrl:terseLabel","value":"Document Type","language":"en-US"},{"forObject":"dei:DocumentType","labelType":"xbrl:label","value":"Document Type","language":"en-US"},{"forObject":"dei:DocumentsIncorporatedByReferenceTextBlock","labelType":"xbrl:terseLabel","value":"Documents Incorporated by Reference","language":"en-US"},{"forObject":"dei:DocumentsIncorporatedByReferenceTextBlock","labelType":"xbrl:label","value":"Documents Incorporated by Reference [Text Block]","language":"en-US"},{"forObject":"dei:EntityAddressAddressLine1","labelType":"xbrl:terseLabel","value":"Entity Address, Address Line One","language":"en-US"},{"forObject":"dei:EntityAddressAddressLine1","labelType":"xbrl:label","value":"Entity Address, Address Line One","language":"en-US"},{"forObject":"dei:EntityAddressCityOrTown","labelType":"xbrl:terseLabel","value":"Entity Address, City or Town","language":"en-US"},{"forObject":"dei:EntityAddressCityOrTown","labelType":"xbrl:label","value":"Entity Address, City or Town","language":"en-US"},{"forObject":"dei:EntityAddressPostalZipCode","labelType":"xbrl:terseLabel","value":"Entity Address, Postal Zip Code","language":"en-US"},{"forObject":"dei:EntityAddressPostalZipCode","labelType":"xbrl:label","value":"Entity Address, Postal Zip Code","language":"en-US"},{"forObject":"dei:EntityAddressStateOrProvince","labelType":"xbrl:terseLabel","value":"Entity Address, State or Province","language":"en-US"},{"forObject":"dei:EntityAddressStateOrProvince","labelType":"xbrl:label","value":"Entity Address, State or Province","language":"en-US"},{"forObject":"dei:EntityCentralIndexKey","labelType":"xbrl:terseLabel","value":"Entity Central Index Key","language":"en-US"},{"forObject":"dei:EntityCentralIndexKey","labelType":"xbrl:label","value":"Entity Central Index Key","language":"en-US"},{"forObject":"dei:EntityCommonStockSharesOutstanding","labelType":"xbrl:terseLabel","value":"Entity Common Stock, Shares Outstanding (shares)","language":"en-US"},{"forObject":"dei:EntityCommonStockSharesOutstanding","labelType":"xbrl:label","value":"Entity Common Stock, Shares Outstanding","language":"en-US"},{"forObject":"dei:EntityCurrentReportingStatus","labelType":"xbrl:terseLabel","value":"Entity Current Reporting Status","language":"en-US"},{"forObject":"dei:EntityCurrentReportingStatus","labelType":"xbrl:label","value":"Entity Current Reporting Status","language":"en-US"},{"forObject":"dei:EntityEmergingGrowthCompany","labelType":"xbrl:terseLabel","value":"Entity Emerging Growth Company","language":"en-US"},{"forObject":"dei:EntityEmergingGrowthCompany","labelType":"xbrl:label","value":"Entity Emerging Growth Company","language":"en-US"},{"forObject":"dei:EntityFileNumber","labelType":"xbrl:terseLabel","value":"Entity File Number","language":"en-US"},{"forObject":"dei:EntityFileNumber","labelType":"xbrl:label","value":"Entity File Number","language":"en-US"},{"forObject":"dei:EntityFilerCategory","labelType":"xbrl:terseLabel","value":"Entity Filer Category","language":"en-US"},{"forObject":"dei:EntityFilerCategory","labelType":"xbrl:label","value":"Entity Filer Category","language":"en-US"},{"forObject":"dei:EntityIncorporationStateCountryCode","labelType":"xbrl:terseLabel","value":"Entity Incorporation, State or Country Code","language":"en-US"},{"forObject":"dei:EntityIncorporationStateCountryCode","labelType":"xbrl:label","value":"Entity Incorporation, State or Country Code","language":"en-US"},{"forObject":"dei:EntityInteractiveDataCurrent","labelType":"xbrl:terseLabel","value":"Entity Interactive Data Current","language":"en-US"},{"forObject":"dei:EntityInteractiveDataCurrent","labelType":"xbrl:label","value":"Entity Interactive Data Current","language":"en-US"},{"forObject":"dei:EntityPublicFloat","labelType":"xbrl:terseLabel","value":"Entity Public Float","language":"en-US"},{"forObject":"dei:EntityPublicFloat","labelType":"xbrl:label","value":"Entity Public Float","language":"en-US"},{"forObject":"dei:EntityRegistrantName","labelType":"xbrl:terseLabel","value":"Entity Registrant Name","language":"en-US"},{"forObject":"dei:EntityRegistrantName","labelType":"xbrl:label","value":"Entity Registrant Name","language":"en-US"},{"forObject":"dei:EntityShellCompany","labelType":"xbrl:terseLabel","value":"Entity Shell Company","language":"en-US"},{"forObject":"dei:EntityShellCompany","labelType":"xbrl:label","value":"Entity Shell Company","language":"en-US"},{"forObject":"dei:EntitySmallBusiness","labelType":"xbrl:terseLabel","value":"Entity Small Business","language":"en-US"},{"forObject":"dei:EntitySmallBusiness","labelType":"xbrl:label","value":"Entity Small Business","language":"en-US"},{"forObject":"dei:EntityTaxIdentificationNumber","labelType":"xbrl:terseLabel","value":"Entity Tax Identification Number","language":"en-US"},{"forObject":"dei:EntityTaxIdentificationNumber","labelType":"xbrl:label","value":"Entity Tax Identification Number","language":"en-US"},{"forObject":"dei:EntityVoluntaryFilers","labelType":"xbrl:terseLabel","value":"Entity Voluntary Filers","language":"en-US"},{"forObject":"dei:EntityVoluntaryFilers","labelType":"xbrl:label","value":"Entity Voluntary Filers","language":"en-US"},{"forObject":"dei:EntityWellKnownSeasonedIssuer","labelType":"xbrl:terseLabel","value":"Entity Well-known Seasoned Issuer","language":"en-US"},{"forObject":"dei:EntityWellKnownSeasonedIssuer","labelType":"xbrl:label","value":"Entity Well-known Seasoned Issuer","language":"en-US"},{"forObject":"dei:IcfrAuditorAttestationFlag","labelType":"xbrl:terseLabel","value":"ICFR Auditor Attestation Flag","language":"en-US"},{"forObject":"dei:IcfrAuditorAttestationFlag","labelType":"xbrl:label","value":"ICFR Auditor Attestation Flag","language":"en-US"},{"forObject":"dei:LocalPhoneNumber","labelType":"xbrl:terseLabel","value":"Local Phone Number","language":"en-US"},{"forObject":"dei:LocalPhoneNumber","labelType":"xbrl:label","value":"Local Phone Number","language":"en-US"},{"forObject":"dei:Security12bTitle","labelType":"xbrl:terseLabel","value":"Title of 12(b) Security","language":"en-US"},{"forObject":"dei:Security12bTitle","labelType":"xbrl:label","value":"Title of 12(b) Security","language":"en-US"},{"forObject":"dei:SecurityExchangeName","labelType":"xbrl:terseLabel","value":"Security Exchange Name","language":"en-US"},{"forObject":"dei:SecurityExchangeName","labelType":"xbrl:label","value":"Security Exchange Name","language":"en-US"},{"forObject":"dei:TradingSymbol","labelType":"xbrl:terseLabel","value":"Trading Symbol","language":"en-US"},{"forObject":"dei:TradingSymbol","labelType":"xbrl:label","value":"Trading Symbol","language":"en-US"},{"forObject":"srt:BoardOfDirectorsChairmanMember","labelType":"xbrl:terseLabel","value":"Board of Directors Chairman","language":"en-US"},{"forObject":"srt:BoardOfDirectorsChairmanMember","labelType":"xbrl:verboseLabel","value":"Board of Directors","language":"en-US"},{"forObject":"srt:BoardOfDirectorsChairmanMember","labelType":"xbrl:label","value":"Board of Directors Chairman [Member]","language":"en-US"},{"forObject":"srt:CounterpartyNameAxis","labelType":"xbrl:terseLabel","value":"Counterparty Name [Axis]","language":"en-US"},{"forObject":"srt:CounterpartyNameAxis","labelType":"xbrl:label","value":"Counterparty Name [Axis]","language":"en-US"},{"forObject":"srt:MajorCustomersAxis","labelType":"xbrl:terseLabel","value":"Customer [Axis]","language":"en-US"},{"forObject":"srt:MajorCustomersAxis","labelType":"xbrl:label","value":"Customer [Axis]","language":"en-US"},{"forObject":"srt:MaximumMember","labelType":"xbrl:terseLabel","value":"Maximum","language":"en-US"},{"forObject":"srt:MaximumMember","labelType":"xbrl:label","value":"Maximum [Member]","language":"en-US"},{"forObject":"srt:MinimumMember","labelType":"xbrl:terseLabel","value":"Minimum","language":"en-US"},{"forObject":"srt:MinimumMember","labelType":"xbrl:label","value":"Minimum [Member]","language":"en-US"},{"forObject":"srt:NameOfMajorCustomerDomain","labelType":"xbrl:terseLabel","value":"Customer [Domain]","language":"en-US"},{"forObject":"srt:NameOfMajorCustomerDomain","labelType":"xbrl:label","value":"Customer [Domain]","language":"en-US"},{"forObject":"srt:ProductOrServiceAxis","labelType":"xbrl:terseLabel","value":"Product and Service [Axis]","language":"en-US"},{"forObject":"srt:ProductOrServiceAxis","labelType":"xbrl:label","value":"Product and Service [Axis]","language":"en-US"},{"forObject":"srt:ProductsAndServicesDomain","labelType":"xbrl:terseLabel","value":"Product and Service [Domain]","language":"en-US"},{"forObject":"srt:ProductsAndServicesDomain","labelType":"xbrl:label","value":"Product and Service [Domain]","language":"en-US"},{"forObject":"srt:RangeAxis","labelType":"xbrl:terseLabel","value":"Statistical Measurement [Axis]","language":"en-US"},{"forObject":"srt:RangeAxis","labelType":"xbrl:label","value":"Statistical Measurement [Axis]","language":"en-US"},{"forObject":"srt:RangeMember","labelType":"xbrl:terseLabel","value":"Statistical Measurement [Domain]","language":"en-US"},{"forObject":"srt:RangeMember","labelType":"xbrl:label","value":"Statistical Measurement [Domain]","language":"en-US"},{"forObject":"srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis","labelType":"xbrl:terseLabel","value":"Name of Property [Axis]","language":"en-US"},{"forObject":"srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis","labelType":"xbrl:label","value":"Name of Property [Axis]","language":"en-US"},{"forObject":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","labelType":"xbrl:terseLabel","value":"Name of Property [Domain]","language":"en-US"},{"forObject":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","labelType":"xbrl:label","value":"Name of Property [Domain]","language":"en-US"},{"forObject":"srt:RepurchaseAgreementCounterpartyNameDomain","labelType":"xbrl:terseLabel","value":"Counterparty Name [Domain]","language":"en-US"},{"forObject":"srt:RepurchaseAgreementCounterpartyNameDomain","labelType":"xbrl:label","value":"Counterparty Name [Domain]","language":"en-US"},{"forObject":"srt:TitleOfIndividualAxis","labelType":"xbrl:terseLabel","value":"Title of Individual [Axis]","language":"en-US"},{"forObject":"srt:TitleOfIndividualAxis","labelType":"xbrl:label","value":"Title of Individual [Axis]","language":"en-US"},{"forObject":"srt:TitleOfIndividualWithRelationshipToEntityDomain","labelType":"xbrl:terseLabel","value":"Title of Individual [Domain]","language":"en-US"},{"forObject":"srt:TitleOfIndividualWithRelationshipToEntityDomain","labelType":"xbrl:label","value":"Title of Individual [Domain]","language":"en-US"},{"forObject":"us-gaap:AccountingPoliciesAbstract","labelType":"xbrl:terseLabel","value":"Accounting Policies [Abstract]","language":"en-US"},{"forObject":"us-gaap:AccountingPoliciesAbstract","labelType":"xbrl:label","value":"Accounting Policies [Abstract]","language":"en-US"},{"forObject":"us-gaap:AccountsPayableCurrent","labelType":"xbrl:verboseLabel","value":"Accounts payable","language":"en-US"},{"forObject":"us-gaap:AccountsPayableCurrent","labelType":"xbrl:label","value":"Accounts Payable, Current","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableGross","labelType":"xbrl:totalLabel","value":"Total accounts receivable and unbilled services","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableGross","labelType":"xbrl:label","value":"Accounts Receivable, before Allowance for Credit Loss","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableMember","labelType":"xbrl:terseLabel","value":"Accounts Receivable","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableMember","labelType":"xbrl:label","value":"Accounts Receivable [Member]","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableNetCurrent","labelType":"xbrl:verboseLabel","value":"Accounts receivable, net","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableNetCurrent","labelType":"xbrl:totalLabel","value":"Total accounts receivable, net","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableNetCurrent","labelType":"xbrl:label","value":"Accounts Receivable, after Allowance for Credit Loss, Current","language":"en-US"},{"forObject":"us-gaap:AccruedLiabilitiesCurrent","labelType":"xbrl:verboseLabel","value":"Accrued liabilities","language":"en-US"},{"forObject":"us-gaap:AccruedLiabilitiesCurrent","labelType":"xbrl:label","value":"Accrued Liabilities, Current","language":"en-US"},{"forObject":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment","labelType":"xbrl:negatedLabel","value":"Less: Accumulated depreciation and amortization","language":"en-US"},{"forObject":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment","labelType":"xbrl:label","value":"Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment","language":"en-US"},{"forObject":"us-gaap:AdditionalPaidInCapitalCommonStock","labelType":"xbrl:verboseLabel","value":"Additional paid-in capital","language":"en-US"},{"forObject":"us-gaap:AdditionalPaidInCapitalCommonStock","labelType":"xbrl:label","value":"Additional Paid in Capital, Common Stock","language":"en-US"},{"forObject":"us-gaap:AdditionalPaidInCapitalMember","labelType":"xbrl:terseLabel","value":"Additional Paid-in Capital","language":"en-US"},{"forObject":"us-gaap:AdditionalPaidInCapitalMember","labelType":"xbrl:label","value":"Additional Paid-in Capital [Member]","language":"en-US"},{"forObject":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","labelType":"xbrl:verboseLabel","value":"Stock-based compensation expense","language":"en-US"},{"forObject":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","labelType":"xbrl:label","value":"APIC, Share-Based Payment Arrangement, Increase for Cost Recognition","language":"en-US"},{"forObject":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","labelType":"xbrl:verboseLabel","value":"Adjustments to reconcile net income to net cash provided by\u00a0(used in) operating activities:","language":"en-US"},{"forObject":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","labelType":"xbrl:label","value":"Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]","language":"en-US"},{"forObject":"us-gaap:AllocatedShareBasedCompensationExpense","labelType":"xbrl:terseLabel","value":"Stock-based compensation expense","language":"en-US"},{"forObject":"us-gaap:AllocatedShareBasedCompensationExpense","labelType":"xbrl:label","value":"Share-Based Payment Arrangement, Expense","language":"en-US"},{"forObject":"us-gaap:AllowanceForDoubtfulAccountsReceivable","labelType":"xbrl:negatedTerseLabel","value":"Less: allowance for doubtful accounts","language":"en-US"},{"forObject":"us-gaap:AllowanceForDoubtfulAccountsReceivable","labelType":"xbrl:label","value":"Accounts Receivable, Allowance for Credit Loss","language":"en-US"},{"forObject":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount","labelType":"xbrl:terseLabel","value":"Total common stock equivalents","language":"en-US"},{"forObject":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount","labelType":"xbrl:label","value":"Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount","language":"en-US"},{"forObject":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis","labelType":"xbrl:terseLabel","value":"Antidilutive Securities [Axis]","language":"en-US"},{"forObject":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis","labelType":"xbrl:label","value":"Antidilutive Securities [Axis]","language":"en-US"},{"forObject":"us-gaap:AntidilutiveSecuritiesNameDomain","labelType":"xbrl:terseLabel","value":"Antidilutive Securities, Name [Domain]","language":"en-US"},{"forObject":"us-gaap:AntidilutiveSecuritiesNameDomain","labelType":"xbrl:label","value":"Antidilutive Securities, Name [Domain]","language":"en-US"},{"forObject":"us-gaap:AssetUnderConstructionMember","labelType":"xbrl:terseLabel","value":"Assets in progress","language":"en-US"},{"forObject":"us-gaap:AssetUnderConstructionMember","labelType":"xbrl:label","value":"Asset under Construction [Member]","language":"en-US"},{"forObject":"us-gaap:Assets","labelType":"xbrl:totalLabel","value":"Total assets","language":"en-US"},{"forObject":"us-gaap:Assets","labelType":"xbrl:label","value":"Assets","language":"en-US"},{"forObject":"us-gaap:AssetsAbstract","labelType":"xbrl:verboseLabel","value":"ASSETS","language":"en-US"},{"forObject":"us-gaap:AssetsAbstract","labelType":"xbrl:label","value":"Assets [Abstract]","language":"en-US"},{"forObject":"us-gaap:AssetsCurrent","labelType":"xbrl:totalLabel","value":"Total current assets","language":"en-US"},{"forObject":"us-gaap:AssetsCurrent","labelType":"xbrl:label","value":"Assets, Current","language":"en-US"},{"forObject":"us-gaap:AssetsCurrentAbstract","labelType":"xbrl:terseLabel","value":"Current assets:","language":"en-US"},{"forObject":"us-gaap:AssetsCurrentAbstract","labelType":"xbrl:label","value":"Assets, Current [Abstract]","language":"en-US"},{"forObject":"us-gaap:BasisOfAccountingPolicyPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Basis of Presentation","language":"en-US"},{"forObject":"us-gaap:BasisOfAccountingPolicyPolicyTextBlock","labelType":"xbrl:label","value":"Basis of Accounting, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:Cash","labelType":"xbrl:verboseLabel","value":"Cash","language":"en-US"},{"forObject":"us-gaap:Cash","labelType":"xbrl:terseLabel","value":"Cash","language":"en-US"},{"forObject":"us-gaap:Cash","labelType":"xbrl:label","value":"Cash","language":"en-US"},{"forObject":"us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy","labelType":"xbrl:terseLabel","value":"Cash and Cash Equivalents","language":"en-US"},{"forObject":"us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy","labelType":"xbrl:label","value":"Cash and Cash Equivalents, Restricted Cash and Cash Equivalents, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","labelType":"xbrl:periodStartLabel","value":"Cash, beginning of year","language":"en-US"},{"forObject":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","labelType":"xbrl:periodEndLabel","value":"Cash, end of year","language":"en-US"},{"forObject":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","labelType":"xbrl:label","value":"Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents","language":"en-US"},{"forObject":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","labelType":"xbrl:totalLabel","value":"Increase (decrease) in cash","language":"en-US"},{"forObject":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","labelType":"xbrl:label","value":"Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect","language":"en-US"},{"forObject":"us-gaap:CashEquivalentsAtCarryingValue","labelType":"xbrl:terseLabel","value":"Cash equivalents","language":"en-US"},{"forObject":"us-gaap:CashEquivalentsAtCarryingValue","labelType":"xbrl:label","value":"Cash Equivalents, at Carrying Value","language":"en-US"},{"forObject":"us-gaap:ClassOfStockLineItems","labelType":"xbrl:terseLabel","value":"Class of Stock [Line Items]","language":"en-US"},{"forObject":"us-gaap:ClassOfStockLineItems","labelType":"xbrl:label","value":"Class of Stock [Line Items]","language":"en-US"},{"forObject":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract","labelType":"xbrl:terseLabel","value":"Commitments and Contingencies Disclosure [Abstract]","language":"en-US"},{"forObject":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract","labelType":"xbrl:label","value":"Commitments and Contingencies Disclosure [Abstract]","language":"en-US"},{"forObject":"us-gaap:CommitmentsAndContingenciesDisclosureTextBlock","labelType":"xbrl:verboseLabel","value":"Commitments and Contingencies","language":"en-US"},{"forObject":"us-gaap:CommitmentsAndContingenciesDisclosureTextBlock","labelType":"xbrl:label","value":"Commitments and Contingencies Disclosure [Text Block]","language":"en-US"},{"forObject":"us-gaap:CommonStockMember","labelType":"xbrl:terseLabel","value":"Common Stock","language":"en-US"},{"forObject":"us-gaap:CommonStockMember","labelType":"xbrl:label","value":"Common Stock [Member]","language":"en-US"},{"forObject":"us-gaap:CommonStockParOrStatedValuePerShare","labelType":"xbrl:terseLabel","value":"Common stock, par value (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:CommonStockParOrStatedValuePerShare","labelType":"xbrl:label","value":"Common Stock, Par or Stated Value Per Share","language":"en-US"},{"forObject":"us-gaap:CommonStockSharesAuthorized","labelType":"xbrl:terseLabel","value":"Common stock, shares authorized (in shares)","language":"en-US"},{"forObject":"us-gaap:CommonStockSharesAuthorized","labelType":"xbrl:label","value":"Common Stock, Shares Authorized","language":"en-US"},{"forObject":"us-gaap:CommonStockSharesIssued","labelType":"xbrl:terseLabel","value":"Common stock, shares issued (in shares)","language":"en-US"},{"forObject":"us-gaap:CommonStockSharesIssued","labelType":"xbrl:label","value":"Common Stock, Shares, Issued","language":"en-US"},{"forObject":"us-gaap:CommonStockSharesOutstanding","labelType":"xbrl:terseLabel","value":"Common stock, shares outstanding (in shares)","language":"en-US"},{"forObject":"us-gaap:CommonStockSharesOutstanding","labelType":"xbrl:periodStartLabel","value":"Balance (in shares)","language":"en-US"},{"forObject":"us-gaap:CommonStockSharesOutstanding","labelType":"xbrl:periodEndLabel","value":"Balance (in shares)","language":"en-US"},{"forObject":"us-gaap:CommonStockSharesOutstanding","labelType":"xbrl:label","value":"Common Stock, Shares, Outstanding","language":"en-US"},{"forObject":"us-gaap:CommonStockValue","labelType":"xbrl:verboseLabel","value":"Common stock, $.001 par value; 200,000,000 shares authorized; 13,522,441 and 13,414,066 shares issued and outstanding at April 30, 2022 and 2021, respectively","language":"en-US"},{"forObject":"us-gaap:CommonStockValue","labelType":"xbrl:label","value":"Common Stock, Value, Issued","language":"en-US"},{"forObject":"us-gaap:ComputerEquipmentMember","labelType":"xbrl:terseLabel","value":"Computer equipment and software","language":"en-US"},{"forObject":"us-gaap:ComputerEquipmentMember","labelType":"xbrl:label","value":"Computer Equipment [Member]","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskBenchmarkDomain","labelType":"xbrl:terseLabel","value":"Concentration Risk Benchmark [Domain]","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskBenchmarkDomain","labelType":"xbrl:label","value":"Concentration Risk Benchmark [Domain]","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskByBenchmarkAxis","labelType":"xbrl:terseLabel","value":"Concentration Risk Benchmark [Axis]","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskByBenchmarkAxis","labelType":"xbrl:label","value":"Concentration Risk Benchmark [Axis]","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskByTypeAxis","labelType":"xbrl:terseLabel","value":"Concentration Risk Type [Axis]","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskByTypeAxis","labelType":"xbrl:label","value":"Concentration Risk Type [Axis]","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskDisclosureTextBlock","labelType":"xbrl:terseLabel","value":"Significant Customers","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskDisclosureTextBlock","labelType":"xbrl:label","value":"Concentration Risk Disclosure [Text Block]","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskPercentage1","labelType":"xbrl:terseLabel","value":"Concentration risk percentage","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskPercentage1","labelType":"xbrl:label","value":"Concentration Risk, Percentage","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskTypeDomain","labelType":"xbrl:terseLabel","value":"Concentration Risk Type [Domain]","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskTypeDomain","labelType":"xbrl:label","value":"Concentration Risk Type [Domain]","language":"en-US"},{"forObject":"us-gaap:ConsolidationPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Principles of Consolidation","language":"en-US"},{"forObject":"us-gaap:ConsolidationPolicyTextBlock","labelType":"xbrl:label","value":"Consolidation, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock","labelType":"xbrl:terseLabel","value":"Summary of advanced billings","language":"en-US"},{"forObject":"us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock","labelType":"xbrl:label","value":"Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ContractWithCustomerLiabilityCurrent","labelType":"xbrl:verboseLabel","value":"Deferred revenue","language":"en-US"},{"forObject":"us-gaap:ContractWithCustomerLiabilityCurrent","labelType":"xbrl:terseLabel","value":"Deferred revenue","language":"en-US"},{"forObject":"us-gaap:ContractWithCustomerLiabilityCurrent","labelType":"xbrl:label","value":"Contract with Customer, Liability, Current","language":"en-US"},{"forObject":"us-gaap:CostOfGoodsAndServicesSold","labelType":"xbrl:verboseLabel","value":"Cost of oncology services","language":"en-US"},{"forObject":"us-gaap:CostOfGoodsAndServicesSold","labelType":"xbrl:label","value":"Cost of Goods and Services Sold","language":"en-US"},{"forObject":"us-gaap:CostOfSalesPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Cost of Oncology Services","language":"en-US"},{"forObject":"us-gaap:CostOfSalesPolicyTextBlock","labelType":"xbrl:label","value":"Cost of Goods and Service [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:CurrentFederalTaxExpenseBenefit","labelType":"xbrl:terseLabel","value":"Current","language":"en-US"},{"forObject":"us-gaap:CurrentFederalTaxExpenseBenefit","labelType":"xbrl:label","value":"Current Federal Tax Expense (Benefit)","language":"en-US"},{"forObject":"us-gaap:CurrentForeignTaxExpenseBenefit","labelType":"xbrl:terseLabel","value":"Current","language":"en-US"},{"forObject":"us-gaap:CurrentForeignTaxExpenseBenefit","labelType":"xbrl:label","value":"Current Foreign Tax Expense (Benefit)","language":"en-US"},{"forObject":"us-gaap:CurrentIncomeTaxExpenseBenefit","labelType":"xbrl:totalLabel","value":"Current, total","language":"en-US"},{"forObject":"us-gaap:CurrentIncomeTaxExpenseBenefit","labelType":"xbrl:label","value":"Current Income Tax Expense (Benefit)","language":"en-US"},{"forObject":"us-gaap:CurrentStateAndLocalTaxExpenseBenefit","labelType":"xbrl:terseLabel","value":"Current","language":"en-US"},{"forObject":"us-gaap:CurrentStateAndLocalTaxExpenseBenefit","labelType":"xbrl:label","value":"Current State and Local Tax Expense (Benefit)","language":"en-US"},{"forObject":"us-gaap:CustomerConcentrationRiskMember","labelType":"xbrl:terseLabel","value":"Customer Concentration Risk","language":"en-US"},{"forObject":"us-gaap:CustomerConcentrationRiskMember","labelType":"xbrl:label","value":"Customer Concentration Risk [Member]","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsGross","labelType":"xbrl:totalLabel","value":"Total deferred tax assets","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsGross","labelType":"xbrl:label","value":"Deferred Tax Assets, Gross","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsLiabilitiesNet","labelType":"xbrl:totalLabel","value":"Net deferred tax asset","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsLiabilitiesNet","labelType":"xbrl:label","value":"Deferred Tax Assets, Net","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsOperatingLossCarryforwards","labelType":"xbrl:verboseLabel","value":"Net operating loss carry-forward","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsOperatingLossCarryforwards","labelType":"xbrl:label","value":"Deferred Tax Assets, Operating Loss Carryforwards","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost","labelType":"xbrl:verboseLabel","value":"Stock-based compensation expense","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost","labelType":"xbrl:label","value":"Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-Based Compensation Cost","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities","labelType":"xbrl:verboseLabel","value":"Accrued liabilities","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities","labelType":"xbrl:label","value":"Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Accrued Liabilities","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsValuationAllowance","labelType":"xbrl:negatedLabel","value":"Less: Valuation allowance","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsValuationAllowance","labelType":"xbrl:label","value":"Deferred Tax Assets, Valuation Allowance","language":"en-US"},{"forObject":"us-gaap:Depreciation","labelType":"xbrl:terseLabel","value":"Depreciation","language":"en-US"},{"forObject":"us-gaap:Depreciation","labelType":"xbrl:label","value":"Depreciation","language":"en-US"},{"forObject":"us-gaap:DepreciationAndAmortization","labelType":"xbrl:verboseLabel","value":"Depreciation and amortization expense","language":"en-US"},{"forObject":"us-gaap:DepreciationAndAmortization","labelType":"xbrl:label","value":"Depreciation, Depletion and Amortization, Nonproduction","language":"en-US"},{"forObject":"us-gaap:DepreciationDepletionAndAmortization","labelType":"xbrl:terseLabel","value":"Finance lease, depreciation and amortization expenses","language":"en-US"},{"forObject":"us-gaap:DepreciationDepletionAndAmortization","labelType":"xbrl:label","value":"Depreciation, Depletion and Amortization","language":"en-US"},{"forObject":"us-gaap:DisaggregationOfRevenueLineItems","labelType":"xbrl:terseLabel","value":"Disaggregation of Revenue [Line Items]","language":"en-US"},{"forObject":"us-gaap:DisaggregationOfRevenueLineItems","labelType":"xbrl:label","value":"Disaggregation of Revenue [Line Items]","language":"en-US"},{"forObject":"us-gaap:DisaggregationOfRevenueTable","labelType":"xbrl:terseLabel","value":"Disaggregation of Revenue [Table]","language":"en-US"},{"forObject":"us-gaap:DisaggregationOfRevenueTable","labelType":"xbrl:label","value":"Disaggregation of Revenue [Table]","language":"en-US"},{"forObject":"us-gaap:DisaggregationOfRevenueTableTextBlock","labelType":"xbrl:terseLabel","value":"Disaggregation of Revenue","language":"en-US"},{"forObject":"us-gaap:DisaggregationOfRevenueTableTextBlock","labelType":"xbrl:label","value":"Disaggregation of Revenue [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock","labelType":"xbrl:verboseLabel","value":"Stock-based Payments","language":"en-US"},{"forObject":"us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock","labelType":"xbrl:label","value":"Share-Based Payment Arrangement [Text Block]","language":"en-US"},{"forObject":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","labelType":"xbrl:terseLabel","value":"Share-based Payment Arrangement [Abstract]","language":"en-US"},{"forObject":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","labelType":"xbrl:label","value":"Share-Based Payment Arrangement [Abstract]","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareAbstract","labelType":"xbrl:terseLabel","value":"Earnings Per Share [Abstract]","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareAbstract","labelType":"xbrl:label","value":"Earnings Per Share [Abstract]","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareBasic","labelType":"xbrl:verboseLabel","value":"Net income per common share outstanding, basic (in usd per share)","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareBasic","labelType":"xbrl:netLabel","value":"Basic net income per share (in usd per share)","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareBasic","labelType":"xbrl:label","value":"Earnings Per Share, Basic","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareDiluted","labelType":"xbrl:verboseLabel","value":"Net income per common share outstanding, diluted (in usd per share)","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareDiluted","labelType":"xbrl:terseLabel","value":"Diluted net income per share (in usd per share)","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareDiluted","labelType":"xbrl:label","value":"Earnings Per Share, Diluted","language":"en-US"},{"forObject":"us-gaap:EarningsPerSharePolicyTextBlock","labelType":"xbrl:terseLabel","value":"Earnings Per Share","language":"en-US"},{"forObject":"us-gaap:EarningsPerSharePolicyTextBlock","labelType":"xbrl:label","value":"Earnings Per Share, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareTextBlock","labelType":"xbrl:terseLabel","value":"Earnings Per Share","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareTextBlock","labelType":"xbrl:label","value":"Earnings Per Share [Text Block]","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","labelType":"xbrl:totalLabel","value":"Income tax expense","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, Percent","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate","labelType":"xbrl:verboseLabel","value":"Federal income tax at statutory rate","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance","labelType":"xbrl:verboseLabel","value":"Change in valuation allowance","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential","labelType":"xbrl:terseLabel","value":"US vs. foreign tax rate difference","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes","labelType":"xbrl:verboseLabel","value":"State income tax, net of federal benefit","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent","language":"en-US"},{"forObject":"us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems","labelType":"xbrl:terseLabel","value":"Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]","language":"en-US"},{"forObject":"us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems","labelType":"xbrl:label","value":"Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]","language":"en-US"},{"forObject":"us-gaap:EmployeeStockOptionMember","labelType":"xbrl:terseLabel","value":"Stock options","language":"en-US"},{"forObject":"us-gaap:EmployeeStockOptionMember","labelType":"xbrl:label","value":"Share-Based Payment Arrangement, Option [Member]","language":"en-US"},{"forObject":"us-gaap:EntityWideRevenueMajorCustomerLineItems","labelType":"xbrl:terseLabel","value":"Revenue, Major Customer [Line Items]","language":"en-US"},{"forObject":"us-gaap:EntityWideRevenueMajorCustomerLineItems","labelType":"xbrl:label","value":"Revenue, Major Customer [Line Items]","language":"en-US"},{"forObject":"us-gaap:EquityComponentDomain","labelType":"xbrl:terseLabel","value":"Equity Component [Domain]","language":"en-US"},{"forObject":"us-gaap:EquityComponentDomain","labelType":"xbrl:label","value":"Equity Component [Domain]","language":"en-US"},{"forObject":"us-gaap:FairValueMeasurementPolicyPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Fair Value","language":"en-US"},{"forObject":"us-gaap:FairValueMeasurementPolicyPolicyTextBlock","labelType":"xbrl:label","value":"Fair Value Measurement, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations","labelType":"xbrl:totalLabel","value":"Total","language":"en-US"},{"forObject":"us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations","labelType":"xbrl:label","value":"Federal Income Tax Expense (Benefit), Continuing Operations","language":"en-US"},{"forObject":"us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperationsAbstract","labelType":"xbrl:terseLabel","value":"Federal","language":"en-US"},{"forObject":"us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperationsAbstract","labelType":"xbrl:label","value":"Federal Income Tax Expense (Benefit), Continuing Operations [Abstract]","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityCurrent","labelType":"xbrl:terseLabel","value":"Other current liabilities","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityCurrent","labelType":"xbrl:label","value":"Finance Lease, Liability, Current","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityPaymentsDue","labelType":"xbrl:terseLabel","value":"Finance lease, payment, due","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityPaymentsDue","labelType":"xbrl:label","value":"Finance Lease, Liability, to be Paid","language":"en-US"},{"forObject":"us-gaap:FinanceLeasePrincipalPayments","labelType":"xbrl:negatedLabel","value":"Finance lease payments","language":"en-US"},{"forObject":"us-gaap:FinanceLeasePrincipalPayments","labelType":"xbrl:label","value":"Finance Lease, Principal Payments","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseRightOfUseAsset","labelType":"xbrl:terseLabel","value":"Assets under finance lease","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseRightOfUseAsset","labelType":"xbrl:label","value":"Finance Lease, Right-of-Use Asset, after Accumulated Amortization","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","labelType":"xbrl:terseLabel","value":"Finance lease, depreciation and amortization expense","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","labelType":"xbrl:label","value":"Finance Lease, Right-of-Use Asset, Amortization","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList","labelType":"xbrl:terseLabel","value":"Finance Lease, Right-of-Use Asset, Statement of Financial Position [Extensible Enumeration]","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList","labelType":"xbrl:label","value":"Finance Lease, Right-of-Use Asset, Statement of Financial Position [Extensible Enumeration]","language":"en-US"},{"forObject":"us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Foreign Currency","language":"en-US"},{"forObject":"us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock","labelType":"xbrl:label","value":"Foreign Currency Transactions and Translations Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations","labelType":"xbrl:totalLabel","value":"Total","language":"en-US"},{"forObject":"us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations","labelType":"xbrl:label","value":"Foreign Income Tax Expense (Benefit), Continuing Operations","language":"en-US"},{"forObject":"us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperationsAbstract","labelType":"xbrl:terseLabel","value":"Foreign","language":"en-US"},{"forObject":"us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperationsAbstract","labelType":"xbrl:label","value":"Foreign Income Tax Expense (Benefit), Continuing Operations [Abstract]","language":"en-US"},{"forObject":"us-gaap:FurnitureAndFixturesMember","labelType":"xbrl:terseLabel","value":"Furniture and fixtures","language":"en-US"},{"forObject":"us-gaap:FurnitureAndFixturesMember","labelType":"xbrl:label","value":"Furniture and Fixtures [Member]","language":"en-US"},{"forObject":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","labelType":"xbrl:negatedTerseLabel","value":"Net gain on disposal of equipment","language":"en-US"},{"forObject":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","labelType":"xbrl:label","value":"Gain (Loss) on Disposition of Property Plant Equipment","language":"en-US"},{"forObject":"us-gaap:GainLossOnTerminationOfLease","labelType":"xbrl:negatedTerseLabel","value":"Gain on termination of operating lease","language":"en-US"},{"forObject":"us-gaap:GainLossOnTerminationOfLease","labelType":"xbrl:terseLabel","value":"Gain on termination of operating lease","language":"en-US"},{"forObject":"us-gaap:GainLossOnTerminationOfLease","labelType":"xbrl:label","value":"Gain (Loss) on Termination of Lease","language":"en-US"},{"forObject":"us-gaap:GeneralAndAdministrativeExpense","labelType":"xbrl:verboseLabel","value":"General and administrative","language":"en-US"},{"forObject":"us-gaap:GeneralAndAdministrativeExpense","labelType":"xbrl:label","value":"General and Administrative Expense","language":"en-US"},{"forObject":"us-gaap:GeneralAndAdministrativeExpenseMember","labelType":"xbrl:terseLabel","value":"General and administrative","language":"en-US"},{"forObject":"us-gaap:GeneralAndAdministrativeExpenseMember","labelType":"xbrl:label","value":"General and Administrative Expense [Member]","language":"en-US"},{"forObject":"us-gaap:Goodwill","labelType":"xbrl:verboseLabel","value":"Goodwill","language":"en-US"},{"forObject":"us-gaap:Goodwill","labelType":"xbrl:label","value":"Goodwill","language":"en-US"},{"forObject":"us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Goodwill","language":"en-US"},{"forObject":"us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock","labelType":"xbrl:label","value":"Goodwill and Intangible Assets, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:HostingArrangementServiceContractImplementationCostExpenseAmortization","labelType":"xbrl:terseLabel","value":"Hosting arrangement, amortization expense","language":"en-US"},{"forObject":"us-gaap:HostingArrangementServiceContractImplementationCostExpenseAmortization","labelType":"xbrl:label","value":"Hosting Arrangement, Service Contract, Implementation Cost, Expense, Amortization","language":"en-US"},{"forObject":"us-gaap:ImpairmentOfLongLivedAssetsHeldForUse","labelType":"xbrl:terseLabel","value":"Impairment of long-lived assets","language":"en-US"},{"forObject":"us-gaap:ImpairmentOfLongLivedAssetsHeldForUse","labelType":"xbrl:label","value":"Impairment, Long-Lived Asset, Held-for-Use","language":"en-US"},{"forObject":"us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Impairment of Long-Lived Assets","language":"en-US"},{"forObject":"us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock","labelType":"xbrl:label","value":"Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","labelType":"xbrl:totalLabel","value":"Income before income tax expense","language":"en-US"},{"forObject":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","labelType":"xbrl:label","value":"Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest","language":"en-US"},{"forObject":"us-gaap:IncomeStatementAbstract","labelType":"xbrl:terseLabel","value":"Income Statement [Abstract]","language":"en-US"},{"forObject":"us-gaap:IncomeStatementAbstract","labelType":"xbrl:label","value":"Income Statement [Abstract]","language":"en-US"},{"forObject":"us-gaap:IncomeStatementLocationAxis","labelType":"xbrl:terseLabel","value":"Income Statement Location [Axis]","language":"en-US"},{"forObject":"us-gaap:IncomeStatementLocationAxis","labelType":"xbrl:label","value":"Income Statement Location [Axis]","language":"en-US"},{"forObject":"us-gaap:IncomeStatementLocationDomain","labelType":"xbrl:terseLabel","value":"Income Statement Location [Domain]","language":"en-US"},{"forObject":"us-gaap:IncomeStatementLocationDomain","labelType":"xbrl:label","value":"Income Statement Location [Domain]","language":"en-US"},{"forObject":"us-gaap:IncomeTaxDisclosureAbstract","labelType":"xbrl:terseLabel","value":"Income Tax Disclosure [Abstract]","language":"en-US"},{"forObject":"us-gaap:IncomeTaxDisclosureAbstract","labelType":"xbrl:label","value":"Income Tax Disclosure [Abstract]","language":"en-US"},{"forObject":"us-gaap:IncomeTaxDisclosureTextBlock","labelType":"xbrl:terseLabel","value":"Provision for Income Taxes","language":"en-US"},{"forObject":"us-gaap:IncomeTaxDisclosureTextBlock","labelType":"xbrl:label","value":"Income Tax Disclosure [Text Block]","language":"en-US"},{"forObject":"us-gaap:IncomeTaxExpenseBenefit","labelType":"xbrl:terseLabel","value":"Provision for income tax","language":"en-US"},{"forObject":"us-gaap:IncomeTaxExpenseBenefit","labelType":"xbrl:verboseLabel","value":"Provision for (benefit) from income tax","language":"en-US"},{"forObject":"us-gaap:IncomeTaxExpenseBenefit","labelType":"xbrl:totalLabel","value":"Provision for income tax","language":"en-US"},{"forObject":"us-gaap:IncomeTaxExpenseBenefit","labelType":"xbrl:label","value":"Income Tax Expense (Benefit)","language":"en-US"},{"forObject":"us-gaap:IncomeTaxPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Income Taxes","language":"en-US"},{"forObject":"us-gaap:IncomeTaxPolicyTextBlock","labelType":"xbrl:label","value":"Income Tax, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInAccountsPayable","labelType":"xbrl:verboseLabel","value":"Accounts payable","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInAccountsPayable","labelType":"xbrl:label","value":"Increase (Decrease) in Accounts Payable","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInAccountsReceivable","labelType":"xbrl:negatedLabel","value":"Accounts receivable","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInAccountsReceivable","labelType":"xbrl:label","value":"Increase (Decrease) in Accounts Receivable","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInAccruedLiabilities","labelType":"xbrl:verboseLabel","value":"Accrued liabilities","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInAccruedLiabilities","labelType":"xbrl:label","value":"Increase (Decrease) in Accrued Liabilities","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInDeferredRevenue","labelType":"xbrl:verboseLabel","value":"Deferred revenue","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInDeferredRevenue","labelType":"xbrl:label","value":"Increase (Decrease) in Deferred Revenue","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInOperatingLeaseLiability","labelType":"xbrl:terseLabel","value":"Operating lease liabilities","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInOperatingLeaseLiability","labelType":"xbrl:label","value":"Increase (Decrease) in Operating Lease Liability","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract","labelType":"xbrl:verboseLabel","value":"Changes in operating assets and liabilities:","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract","labelType":"xbrl:label","value":"Increase (Decrease) in Operating Liabilities [Abstract]","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities","labelType":"xbrl:terseLabel","value":"Other non-current liability","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities","labelType":"xbrl:label","value":"Increase (Decrease) in Other Noncurrent Liabilities","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets","labelType":"xbrl:negatedLabel","value":"Prepaid expenses and other current assets","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets","labelType":"xbrl:label","value":"Increase (Decrease) in Prepaid Expense and Other Assets","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","labelType":"xbrl:terseLabel","value":"Increase (Decrease) in Stockholders' Equity [Roll Forward]","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","labelType":"xbrl:label","value":"Increase (Decrease) in Stockholders' Equity [Roll Forward]","language":"en-US"},{"forObject":"us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants","labelType":"xbrl:terseLabel","value":"Incremental shares from assumed exercise of warrants and stock options (in shares)","language":"en-US"},{"forObject":"us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants","labelType":"xbrl:label","value":"Incremental Common Shares Attributable to Dilutive Effect of Call Options and Warrants","language":"en-US"},{"forObject":"us-gaap:LeaseholdImprovementsMember","labelType":"xbrl:terseLabel","value":"Leasehold improvements","language":"en-US"},{"forObject":"us-gaap:LeaseholdImprovementsMember","labelType":"xbrl:label","value":"Leasehold Improvements [Member]","language":"en-US"},{"forObject":"us-gaap:LeasesAbstract","labelType":"xbrl:terseLabel","value":"Leases [Abstract]","language":"en-US"},{"forObject":"us-gaap:LeasesAbstract","labelType":"xbrl:label","value":"Leases [Abstract]","language":"en-US"},{"forObject":"us-gaap:LesseeLeaseDescriptionLineItems","labelType":"xbrl:terseLabel","value":"Lessee, Lease, Description [Line Items]","language":"en-US"},{"forObject":"us-gaap:LesseeLeaseDescriptionLineItems","labelType":"xbrl:label","value":"Lessee, Lease, Description [Line Items]","language":"en-US"},{"forObject":"us-gaap:LesseeLeaseDescriptionTable","labelType":"xbrl:terseLabel","value":"Lessee, Lease, Description [Table]","language":"en-US"},{"forObject":"us-gaap:LesseeLeaseDescriptionTable","labelType":"xbrl:label","value":"Lessee, Lease, Description [Table]","language":"en-US"},{"forObject":"us-gaap:LesseeLeasesPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Leases","language":"en-US"},{"forObject":"us-gaap:LesseeLeasesPolicyTextBlock","labelType":"xbrl:label","value":"Lessee, Leases [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock","labelType":"xbrl:terseLabel","value":"Future Operating Lease Payments","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock","labelType":"xbrl:label","value":"Lessee, Operating Lease, Liability, Maturity [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","labelType":"xbrl:totalLabel","value":"\u00a0Total undiscounted liabilities","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","labelType":"xbrl:label","value":"Lessee, Operating Lease, Liability, to be Paid","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive","labelType":"xbrl:terseLabel","value":"Thereafter","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive","labelType":"xbrl:label","value":"Lessee, Operating Lease, Liability, to be Paid, after Year Five","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths","labelType":"xbrl:verboseLabel","value":"2023","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths","labelType":"xbrl:label","value":"Lessee, Operating Lease, Liability, to be Paid, Year One","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive","labelType":"xbrl:terseLabel","value":"2027","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive","labelType":"xbrl:label","value":"Lessee, Operating Lease, Liability, to be Paid, Year Five","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour","labelType":"xbrl:terseLabel","value":"2026","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour","labelType":"xbrl:label","value":"Lessee, Operating Lease, Liability, to be Paid, Year Four","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree","labelType":"xbrl:terseLabel","value":"2025","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree","labelType":"xbrl:label","value":"Lessee, Operating Lease, Liability, to be Paid, Year Three","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo","labelType":"xbrl:terseLabel","value":"2024","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo","labelType":"xbrl:label","value":"Lessee, Operating Lease, Liability, to be Paid, Year Two","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount","labelType":"xbrl:negatedTerseLabel","value":"Less: Imputed interest","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount","labelType":"xbrl:label","value":"Lessee, Operating Lease, Liability, Undiscounted Excess Amount","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseRenewalTerm","labelType":"xbrl:terseLabel","value":"Renewal term","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseRenewalTerm","labelType":"xbrl:label","value":"Lessee, Operating Lease, Renewal Term","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeasesTextBlock","labelType":"xbrl:terseLabel","value":"Leases","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeasesTextBlock","labelType":"xbrl:label","value":"Lessee, Operating Leases [Text Block]","language":"en-US"},{"forObject":"us-gaap:Liabilities","labelType":"xbrl:totalLabel","value":"Total liabilities","language":"en-US"},{"forObject":"us-gaap:Liabilities","labelType":"xbrl:label","value":"Liabilities","language":"en-US"},{"forObject":"us-gaap:LiabilitiesAndStockholdersEquity","labelType":"xbrl:totalLabel","value":"Total liabilities and stockholders' equity","language":"en-US"},{"forObject":"us-gaap:LiabilitiesAndStockholdersEquity","labelType":"xbrl:label","value":"Liabilities and Equity","language":"en-US"},{"forObject":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","labelType":"xbrl:verboseLabel","value":"LIABILITIES AND STOCKHOLDERS' EQUITY","language":"en-US"},{"forObject":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","labelType":"xbrl:label","value":"Liabilities and Equity [Abstract]","language":"en-US"},{"forObject":"us-gaap:LiabilitiesCurrent","labelType":"xbrl:totalLabel","value":"Total current liabilities","language":"en-US"},{"forObject":"us-gaap:LiabilitiesCurrent","labelType":"xbrl:label","value":"Liabilities, Current","language":"en-US"},{"forObject":"us-gaap:LiabilitiesCurrentAbstract","labelType":"xbrl:verboseLabel","value":"Current liabilities:","language":"en-US"},{"forObject":"us-gaap:LiabilitiesCurrentAbstract","labelType":"xbrl:label","value":"Liabilities, Current [Abstract]","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInFinancingActivities","labelType":"xbrl:totalLabel","value":"Net cash provided by financing activities","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInFinancingActivities","labelType":"xbrl:label","value":"Net Cash Provided by (Used in) Financing Activities","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInFinancingActivitiesAbstract","labelType":"xbrl:verboseLabel","value":"Financing activities:","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInFinancingActivitiesAbstract","labelType":"xbrl:label","value":"Net Cash Provided by (Used in) Financing Activities [Abstract]","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInInvestingActivities","labelType":"xbrl:totalLabel","value":"Net cash used in investing activities","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInInvestingActivities","labelType":"xbrl:label","value":"Net Cash Provided by (Used in) Investing Activities","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInInvestingActivitiesAbstract","labelType":"xbrl:verboseLabel","value":"Investing activities:","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInInvestingActivitiesAbstract","labelType":"xbrl:label","value":"Net Cash Provided by (Used in) Investing Activities [Abstract]","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInOperatingActivities","labelType":"xbrl:totalLabel","value":"Net cash provided by (used in) operating activities","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInOperatingActivities","labelType":"xbrl:label","value":"Net Cash Provided by (Used in) Operating Activities","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInOperatingActivitiesAbstract","labelType":"xbrl:verboseLabel","value":"Operating activities:","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInOperatingActivitiesAbstract","labelType":"xbrl:label","value":"Net Cash Provided by (Used in) Operating Activities [Abstract]","language":"en-US"},{"forObject":"us-gaap:NetIncomeLoss","labelType":"xbrl:totalLabel","value":"Net income","language":"en-US"},{"forObject":"us-gaap:NetIncomeLoss","labelType":"xbrl:verboseLabel","value":"Net income","language":"en-US"},{"forObject":"us-gaap:NetIncomeLoss","labelType":"xbrl:terseLabel","value":"Net income attributable to common stockholders","language":"en-US"},{"forObject":"us-gaap:NetIncomeLoss","labelType":"xbrl:label","value":"Net Income (Loss) Attributable to Parent","language":"en-US"},{"forObject":"us-gaap:NetIncomeLossAvailableToCommonStockholdersBasicAbstract","labelType":"xbrl:verboseLabel","value":"Basic and diluted net income per share computation (dollars in thousands):","language":"en-US"},{"forObject":"us-gaap:NetIncomeLossAvailableToCommonStockholdersBasicAbstract","labelType":"xbrl:label","value":"Net Income (Loss) Available to Common Stockholders, Basic [Abstract]","language":"en-US"},{"forObject":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted","labelType":"xbrl:terseLabel","value":"Net income attributable to common stockholders","language":"en-US"},{"forObject":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted","labelType":"xbrl:label","value":"Net Income (Loss) Available to Common Stockholders, Diluted","language":"en-US"},{"forObject":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDilutedAbstract","labelType":"xbrl:terseLabel","value":"Diluted income per share computation","language":"en-US"},{"forObject":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDilutedAbstract","labelType":"xbrl:label","value":"Net Income (Loss) Available to Common Stockholders, Diluted [Abstract]","language":"en-US"},{"forObject":"us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Accounting Pronouncements Being Evaluated and Recently Adopted Accounting Pronouncements","language":"en-US"},{"forObject":"us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock","labelType":"xbrl:label","value":"New Accounting Pronouncements, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:NoncashInvestingAndFinancingItemsAbstract","labelType":"xbrl:terseLabel","value":"Non-cash financing and investing activities:","language":"en-US"},{"forObject":"us-gaap:NoncashInvestingAndFinancingItemsAbstract","labelType":"xbrl:label","value":"Noncash Investing and Financing Items [Abstract]","language":"en-US"},{"forObject":"us-gaap:NonoperatingIncomeExpenseAbstract","labelType":"xbrl:terseLabel","value":"Other expense:","language":"en-US"},{"forObject":"us-gaap:NonoperatingIncomeExpenseAbstract","labelType":"xbrl:label","value":"Nonoperating Income (Expense) [Abstract]","language":"en-US"},{"forObject":"us-gaap:NumberOfReportableSegments","labelType":"xbrl:terseLabel","value":"Number of reportable segments","language":"en-US"},{"forObject":"us-gaap:NumberOfReportableSegments","labelType":"xbrl:label","value":"Number of Reportable Segments","language":"en-US"},{"forObject":"us-gaap:OperatingCostsAndExpenses","labelType":"xbrl:totalLabel","value":"Total costs and operating expenses","language":"en-US"},{"forObject":"us-gaap:OperatingCostsAndExpenses","labelType":"xbrl:label","value":"Operating Costs and Expenses","language":"en-US"},{"forObject":"us-gaap:OperatingExpensesAbstract","labelType":"xbrl:verboseLabel","value":"Costs and operating expenses:","language":"en-US"},{"forObject":"us-gaap:OperatingExpensesAbstract","labelType":"xbrl:label","value":"Operating Expenses [Abstract]","language":"en-US"},{"forObject":"us-gaap:OperatingIncomeLoss","labelType":"xbrl:totalLabel","value":"Income from operations","language":"en-US"},{"forObject":"us-gaap:OperatingIncomeLoss","labelType":"xbrl:label","value":"Operating Income (Loss)","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseExpense","labelType":"xbrl:terseLabel","value":"Operating leases, rent expense","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseExpense","labelType":"xbrl:label","value":"Operating Lease, Expense","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","labelType":"xbrl:terseLabel","value":"Lessee, Operating Lease, Liability, Payment, Due [Abstract]","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","labelType":"xbrl:label","value":"Lessee, Operating Lease, Liability, to be Paid [Abstract]","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseLiability","labelType":"xbrl:terseLabel","value":"Operating lease, liability","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseLiability","labelType":"xbrl:label","value":"Operating Lease, Liability","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseLiabilityCurrent","labelType":"xbrl:terseLabel","value":"Current portion of operating lease liabilities","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseLiabilityCurrent","labelType":"xbrl:verboseLabel","value":"Current portion of operating lease liabilities","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseLiabilityCurrent","labelType":"xbrl:label","value":"Operating Lease, Liability, Current","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseLiabilityNoncurrent","labelType":"xbrl:terseLabel","value":"Non-current portion operating lease liabilities","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseLiabilityNoncurrent","labelType":"xbrl:verboseLabel","value":"Non-current portion of operating lease liabilities","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseLiabilityNoncurrent","labelType":"xbrl:label","value":"Operating Lease, Liability, Noncurrent","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseRightOfUseAsset","labelType":"xbrl:terseLabel","value":"Operating lease right-of-use assets, net","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseRightOfUseAsset","labelType":"xbrl:verboseLabel","value":"Operating lease right-of-use assets, net","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseRightOfUseAsset","labelType":"xbrl:label","value":"Operating Lease, Right-of-Use Asset","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent","labelType":"xbrl:terseLabel","value":"Weighted average discount rate","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent","labelType":"xbrl:label","value":"Operating Lease, Weighted Average Discount Rate, Percent","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1","labelType":"xbrl:terseLabel","value":"Weighted average remaining lease term","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1","labelType":"xbrl:label","value":"Operating Lease, Weighted Average Remaining Lease Term","language":"en-US"},{"forObject":"us-gaap:OperatingLossCarryforwards","labelType":"xbrl:terseLabel","value":"Operating loss carryforwards","language":"en-US"},{"forObject":"us-gaap:OperatingLossCarryforwards","labelType":"xbrl:label","value":"Operating Loss Carryforwards","language":"en-US"},{"forObject":"us-gaap:OperatingLossCarryforwardsValuationAllowance","labelType":"xbrl:terseLabel","value":"Valuation allowance","language":"en-US"},{"forObject":"us-gaap:OperatingLossCarryforwardsValuationAllowance","labelType":"xbrl:label","value":"Operating Loss Carryforwards, Valuation Allowance","language":"en-US"},{"forObject":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract","labelType":"xbrl:terseLabel","value":"Organization, Consolidation and Presentation of Financial Statements [Abstract]","language":"en-US"},{"forObject":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract","labelType":"xbrl:label","value":"Organization, Consolidation and Presentation of Financial Statements [Abstract]","language":"en-US"},{"forObject":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock","labelType":"xbrl:verboseLabel","value":"Organization and Basis of Presentation","language":"en-US"},{"forObject":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock","labelType":"xbrl:label","value":"Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]","language":"en-US"},{"forObject":"us-gaap:OtherAssetsNoncurrent","labelType":"xbrl:terseLabel","value":"Other long term assets","language":"en-US"},{"forObject":"us-gaap:OtherAssetsNoncurrent","labelType":"xbrl:label","value":"Other Assets, Noncurrent","language":"en-US"},{"forObject":"us-gaap:OtherLiabilitiesNoncurrent","labelType":"xbrl:verboseLabel","value":"Other non-current liabilities","language":"en-US"},{"forObject":"us-gaap:OtherLiabilitiesNoncurrent","labelType":"xbrl:label","value":"Other Liabilities, Noncurrent","language":"en-US"},{"forObject":"us-gaap:OtherMachineryAndEquipmentMember","labelType":"xbrl:terseLabel","value":"Laboratory equipment","language":"en-US"},{"forObject":"us-gaap:OtherMachineryAndEquipmentMember","labelType":"xbrl:label","value":"Other Machinery and Equipment [Member]","language":"en-US"},{"forObject":"us-gaap:OtherNonoperatingIncomeExpense","labelType":"xbrl:verboseLabel","value":"Other income (expense), net","language":"en-US"},{"forObject":"us-gaap:OtherNonoperatingIncomeExpense","labelType":"xbrl:label","value":"Other Nonoperating Income (Expense)","language":"en-US"},{"forObject":"us-gaap:PaymentsToAcquirePropertyPlantAndEquipment","labelType":"xbrl:negatedLabel","value":"Purchase of property and equipment","language":"en-US"},{"forObject":"us-gaap:PaymentsToAcquirePropertyPlantAndEquipment","labelType":"xbrl:label","value":"Payments to Acquire Property, Plant, and Equipment","language":"en-US"},{"forObject":"us-gaap:PlanNameAxis","labelType":"xbrl:terseLabel","value":"Plan Name [Axis]","language":"en-US"},{"forObject":"us-gaap:PlanNameAxis","labelType":"xbrl:label","value":"Plan Name [Axis]","language":"en-US"},{"forObject":"us-gaap:PlanNameDomain","labelType":"xbrl:terseLabel","value":"Plan Name [Domain]","language":"en-US"},{"forObject":"us-gaap:PlanNameDomain","labelType":"xbrl:label","value":"Plan Name [Domain]","language":"en-US"},{"forObject":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","labelType":"xbrl:verboseLabel","value":"Prepaid expenses and other current assets","language":"en-US"},{"forObject":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","labelType":"xbrl:label","value":"Prepaid Expense and Other Assets, Current","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentAbstract","labelType":"xbrl:terseLabel","value":"Property, Plant and Equipment [Abstract]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentAbstract","labelType":"xbrl:label","value":"Property, Plant and Equipment [Abstract]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization","labelType":"xbrl:terseLabel","value":"Depreciation and amortization","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization","labelType":"xbrl:label","value":"Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, Accumulated Depreciation and Amortization","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","labelType":"xbrl:verboseLabel","value":"Property and equipment, net","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","labelType":"xbrl:totalLabel","value":"Property and equipment, net","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","labelType":"xbrl:label","value":"Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","labelType":"xbrl:terseLabel","value":"Property, Plant and Equipment, Type [Axis]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","labelType":"xbrl:label","value":"Long-Lived Tangible Asset [Axis]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock","labelType":"xbrl:terseLabel","value":"Property and Equipment","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock","labelType":"xbrl:label","value":"Property, Plant and Equipment Disclosure [Text Block]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentGross","labelType":"xbrl:terseLabel","value":"Total property and equipment","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentGross","labelType":"xbrl:verboseLabel","value":"Property, plant and equipment, gross","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentGross","labelType":"xbrl:label","value":"Property, Plant and Equipment, Gross","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentLineItems","labelType":"xbrl:terseLabel","value":"Property, Plant and Equipment [Line Items]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentLineItems","labelType":"xbrl:label","value":"Property, Plant and Equipment [Line Items]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Property and Equipment","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentPolicyTextBlock","labelType":"xbrl:label","value":"Property, Plant and Equipment, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentTextBlock","labelType":"xbrl:terseLabel","value":"Property and Equipment","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentTextBlock","labelType":"xbrl:label","value":"Property, Plant and Equipment [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentTypeDomain","labelType":"xbrl:terseLabel","value":"Property, Plant and Equipment, Type [Domain]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentTypeDomain","labelType":"xbrl:label","value":"Long-Lived Tangible Asset [Domain]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentUsefulLife","labelType":"xbrl:terseLabel","value":"Useful life","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentUsefulLife","labelType":"xbrl:label","value":"Property, Plant and Equipment, Useful Life","language":"en-US"},{"forObject":"us-gaap:ProvisionForDoubtfulAccounts","labelType":"xbrl:terseLabel","value":"Allowance for doubtful accounts","language":"en-US"},{"forObject":"us-gaap:ProvisionForDoubtfulAccounts","labelType":"xbrl:label","value":"Accounts Receivable, Credit Loss Expense (Reversal)","language":"en-US"},{"forObject":"us-gaap:ReceivablesAbstract","labelType":"xbrl:terseLabel","value":"Receivables [Abstract]","language":"en-US"},{"forObject":"us-gaap:ReceivablesAbstract","labelType":"xbrl:label","value":"Receivables [Abstract]","language":"en-US"},{"forObject":"us-gaap:ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward","labelType":"xbrl:terseLabel","value":"Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]","language":"en-US"},{"forObject":"us-gaap:ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward","labelType":"xbrl:label","value":"Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]","language":"en-US"},{"forObject":"us-gaap:RelatedPartyTransactionAmountsOfTransaction","labelType":"xbrl:verboseLabel","value":"Related related party transaction, amounts of transaction","language":"en-US"},{"forObject":"us-gaap:RelatedPartyTransactionAmountsOfTransaction","labelType":"xbrl:label","value":"Related Party Transaction, Amounts of Transaction","language":"en-US"},{"forObject":"us-gaap:RelatedPartyTransactionLineItems","labelType":"xbrl:terseLabel","value":"Related Party Transaction [Line Items]","language":"en-US"},{"forObject":"us-gaap:RelatedPartyTransactionLineItems","labelType":"xbrl:label","value":"Related Party Transaction [Line Items]","language":"en-US"},{"forObject":"us-gaap:RelatedPartyTransactionsAbstract","labelType":"xbrl:terseLabel","value":"Related Party Transactions [Abstract]","language":"en-US"},{"forObject":"us-gaap:RelatedPartyTransactionsAbstract","labelType":"xbrl:label","value":"Related Party Transactions [Abstract]","language":"en-US"},{"forObject":"us-gaap:RelatedPartyTransactionsDisclosureTextBlock","labelType":"xbrl:verboseLabel","value":"Related Party Transactions","language":"en-US"},{"forObject":"us-gaap:RelatedPartyTransactionsDisclosureTextBlock","labelType":"xbrl:label","value":"Related Party Transactions Disclosure [Text Block]","language":"en-US"},{"forObject":"us-gaap:ResearchAndDevelopmentExpense","labelType":"xbrl:verboseLabel","value":"Research and development","language":"en-US"},{"forObject":"us-gaap:ResearchAndDevelopmentExpense","labelType":"xbrl:label","value":"Research and Development Expense","language":"en-US"},{"forObject":"us-gaap:ResearchAndDevelopmentExpenseMember","labelType":"xbrl:terseLabel","value":"Research and development","language":"en-US"},{"forObject":"us-gaap:ResearchAndDevelopmentExpenseMember","labelType":"xbrl:label","value":"Research and Development Expense [Member]","language":"en-US"},{"forObject":"us-gaap:ResearchAndDevelopmentExpensePolicy","labelType":"xbrl:terseLabel","value":"Research and Development","language":"en-US"},{"forObject":"us-gaap:ResearchAndDevelopmentExpensePolicy","labelType":"xbrl:label","value":"Research and Development Expense, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:RetainedEarningsAccumulatedDeficit","labelType":"xbrl:verboseLabel","value":"Accumulated deficit","language":"en-US"},{"forObject":"us-gaap:RetainedEarningsAccumulatedDeficit","labelType":"xbrl:negatedTerseLabel","value":"Accumulated deficit","language":"en-US"},{"forObject":"us-gaap:RetainedEarningsAccumulatedDeficit","labelType":"xbrl:label","value":"Retained Earnings (Accumulated Deficit)","language":"en-US"},{"forObject":"us-gaap:RetainedEarningsMember","labelType":"xbrl:terseLabel","value":"Accumulated Deficit","language":"en-US"},{"forObject":"us-gaap:RetainedEarningsMember","labelType":"xbrl:label","value":"Retained Earnings [Member]","language":"en-US"},{"forObject":"us-gaap:RevenueFromContractWithCustomerAbstract","labelType":"xbrl:terseLabel","value":"Revenue from Contract with Customer [Abstract]","language":"en-US"},{"forObject":"us-gaap:RevenueFromContractWithCustomerAbstract","labelType":"xbrl:label","value":"Revenue from Contract with Customer [Abstract]","language":"en-US"},{"forObject":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","labelType":"xbrl:verboseLabel","value":"Oncology services revenue","language":"en-US"},{"forObject":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","labelType":"xbrl:terseLabel","value":"Total oncology services revenue","language":"en-US"},{"forObject":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","labelType":"xbrl:label","value":"Revenue from Contract with Customer, Excluding Assessed Tax","language":"en-US"},{"forObject":"us-gaap:RevenueFromContractWithCustomerPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Deferred Revenue and Revenue Recognition","language":"en-US"},{"forObject":"us-gaap:RevenueFromContractWithCustomerPolicyTextBlock","labelType":"xbrl:label","value":"Revenue from Contract with Customer [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:RevenueFromContractWithCustomerTextBlock","labelType":"xbrl:terseLabel","value":"Revenue from Contracts with Customers","language":"en-US"},{"forObject":"us-gaap:RevenueFromContractWithCustomerTextBlock","labelType":"xbrl:label","value":"Revenue from Contract with Customer [Text Block]","language":"en-US"},{"forObject":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems","labelType":"xbrl:terseLabel","value":"Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]","language":"en-US"},{"forObject":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems","labelType":"xbrl:label","value":"Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]","language":"en-US"},{"forObject":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1","labelType":"xbrl:terseLabel","value":"Revenue arrangements by service contract period","language":"en-US"},{"forObject":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1","labelType":"xbrl:label","value":"Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period","language":"en-US"},{"forObject":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis","labelType":"xbrl:terseLabel","value":"Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]","language":"en-US"},{"forObject":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis","labelType":"xbrl:label","value":"Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]","language":"en-US"},{"forObject":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable","labelType":"xbrl:terseLabel","value":"Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]","language":"en-US"},{"forObject":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable","labelType":"xbrl:label","value":"Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]","language":"en-US"},{"forObject":"us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability","labelType":"xbrl:terseLabel","value":"Right-of-use assets obtained in exchange for operating lease liabilities","language":"en-US"},{"forObject":"us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability","labelType":"xbrl:label","value":"Right-of-Use Asset Obtained in Exchange for Operating Lease Liability","language":"en-US"},{"forObject":"us-gaap:RisksAndUncertaintiesAbstract","labelType":"xbrl:terseLabel","value":"Risks and Uncertainties [Abstract]","language":"en-US"},{"forObject":"us-gaap:RisksAndUncertaintiesAbstract","labelType":"xbrl:label","value":"Risks and Uncertainties [Abstract]","language":"en-US"},{"forObject":"us-gaap:RoyaltyExpense","labelType":"xbrl:terseLabel","value":"Royalty expense","language":"en-US"},{"forObject":"us-gaap:RoyaltyExpense","labelType":"xbrl:label","value":"Royalty Expense","language":"en-US"},{"forObject":"us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock","labelType":"xbrl:terseLabel","value":"Summary of accounts receivable, unbilled services, and advanced billings","language":"en-US"},{"forObject":"us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock","labelType":"xbrl:label","value":"Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share","language":"en-US"},{"forObject":"us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock","labelType":"xbrl:label","value":"Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Components of Income Tax Expense","language":"en-US"},{"forObject":"us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock","labelType":"xbrl:label","value":"Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Deferred Tax Assets and Liabilities","language":"en-US"},{"forObject":"us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock","labelType":"xbrl:label","value":"Schedule of Deferred Tax Assets and Liabilities [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Earnings Per Share, Basic and Diluted","language":"en-US"},{"forObject":"us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock","labelType":"xbrl:label","value":"Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Effective Income Tax Rate Reconciliation","language":"en-US"},{"forObject":"us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock","labelType":"xbrl:label","value":"Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable","labelType":"xbrl:terseLabel","value":"Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable","labelType":"xbrl:label","value":"Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock","labelType":"xbrl:verboseLabel","value":"Schedule of Employee Service Stock-based Compensation, Allocation of Recognized Period Costs","language":"en-US"},{"forObject":"us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock","labelType":"xbrl:label","value":"Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable","labelType":"xbrl:terseLabel","value":"Schedule of Revenue by Major Customers, by Reporting Segments [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable","labelType":"xbrl:label","value":"Schedule of Revenue by Major Customers, by Reporting Segments [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","labelType":"xbrl:terseLabel","value":"Property, Plant and Equipment [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","labelType":"xbrl:label","value":"Property, Plant and Equipment [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfRelatedPartyTransactionsByRelatedPartyTable","labelType":"xbrl:terseLabel","value":"Schedule of Related Party Transactions, by Related Party [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfRelatedPartyTransactionsByRelatedPartyTable","labelType":"xbrl:label","value":"Schedule of Related Party Transactions, by Related Party [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","labelType":"xbrl:terseLabel","value":"Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","labelType":"xbrl:label","value":"Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock","labelType":"xbrl:verboseLabel","value":"Schedule of Stock-based Compensation, Stock Options, Activity","language":"en-US"},{"forObject":"us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock","labelType":"xbrl:label","value":"Share-Based Payment Arrangement, Option, Activity [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock","labelType":"xbrl:verboseLabel","value":"Schedule of Stock-based Payment Award, Stock Options, Valuation Assumptions","language":"en-US"},{"forObject":"us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock","labelType":"xbrl:label","value":"Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfStockByClassTable","labelType":"xbrl:terseLabel","value":"Schedule of Stock by Class [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfStockByClassTable","labelType":"xbrl:label","value":"Schedule of Stock by Class [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Unrecognized Tax Benefits Roll Forward","language":"en-US"},{"forObject":"us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock","labelType":"xbrl:label","value":"Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:SellingAndMarketingExpense","labelType":"xbrl:verboseLabel","value":"Sales and marketing","language":"en-US"},{"forObject":"us-gaap:SellingAndMarketingExpense","labelType":"xbrl:label","value":"Selling and Marketing Expense","language":"en-US"},{"forObject":"us-gaap:SellingAndMarketingExpenseMember","labelType":"xbrl:terseLabel","value":"Sales and marketing","language":"en-US"},{"forObject":"us-gaap:SellingAndMarketingExpenseMember","labelType":"xbrl:label","value":"Selling and Marketing Expense [Member]","language":"en-US"},{"forObject":"us-gaap:ServicingAsset","labelType":"xbrl:terseLabel","value":"Servicing asset at gross capitalized amount","language":"en-US"},{"forObject":"us-gaap:ServicingAsset","labelType":"xbrl:label","value":"Servicing Asset","language":"en-US"},{"forObject":"us-gaap:ServicingAssetAtFairValueAmount","labelType":"xbrl:terseLabel","value":"Servicing asset","language":"en-US"},{"forObject":"us-gaap:ServicingAssetAtFairValueAmount","labelType":"xbrl:label","value":"Servicing Asset at Fair Value, Amount","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensation","labelType":"xbrl:verboseLabel","value":"Stock-based compensation expense","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensation","labelType":"xbrl:label","value":"Share-Based Payment Arrangement, Noncash Expense","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","labelType":"xbrl:verboseLabel","value":"Dividend yield","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Rate","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum","labelType":"xbrl:verboseLabel","value":"Volatility Maximum","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Maximum","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum","labelType":"xbrl:verboseLabel","value":"Volatility Minimum","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Minimum","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum","labelType":"xbrl:verboseLabel","value":"Risk-free interest rates Maximum","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Maximum","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum","labelType":"xbrl:verboseLabel","value":"Risk-free interest rates Minimum","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Minimum","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","labelType":"xbrl:terseLabel","value":"Share-based Compensation Arrangement by Share-based Payment Award [Line Items]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant","labelType":"xbrl:terseLabel","value":"Number of shares available for grant (in shares)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","labelType":"xbrl:terseLabel","value":"Vested (in shares)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice","labelType":"xbrl:terseLabel","value":"Weighted Average Exercise Price, Vested (in usd per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod","labelType":"xbrl:negatedLabel","value":"Expired (in shares)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Expirations in Period","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","labelType":"xbrl:negatedLabel","value":"Forfeited (in shares)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures in Period","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod","labelType":"xbrl:terseLabel","value":"Shares granted, net of forfeitures (in shares)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Net of Forfeitures","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","labelType":"xbrl:verboseLabel","value":"Granted (in shares)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","labelType":"xbrl:terseLabel","value":"Grants in period, weighted average grant date fair value (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","labelType":"xbrl:periodStartLabel","value":"Aggregate Intrinsic Value, Outstanding, Beginning Balance","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","labelType":"xbrl:periodEndLabel","value":"Aggregate Intrinsic Value, Outstanding, Ending Balance","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","labelType":"xbrl:periodStartLabel","value":"Outstanding, Beginning Balance (in shares)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","labelType":"xbrl:periodEndLabel","value":"Outstanding, Ending Balance (in shares)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","labelType":"xbrl:terseLabel","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","labelType":"xbrl:periodStartLabel","value":"Weighted Average Exercise Price, Outstanding, Beginning Balance (in usd per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","labelType":"xbrl:periodEndLabel","value":"Weighted Average Exercise Price, Outstanding, Ending Balance (in usd per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","labelType":"xbrl:terseLabel","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue","labelType":"xbrl:verboseLabel","value":"Aggregate Intrinsic Value, Vested and expected to vest","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","labelType":"xbrl:verboseLabel","value":"Vested and expected to vest (in shares)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice","labelType":"xbrl:terseLabel","value":"Weighted Average Exercise Price, Vested and Expected to Vest (in usd per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice","labelType":"xbrl:verboseLabel","value":"Weighted Average Exercise Price, Exercised (in usd per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice","labelType":"xbrl:label","value":"Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice","labelType":"xbrl:verboseLabel","value":"Weighted Average Exercise Price, Expired (in usd per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice","labelType":"xbrl:label","value":"Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Expirations in Period, Weighted Average Exercise Price","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice","labelType":"xbrl:verboseLabel","value":"Weighted Average Exercise Price, Forfeited (in usd per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice","labelType":"xbrl:label","value":"Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice","labelType":"xbrl:verboseLabel","value":"Weighted Average Exercise Price, Granted (in usd per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice","labelType":"xbrl:label","value":"Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy","labelType":"xbrl:terseLabel","value":"Stock-based Payments","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy","labelType":"xbrl:label","value":"Share-Based Payment Arrangement [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod","labelType":"xbrl:terseLabel","value":"Expiration term of awards","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Expiration Period","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","labelType":"xbrl:verboseLabel","value":"Expected term in years","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Term","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1","labelType":"xbrl:verboseLabel","value":"Aggregate Intrinsic Value, Vested","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Intrinsic Value","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1","labelType":"xbrl:verboseLabel","value":"Weighted Average Remaining Contractual Life (Years), Vested","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2","labelType":"xbrl:verboseLabel","value":"Weighted Average Remaining Contractual Term, Outstanding, Beginning Balance (in years)","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1","labelType":"xbrl:verboseLabel","value":"Weighted Average Remaining Contractual Life (Years), Vested and expected to vest","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent","labelType":"xbrl:terseLabel","value":"Strike price as percent of market value","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Purchase Price of Common Stock, Percent","language":"en-US"},{"forObject":"us-gaap:SignificantAccountingPoliciesTextBlock","labelType":"xbrl:terseLabel","value":"Summary of Significant Accounting Policies","language":"en-US"},{"forObject":"us-gaap:SignificantAccountingPoliciesTextBlock","labelType":"xbrl:label","value":"Significant Accounting Policies [Text Block]","language":"en-US"},{"forObject":"us-gaap:SoftwareAndSoftwareDevelopmentCostsMember","labelType":"xbrl:terseLabel","value":"Capitalized software development costs","language":"en-US"},{"forObject":"us-gaap:SoftwareAndSoftwareDevelopmentCostsMember","labelType":"xbrl:label","value":"Software and Software Development Costs [Member]","language":"en-US"},{"forObject":"us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations","labelType":"xbrl:totalLabel","value":"Total","language":"en-US"},{"forObject":"us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations","labelType":"xbrl:label","value":"State and Local Income Tax Expense (Benefit), Continuing Operations","language":"en-US"},{"forObject":"us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperationsAbstract","labelType":"xbrl:terseLabel","value":"State","language":"en-US"},{"forObject":"us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperationsAbstract","labelType":"xbrl:label","value":"State and Local Income Tax Expense (Benefit), Continuing Operations [Abstract]","language":"en-US"},{"forObject":"us-gaap:StatementEquityComponentsAxis","labelType":"xbrl:terseLabel","value":"Equity Components [Axis]","language":"en-US"},{"forObject":"us-gaap:StatementEquityComponentsAxis","labelType":"xbrl:label","value":"Equity Components [Axis]","language":"en-US"},{"forObject":"us-gaap:StatementLineItems","labelType":"xbrl:terseLabel","value":"Statement [Line Items]","language":"en-US"},{"forObject":"us-gaap:StatementLineItems","labelType":"xbrl:label","value":"Statement [Line Items]","language":"en-US"},{"forObject":"us-gaap:StatementOfCashFlowsAbstract","labelType":"xbrl:terseLabel","value":"Statement of Cash Flows [Abstract]","language":"en-US"},{"forObject":"us-gaap:StatementOfCashFlowsAbstract","labelType":"xbrl:label","value":"Statement of Cash Flows [Abstract]","language":"en-US"},{"forObject":"us-gaap:StatementOfFinancialPositionAbstract","labelType":"xbrl:terseLabel","value":"Statement of Financial Position [Abstract]","language":"en-US"},{"forObject":"us-gaap:StatementOfFinancialPositionAbstract","labelType":"xbrl:label","value":"Statement of Financial Position [Abstract]","language":"en-US"},{"forObject":"us-gaap:StatementOfStockholdersEquityAbstract","labelType":"xbrl:terseLabel","value":"Statement of Stockholders' Equity [Abstract]","language":"en-US"},{"forObject":"us-gaap:StatementOfStockholdersEquityAbstract","labelType":"xbrl:label","value":"Statement of Stockholders' Equity [Abstract]","language":"en-US"},{"forObject":"us-gaap:StatementTable","labelType":"xbrl:terseLabel","value":"Statement [Table]","language":"en-US"},{"forObject":"us-gaap:StatementTable","labelType":"xbrl:label","value":"Statement [Table]","language":"en-US"},{"forObject":"us-gaap:StockIssuedDuringPeriodSharesOther","labelType":"xbrl:verboseLabel","value":"Issuance of common stock on exercise of stock options and warrants (in shares)","language":"en-US"},{"forObject":"us-gaap:StockIssuedDuringPeriodSharesOther","labelType":"xbrl:label","value":"Stock Issued During Period, Shares, Other","language":"en-US"},{"forObject":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","labelType":"xbrl:negatedLabel","value":"Exercised (in shares)","language":"en-US"},{"forObject":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period","language":"en-US"},{"forObject":"us-gaap:StockIssuedDuringPeriodValueOther","labelType":"xbrl:verboseLabel","value":"Issuance of common stock on exercise of stock options","language":"en-US"},{"forObject":"us-gaap:StockIssuedDuringPeriodValueOther","labelType":"xbrl:label","value":"Stock Issued During Period, Value, Other","language":"en-US"},{"forObject":"us-gaap:StockholdersEquity","labelType":"xbrl:totalLabel","value":"Total stockholders' equity","language":"en-US"},{"forObject":"us-gaap:StockholdersEquity","labelType":"xbrl:periodStartLabel","value":"Balance","language":"en-US"},{"forObject":"us-gaap:StockholdersEquity","labelType":"xbrl:periodEndLabel","value":"Balance","language":"en-US"},{"forObject":"us-gaap:StockholdersEquity","labelType":"xbrl:label","value":"Stockholders' Equity Attributable to Parent","language":"en-US"},{"forObject":"us-gaap:StockholdersEquityAbstract","labelType":"xbrl:verboseLabel","value":"Stockholders' equity:","language":"en-US"},{"forObject":"us-gaap:StockholdersEquityAbstract","labelType":"xbrl:label","value":"Stockholders' Equity Attributable to Parent [Abstract]","language":"en-US"},{"forObject":"us-gaap:TreasuryStockCommonMember","labelType":"xbrl:terseLabel","value":"Treasury Stock","language":"en-US"},{"forObject":"us-gaap:TreasuryStockCommonMember","labelType":"xbrl:label","value":"Treasury Stock, Common [Member]","language":"en-US"},{"forObject":"us-gaap:TreasuryStockCommonShares","labelType":"xbrl:periodStartLabel","value":"Balance (in shares)","language":"en-US"},{"forObject":"us-gaap:TreasuryStockCommonShares","labelType":"xbrl:periodEndLabel","value":"Balance (in shares)","language":"en-US"},{"forObject":"us-gaap:TreasuryStockCommonShares","labelType":"xbrl:label","value":"Treasury Stock, Common, Shares","language":"en-US"},{"forObject":"us-gaap:TypeOfCostGoodOrServiceExtensibleList","labelType":"xbrl:terseLabel","value":"Cost, Product and Service [Extensible Enumeration]","language":"en-US"},{"forObject":"us-gaap:TypeOfCostGoodOrServiceExtensibleList","labelType":"xbrl:label","value":"Cost, Product and Service [Extensible Enumeration]","language":"en-US"},{"forObject":"us-gaap:TypeOfRevenueExtensibleList","labelType":"xbrl:terseLabel","value":"Revenue, Product and Service [Extensible Enumeration]","language":"en-US"},{"forObject":"us-gaap:TypeOfRevenueExtensibleList","labelType":"xbrl:label","value":"Revenue, Product and Service [Extensible Enumeration]","language":"en-US"},{"forObject":"us-gaap:UnbilledContractsReceivable","labelType":"xbrl:terseLabel","value":"Unbilled services","language":"en-US"},{"forObject":"us-gaap:UnbilledContractsReceivable","labelType":"xbrl:label","value":"Unbilled Contracts Receivable","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefits","labelType":"xbrl:terseLabel","value":"Unrecognized tax benefits","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefits","labelType":"xbrl:periodStartLabel","value":"Balance, beginning of the year","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefits","labelType":"xbrl:periodEndLabel","value":"Balance, end of year","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefits","labelType":"xbrl:label","value":"Unrecognized Tax Benefits","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities","labelType":"xbrl:negatedTerseLabel","value":"Payment made on tax positions related to prior years","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities","labelType":"xbrl:label","value":"Unrecognized Tax Benefits, Decrease Resulting from Settlements with Taxing Authorities","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense","labelType":"xbrl:terseLabel","value":"Income tax penalties and interest expense","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense","labelType":"xbrl:label","value":"Unrecognized Tax Benefits, Income Tax Penalties and Interest Expense","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions","labelType":"xbrl:verboseLabel","value":"Addition based on tax positions related to current year","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions","labelType":"xbrl:label","value":"Unrecognized Tax Benefits, Increase Resulting from Current Period Tax Positions","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions","labelType":"xbrl:verboseLabel","value":"Addition based on tax positions related to prior years","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions","labelType":"xbrl:label","value":"Unrecognized Tax Benefits, Increase Resulting from Prior Period Tax Positions","language":"en-US"},{"forObject":"us-gaap:UseOfEstimates","labelType":"xbrl:terseLabel","value":"Use of Estimates","language":"en-US"},{"forObject":"us-gaap:UseOfEstimates","labelType":"xbrl:label","value":"Use of Estimates, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","labelType":"xbrl:terseLabel","value":"Weighted average common shares outstanding diluted (in shares)","language":"en-US"},{"forObject":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","labelType":"xbrl:totalLabel","value":"Adjusted weighted average share - diluted (in shares)","language":"en-US"},{"forObject":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","labelType":"xbrl:label","value":"Weighted Average Number of Shares Outstanding, Diluted","language":"en-US"},{"forObject":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","labelType":"xbrl:verboseLabel","value":"Weighted average common shares outstanding basic (in shares)","language":"en-US"},{"forObject":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","labelType":"xbrl:terseLabel","value":"Weighted Average common shares (in shares)","language":"en-US"},{"forObject":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","labelType":"xbrl:label","value":"Weighted Average Number of Shares Outstanding, Basic","language":"en-US"},{"forObject":"cik:0000771856","labelType":"xbrl:label","value":"CHAMPIONS ONCOLOGY, INC.","language":"en-US"},{"forObject":"rpt:group-0","labelType":"xbrl:label","value":"2107103 - Disclosure - Accounts Receivable, Unbilled Services and Deferred Revenue","language":"en-US"},{"forObject":"rpt:group-1","labelType":"xbrl:label","value":"2411406 - Disclosure - Accounts Receivable, Unbilled Services and Deferred Revenue - Narrative (Details)","language":"en-US"},{"forObject":"rpt:group-2","labelType":"xbrl:label","value":"2409404 - Disclosure - Accounts Receivable, Unbilled Services and Deferred Revenue - Summary of Accounts Receivable and Unbilled Services (Details)","language":"en-US"},{"forObject":"rpt:group-3","labelType":"xbrl:label","value":"2410405 - Disclosure - Accounts Receivable, Unbilled Services and Deferred Revenue - Summary of Deferred Revenue (Details)","language":"en-US"},{"forObject":"rpt:group-4","labelType":"xbrl:label","value":"2308301 - Disclosure - Accounts Receivable, Unbilled Services and Deferred Revenue (Tables)","language":"en-US"},{"forObject":"rpt:group-5","labelType":"xbrl:label","value":"0002002 - Document - Audit Information","language":"en-US"},{"forObject":"rpt:group-6","labelType":"xbrl:label","value":"1001003 - Statement - CONSOLIDATED BALANCE SHEETS","language":"en-US"},{"forObject":"rpt:group-7","labelType":"xbrl:label","value":"1002004 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)","language":"en-US"},{"forObject":"rpt:group-8","labelType":"xbrl:label","value":"1004006 - Statement - CONSOLIDATED STATEMENT OF CHANGES IN STOCKHOLDERS\u2019 EQUITY","language":"en-US"},{"forObject":"rpt:group-9","labelType":"xbrl:label","value":"1005007 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS","language":"en-US"},{"forObject":"rpt:group-10","labelType":"xbrl:label","value":"1003005 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS","language":"en-US"},{"forObject":"rpt:group-11","labelType":"xbrl:label","value":"2121107 - Disclosure - Commitments and Contingencies","language":"en-US"},{"forObject":"rpt:group-12","labelType":"xbrl:label","value":"2422411 - Disclosure - Commitments and Contingencies - Narrative (Details)","language":"en-US"},{"forObject":"rpt:group-13","labelType":"xbrl:label","value":"0001001 - Document - Cover","language":"en-US"},{"forObject":"rpt:group-14","labelType":"xbrl:label","value":"2136110 - Disclosure - Earnings Per Share","language":"en-US"},{"forObject":"rpt:group-15","labelType":"xbrl:label","value":"2438421 - Disclosure - Earnings Per Share - Calculations of Earnings Per Share (Details)","language":"en-US"},{"forObject":"rpt:group-16","labelType":"xbrl:label","value":"2439422 - Disclosure - Earnings Per Share - Summary of Potentially Dilutive Stock-based Instruments (Details)","language":"en-US"},{"forObject":"rpt:group-17","labelType":"xbrl:label","value":"2337306 - Disclosure - Earnings Per Share (Tables)","language":"en-US"},{"forObject":"rpt:group-18","labelType":"xbrl:label","value":"2142112 - Disclosure - Leases","language":"en-US"},{"forObject":"rpt:group-19","labelType":"xbrl:label","value":"2444424 - Disclosure - Leases (Details)","language":"en-US"},{"forObject":"rpt:group-20","labelType":"xbrl:label","value":"2446426 - Disclosure - Leases - Future Minimum Lease Payments (Details)","language":"en-US"},{"forObject":"rpt:group-21","labelType":"xbrl:label","value":"2445425 - Disclosure - Leases - ROU Assets and Lease Liabilities (Details)","language":"en-US"},{"forObject":"rpt:group-22","labelType":"xbrl:label","value":"2343307 - Disclosure - Leases (Tables)","language":"en-US"},{"forObject":"rpt:group-23","labelType":"xbrl:label","value":"2101101 - Disclosure - Organization and Basis of Presentation","language":"en-US"},{"forObject":"rpt:group-24","labelType":"xbrl:label","value":"2402401 - Disclosure - Organization and Basis of Presentation - Narrative (Details)","language":"en-US"},{"forObject":"rpt:group-25","labelType":"xbrl:label","value":"2112104 - Disclosure - Property and Equipment","language":"en-US"},{"forObject":"rpt:group-26","labelType":"xbrl:label","value":"2415408 - Disclosure - Property and Equipment - Narrative (Details)","language":"en-US"},{"forObject":"rpt:group-27","labelType":"xbrl:label","value":"2414407 - Disclosure - Property and Equipment - Summary of Property and Equipment (Details)","language":"en-US"},{"forObject":"rpt:group-28","labelType":"xbrl:label","value":"2313302 - Disclosure - Property and Equipment (Tables)","language":"en-US"},{"forObject":"rpt:group-29","labelType":"xbrl:label","value":"2129109 - Disclosure - Provision for Income Taxes","language":"en-US"},{"forObject":"rpt:group-30","labelType":"xbrl:label","value":"2435420 - Disclosure - Provision for Income Taxes - Change in Uncertain Tax Positions (Details)","language":"en-US"},{"forObject":"rpt:group-31","labelType":"xbrl:label","value":"2433418 - Disclosure - Provision for Income Taxes - Components of Deferred Tax Assets and Liabilities (Details)","language":"en-US"},{"forObject":"rpt:group-32","labelType":"xbrl:label","value":"2431416 - Disclosure - Provision for Income Taxes - Components of Provision (Benefit) for Income Taxes (Details)","language":"en-US"},{"forObject":"rpt:group-33","labelType":"xbrl:label","value":"2434419 - Disclosure - Provision for Income Taxes - Narrative (Details)","language":"en-US"},{"forObject":"rpt:group-34","labelType":"xbrl:label","value":"2432417 - Disclosure - Provision for Income Taxes - Reconciliation of Effective Tax Rate (Details)","language":"en-US"},{"forObject":"rpt:group-35","labelType":"xbrl:label","value":"2330305 - Disclosure - Provision for Income Taxes (Tables)","language":"en-US"},{"forObject":"rpt:group-36","labelType":"xbrl:label","value":"2140111 - Disclosure - Related Party Transactions","language":"en-US"},{"forObject":"rpt:group-37","labelType":"xbrl:label","value":"2441423 - Disclosure - Related Party Transactions - Narrative (Details)","language":"en-US"},{"forObject":"rpt:group-38","labelType":"xbrl:label","value":"2116105 - Disclosure - Revenue from Contracts with Customers","language":"en-US"},{"forObject":"rpt:group-39","labelType":"xbrl:label","value":"2418409 - Disclosure - Revenue from Contracts with Customers (Details)","language":"en-US"},{"forObject":"rpt:group-40","labelType":"xbrl:label","value":"2317303 - Disclosure - Revenue from Contracts with Customers (Tables)","language":"en-US"},{"forObject":"rpt:group-41","labelType":"xbrl:label","value":"2119106 - Disclosure - Significant Customers","language":"en-US"},{"forObject":"rpt:group-42","labelType":"xbrl:label","value":"2420410 - Disclosure - Significant Customers (Details)","language":"en-US"},{"forObject":"rpt:group-43","labelType":"xbrl:label","value":"2123108 - Disclosure - Stock-based Payments","language":"en-US"},{"forObject":"rpt:group-44","labelType":"xbrl:label","value":"2426413 - Disclosure - Stock-based Payments - Allocation of Stock-based Compensation Costs (Details)","language":"en-US"},{"forObject":"rpt:group-45","labelType":"xbrl:label","value":"2425412 - Disclosure - Stock-based Payments - Narrative (Details)","language":"en-US"},{"forObject":"rpt:group-46","labelType":"xbrl:label","value":"2428415 - Disclosure - Stock-based Payments - Stock Option Activity (Details)","language":"en-US"},{"forObject":"rpt:group-47","labelType":"xbrl:label","value":"2427414 - Disclosure - Stock-based Payments - Stock Option Grants Assumptions (Details)","language":"en-US"},{"forObject":"rpt:group-48","labelType":"xbrl:label","value":"2324304 - Disclosure - Stock-based Payments (Tables)","language":"en-US"},{"forObject":"rpt:group-49","labelType":"xbrl:label","value":"2103102 - Disclosure - Summary of Significant Accounting Policies","language":"en-US"},{"forObject":"rpt:group-50","labelType":"xbrl:label","value":"2405402 - Disclosure - Summary of Significant Accounting Policies - Narrative (Details)","language":"en-US"},{"forObject":"rpt:group-51","labelType":"xbrl:label","value":"2204201 - Disclosure - Summary of Significant Accounting Policies (Policies)","language":"en-US"},{"forObject":"rpt:group-52","labelType":"xbrl:label","value":"2406403 - Disclosure - Summary of Significant Accounting Policies - Revenue Recognition (Details)","language":"en-US"},{"forObject":"rpt:group-53","labelType":"xbrl:label","value":"2446426 - Disclosure - Leases - Future Minimum Lease Payments (Details)","language":"en-US"},{"forObject":"rpt:group-54","labelType":"xbrl:label","value":"2431416 - Disclosure - Provision for Income Taxes - Components of Provision (Benefit) for Income Taxes (Details)","language":"en-US"},{"forObject":"rpt:group-55","labelType":"xbrl:label","value":"2406403 - Disclosure - Summary of Significant Accounting Policies - Revenue Recognition (Details)","language":"en-US"}],"networks":[{"name":"rpt:network-presentation-16","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:ReceivablesAbstract","order":1.0},{"source":"us-gaap:ReceivablesAbstract","target":"csbr:AccountsReceivableUnbilledServicesAndDeferredRevenueTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-17","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:ReceivablesAbstract","order":1.0},{"source":"us-gaap:ReceivablesAbstract","target":"us-gaap:UnbilledContractsReceivable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ReceivablesAbstract","target":"us-gaap:ContractWithCustomerLiabilityCurrent","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-18","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:ReceivablesAbstract","order":1.0},{"source":"us-gaap:ReceivablesAbstract","target":"csbr:TradeAccountsReceivable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ReceivablesAbstract","target":"us-gaap:UnbilledContractsReceivable","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ReceivablesAbstract","target":"us-gaap:AccountsReceivableGross","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:ReceivablesAbstract","target":"us-gaap:AllowanceForDoubtfulAccountsReceivable","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:ReceivablesAbstract","target":"us-gaap:AccountsReceivableNetCurrent","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]}]},{"name":"rpt:network-presentation-19","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:ReceivablesAbstract","order":1.0},{"source":"us-gaap:ReceivablesAbstract","target":"us-gaap:ContractWithCustomerLiabilityCurrent","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-20","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:ReceivablesAbstract","order":1.0},{"source":"us-gaap:ReceivablesAbstract","target":"us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ReceivablesAbstract","target":"us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-21","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"csbr:AuditorInformationAbstract","order":1.0},{"source":"csbr:AuditorInformationAbstract","target":"dei:AuditorFirmId","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"csbr:AuditorInformationAbstract","target":"dei:AuditorName","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"csbr:AuditorInformationAbstract","target":"dei:AuditorLocation","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-22","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:StatementOfFinancialPositionAbstract","order":1.0},{"source":"us-gaap:StatementOfFinancialPositionAbstract","target":"us-gaap:AssetsAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AssetsAbstract","target":"us-gaap:AssetsCurrentAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AssetsCurrentAbstract","target":"us-gaap:Cash","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","target":"us-gaap:LiabilitiesCurrentAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LiabilitiesCurrentAbstract","target":"us-gaap:AccountsPayableCurrent","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StockholdersEquityAbstract","target":"us-gaap:CommonStockValue","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AssetsCurrentAbstract","target":"us-gaap:AccountsReceivableNetCurrent","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AssetsAbstract","target":"us-gaap:OperatingLeaseRightOfUseAsset","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementOfFinancialPositionAbstract","target":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LiabilitiesCurrentAbstract","target":"us-gaap:AccruedLiabilitiesCurrent","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","target":"us-gaap:OperatingLeaseLiabilityNoncurrent","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StockholdersEquityAbstract","target":"us-gaap:AdditionalPaidInCapitalCommonStock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AssetsCurrentAbstract","target":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AssetsAbstract","target":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LiabilitiesCurrentAbstract","target":"us-gaap:OperatingLeaseLiabilityCurrent","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","target":"us-gaap:OtherLiabilitiesNoncurrent","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StockholdersEquityAbstract","target":"us-gaap:RetainedEarningsAccumulatedDeficit","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AssetsCurrentAbstract","target":"us-gaap:AssetsCurrent","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:AssetsAbstract","target":"us-gaap:OtherAssetsNoncurrent","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LiabilitiesCurrentAbstract","target":"us-gaap:FinanceLeaseLiabilityCurrent","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","target":"us-gaap:Liabilities","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:StockholdersEquityAbstract","target":"us-gaap:StockholdersEquity","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:AssetsAbstract","target":"us-gaap:Goodwill","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LiabilitiesCurrentAbstract","target":"us-gaap:ContractWithCustomerLiabilityCurrent","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","target":"us-gaap:StockholdersEquityAbstract","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AssetsAbstract","target":"us-gaap:Assets","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:LiabilitiesCurrentAbstract","target":"us-gaap:LiabilitiesCurrent","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","target":"us-gaap:LiabilitiesAndStockholdersEquity","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]}]},{"name":"rpt:network-presentation-23","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:StatementOfFinancialPositionAbstract","order":1.0},{"source":"us-gaap:StatementOfFinancialPositionAbstract","target":"us-gaap:CommonStockParOrStatedValuePerShare","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementOfFinancialPositionAbstract","target":"us-gaap:CommonStockSharesAuthorized","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementOfFinancialPositionAbstract","target":"us-gaap:CommonStockSharesIssued","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementOfFinancialPositionAbstract","target":"us-gaap:CommonStockSharesOutstanding","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-24","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:StatementOfStockholdersEquityAbstract","order":1.0},{"source":"us-gaap:StatementOfStockholdersEquityAbstract","target":"us-gaap:StatementTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementTable","target":"us-gaap:StatementEquityComponentsAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementEquityComponentsAxis","target":"us-gaap:EquityComponentDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:CommonStockMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementLineItems","target":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:CommonStockSharesOutstanding","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:TreasuryStockCommonMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementTable","target":"us-gaap:StatementLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:TreasuryStockCommonShares","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:AdditionalPaidInCapitalMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:StockholdersEquity","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:RetainedEarningsMember","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:StockIssuedDuringPeriodSharesOther","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:StockIssuedDuringPeriodValueOther","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:NetIncomeLoss","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:CommonStockSharesOutstanding","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:TreasuryStockCommonShares","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:StockholdersEquity","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]}]},{"name":"rpt:network-presentation-25","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:StatementOfCashFlowsAbstract","order":1.0},{"source":"us-gaap:StatementOfCashFlowsAbstract","target":"us-gaap:NetCashProvidedByUsedInOperatingActivitiesAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:NetIncomeLoss","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:ShareBasedCompensation","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract","target":"us-gaap:IncreaseDecreaseInAccountsReceivable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInInvestingActivitiesAbstract","target":"us-gaap:PaymentsToAcquirePropertyPlantAndEquipment","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInFinancingActivitiesAbstract","target":"csbr:ProceedsFromExerciseOfOptionsAndWarrants","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:NoncashInvestingAndFinancingItemsAbstract","target":"us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:DepreciationAndAmortization","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract","target":"us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:StatementOfCashFlowsAbstract","target":"us-gaap:NetCashProvidedByUsedInInvestingActivitiesAbstract","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInInvestingActivitiesAbstract","target":"csbr:ProceedsFromRefundOfSecurityDeposit","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInFinancingActivitiesAbstract","target":"us-gaap:FinanceLeasePrincipalPayments","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract","target":"us-gaap:IncreaseDecreaseInAccountsPayable","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:NetCashProvidedByUsedInOperatingActivities","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInInvestingActivitiesAbstract","target":"us-gaap:NetCashProvidedByUsedInInvestingActivities","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:StatementOfCashFlowsAbstract","target":"us-gaap:NetCashProvidedByUsedInFinancingActivitiesAbstract","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInFinancingActivitiesAbstract","target":"us-gaap:NetCashProvidedByUsedInFinancingActivities","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","target":"csbr:IncreaseDecreaseInOperatingLeaseRightOfUseAssets","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract","target":"us-gaap:IncreaseDecreaseInAccruedLiabilities","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StatementOfCashFlowsAbstract","target":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:GainLossOnTerminationOfLease","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract","target":"us-gaap:IncreaseDecreaseInOperatingLeaseLiability","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementOfCashFlowsAbstract","target":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:ProvisionForDoubtfulAccounts","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract","target":"us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementOfCashFlowsAbstract","target":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]},{"source":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract","target":"us-gaap:IncreaseDecreaseInDeferredRevenue","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StatementOfCashFlowsAbstract","target":"us-gaap:NoncashInvestingAndFinancingItemsAbstract","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-26","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeStatementAbstract","order":1.0},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:OperatingExpensesAbstract","target":"us-gaap:CostOfGoodsAndServicesSold","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:NonoperatingIncomeExpenseAbstract","target":"us-gaap:OtherNonoperatingIncomeExpense","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"csbr:BasicAndDilutedEarningsPerShareAbstract","target":"us-gaap:EarningsPerShareBasic","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"csbr:EarningsPerShareBasicAndDilutedOtherDisclosureAbstract","target":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:OperatingExpensesAbstract","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:OperatingExpensesAbstract","target":"us-gaap:ResearchAndDevelopmentExpense","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"csbr:BasicAndDilutedEarningsPerShareAbstract","target":"us-gaap:EarningsPerShareDiluted","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"csbr:EarningsPerShareBasicAndDilutedOtherDisclosureAbstract","target":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OperatingExpensesAbstract","target":"us-gaap:SellingAndMarketingExpense","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:OperatingIncomeLoss","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:OperatingExpensesAbstract","target":"us-gaap:GeneralAndAdministrativeExpense","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:NonoperatingIncomeExpenseAbstract","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OperatingExpensesAbstract","target":"us-gaap:OperatingCostsAndExpenses","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:IncomeTaxExpenseBenefit","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:NetIncomeLoss","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"csbr:BasicAndDilutedEarningsPerShareAbstract","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"csbr:EarningsPerShareBasicAndDilutedOtherDisclosureAbstract","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:TypeOfRevenueExtensibleList","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:TypeOfCostGoodOrServiceExtensibleList","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-27","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract","order":1.0},{"source":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract","target":"us-gaap:CommitmentsAndContingenciesDisclosureTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-28","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract","order":1.0},{"source":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract","target":"csbr:CommitmentsAndContingenciesTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"csbr:CommitmentsAndContingenciesTable","target":"srt:RangeAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeAxis","target":"srt:RangeMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeMember","target":"srt:MinimumMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"csbr:CommitmentsAndContingenciesLineItems","target":"csbr:CollaborationArrangementRoyaltyFee","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeMember","target":"srt:MaximumMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"csbr:CommitmentsAndContingenciesTable","target":"csbr:CommitmentsAndContingenciesLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"csbr:CommitmentsAndContingenciesLineItems","target":"csbr:CollaborationArrangementRoyaltyFeePercentOfContractPrice","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"csbr:CommitmentsAndContingenciesLineItems","target":"us-gaap:RoyaltyExpense","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-29","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"dei:CoverAbstract","order":1.0},{"source":"dei:CoverAbstract","target":"dei:DocumentType","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:DocumentAnnualReport","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:DocumentPeriodEndDate","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:CurrentFiscalYearEndDate","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:DocumentTransitionReport","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityFileNumber","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityRegistrantName","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityIncorporationStateCountryCode","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityTaxIdentificationNumber","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityAddressAddressLine1","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityAddressPostalZipCode","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityAddressCityOrTown","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityAddressStateOrProvince","order":13.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:CityAreaCode","order":14.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:LocalPhoneNumber","order":15.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:Security12bTitle","order":16.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:TradingSymbol","order":17.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:SecurityExchangeName","order":18.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityWellKnownSeasonedIssuer","order":19.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityVoluntaryFilers","order":20.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityCurrentReportingStatus","order":21.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityInteractiveDataCurrent","order":22.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityFilerCategory","order":23.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntitySmallBusiness","order":24.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityEmergingGrowthCompany","order":25.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:IcfrAuditorAttestationFlag","order":26.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityShellCompany","order":27.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityPublicFloat","order":28.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityCommonStockSharesOutstanding","order":29.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:DocumentsIncorporatedByReferenceTextBlock","order":30.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityCentralIndexKey","order":31.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:AmendmentFlag","order":32.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:DocumentFiscalPeriodFocus","order":33.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:DocumentFiscalYearFocus","order":34.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-30","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:EarningsPerShareAbstract","order":1.0},{"source":"us-gaap:EarningsPerShareAbstract","target":"us-gaap:EarningsPerShareTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-31","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:EarningsPerShareAbstract","order":1.0},{"source":"us-gaap:EarningsPerShareAbstract","target":"us-gaap:NetIncomeLossAvailableToCommonStockholdersBasicAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:NetIncomeLossAvailableToCommonStockholdersBasicAbstract","target":"us-gaap:NetIncomeLoss","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDilutedAbstract","target":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:NetIncomeLossAvailableToCommonStockholdersBasicAbstract","target":"us-gaap:EarningsPerShareBasic","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:netLabel"}]},{"source":"us-gaap:EarningsPerShareAbstract","target":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDilutedAbstract","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDilutedAbstract","target":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDilutedAbstract","target":"us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDilutedAbstract","target":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDilutedAbstract","target":"us-gaap:EarningsPerShareDiluted","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-32","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:EarningsPerShareAbstract","order":1.0},{"source":"us-gaap:EarningsPerShareAbstract","target":"us-gaap:ScheduleOfStockByClassTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfStockByClassTable","target":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis","target":"us-gaap:AntidilutiveSecuritiesNameDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AntidilutiveSecuritiesNameDomain","target":"us-gaap:EmployeeStockOptionMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ClassOfStockLineItems","target":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfStockByClassTable","target":"us-gaap:ClassOfStockLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-33","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:EarningsPerShareAbstract","order":1.0},{"source":"us-gaap:EarningsPerShareAbstract","target":"us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EarningsPerShareAbstract","target":"us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-34","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:LeasesAbstract","order":1.0},{"source":"us-gaap:LeasesAbstract","target":"us-gaap:LesseeOperatingLeasesTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-35","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:LeasesAbstract","order":1.0},{"source":"us-gaap:LeasesAbstract","target":"us-gaap:LesseeLeaseDescriptionTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LesseeLeaseDescriptionTable","target":"srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis","target":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","target":"csbr:CorporateHeadquartersMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LesseeLeaseDescriptionLineItems","target":"us-gaap:OperatingLeaseExpense","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","target":"csbr:RockvilleMDMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LesseeLeaseDescriptionTable","target":"us-gaap:LesseeLeaseDescriptionLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LesseeLeaseDescriptionLineItems","target":"us-gaap:LesseeOperatingLeaseRenewalTerm","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","target":"csbr:RockvilleMDNewLocationMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LesseeLeaseDescriptionLineItems","target":"us-gaap:OperatingLeaseRightOfUseAsset","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","target":"csbr:MilanItalyMember","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LesseeLeaseDescriptionLineItems","target":"us-gaap:OperatingLeaseLiability","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LesseeLeaseDescriptionLineItems","target":"csbr:OperatingLeaseIncrementalRentExpense","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LesseeLeaseDescriptionLineItems","target":"us-gaap:GainLossOnTerminationOfLease","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LesseeLeaseDescriptionLineItems","target":"us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LesseeLeaseDescriptionLineItems","target":"us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-36","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:LeasesAbstract","order":1.0},{"source":"us-gaap:LeasesAbstract","target":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","target":"us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","target":"us-gaap:OperatingLeaseLiability","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-37","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:LeasesAbstract","order":1.0},{"source":"us-gaap:LeasesAbstract","target":"us-gaap:OperatingLeaseRightOfUseAsset","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LeasesAbstract","target":"us-gaap:OperatingLeaseLiabilityCurrent","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LeasesAbstract","target":"us-gaap:OperatingLeaseLiabilityNoncurrent","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-38","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:LeasesAbstract","order":1.0},{"source":"us-gaap:LeasesAbstract","target":"csbr:AssetsAndLiabilitiesLesseeTableTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LeasesAbstract","target":"us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-39","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract","order":1.0},{"source":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract","target":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-40","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract","order":1.0},{"source":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract","target":"csbr:NumberofOperatingSubsidiaries","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract","target":"us-gaap:NumberOfReportableSegments","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-41","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:PropertyPlantAndEquipmentAbstract","order":1.0},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-42","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:PropertyPlantAndEquipmentAbstract","order":1.0},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","target":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","target":"us-gaap:PropertyPlantAndEquipmentTypeDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"csbr:FinanceLeasedAssetsMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"csbr:FinanceLeaseAxis","target":"csbr:FinanceLeaseDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"csbr:FinanceLeaseDomain","target":"csbr:A2020FinanceLeaseMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:SoftwareAndSoftwareDevelopmentCostsMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","target":"csbr:FinanceLeaseAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"csbr:FinanceLeaseDomain","target":"csbr:A2022FinanceLeaseMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:DepreciationDepletionAndAmortization","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:AssetUnderConstructionMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","target":"us-gaap:PropertyPlantAndEquipmentLineItems","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:FinanceLeaseRightOfUseAsset","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:Depreciation","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:PropertyPlantAndEquipmentUsefulLife","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:PropertyPlantAndEquipmentGross","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:ServicingAssetAtFairValueAmount","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:ServicingAsset","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:HostingArrangementServiceContractImplementationCostExpenseAmortization","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"csbr:FinanceLeaseCost","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"csbr:FinanceLeaseMonthlyPayment","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:FinanceLeaseLiabilityPaymentsDue","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"csbr:PresentValueMinimumFutureObligationsInterestRate","order":13.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","order":14.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-43","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:PropertyPlantAndEquipmentAbstract","order":1.0},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","target":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","target":"us-gaap:PropertyPlantAndEquipmentTypeDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:FurnitureAndFixturesMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:PropertyPlantAndEquipmentGross","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:ComputerEquipmentMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","target":"us-gaap:PropertyPlantAndEquipmentLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:OtherMachineryAndEquipmentMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:SoftwareAndSoftwareDevelopmentCostsMember","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:AssetUnderConstructionMember","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:LeaseholdImprovementsMember","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-44","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:PropertyPlantAndEquipmentAbstract","order":1.0},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"us-gaap:PropertyPlantAndEquipmentTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-45","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeTaxDisclosureAbstract","order":1.0},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:IncomeTaxDisclosureTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-46","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeTaxDisclosureAbstract","order":1.0},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward","target":"us-gaap:UnrecognizedTaxBenefits","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward","target":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward","target":"us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward","target":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward","target":"us-gaap:UnrecognizedTaxBenefits","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]}]},{"name":"rpt:network-presentation-47","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeTaxDisclosureAbstract","order":1.0},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"csbr:DeferredTaxAssetsTaxDeferredExpenseRightOfUseAssetLiability","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"csbr:DeferredTaxLiabilityDeferredExpenseDepreciationAndAmortization","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:DeferredTaxAssetsOperatingLossCarryforwards","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:DeferredTaxAssetsGross","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:DeferredTaxAssetsValuationAllowance","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:DeferredTaxAssetsLiabilitiesNet","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]}]},{"name":"rpt:network-presentation-48","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeTaxDisclosureAbstract","order":1.0},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperationsAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperationsAbstract","target":"us-gaap:CurrentFederalTaxExpenseBenefit","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperationsAbstract","target":"us-gaap:CurrentStateAndLocalTaxExpenseBenefit","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperationsAbstract","target":"us-gaap:CurrentForeignTaxExpenseBenefit","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperationsAbstract","target":"us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperationsAbstract","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperationsAbstract","target":"us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperationsAbstract","target":"us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperationsAbstract","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:CurrentIncomeTaxExpenseBenefit","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:IncomeTaxExpenseBenefit","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]}]},{"name":"rpt:network-presentation-49","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeTaxDisclosureAbstract","order":1.0},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:OperatingLossCarryforwardsValuationAllowance","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:OperatingLossCarryforwards","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"csbr:OperatingLossCarryforwardsLimitationsOnUseAmount","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:UnrecognizedTaxBenefits","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-50","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeTaxDisclosureAbstract","order":1.0},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"csbr:EffectiveIncomeTaxRateReconciliationPermanentDifferences","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"csbr:EffectiveIncomeTaxRateReconciliationIncreaseInUncertainTaxPosition","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]}]},{"name":"rpt:network-presentation-51","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeTaxDisclosureAbstract","order":1.0},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-52","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:RelatedPartyTransactionsAbstract","order":1.0},{"source":"us-gaap:RelatedPartyTransactionsAbstract","target":"us-gaap:RelatedPartyTransactionsDisclosureTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-53","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:RelatedPartyTransactionsAbstract","order":1.0},{"source":"us-gaap:RelatedPartyTransactionsAbstract","target":"us-gaap:ScheduleOfRelatedPartyTransactionsByRelatedPartyTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfRelatedPartyTransactionsByRelatedPartyTable","target":"srt:CounterpartyNameAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:CounterpartyNameAxis","target":"srt:RepurchaseAgreementCounterpartyNameDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RepurchaseAgreementCounterpartyNameDomain","target":"csbr:BoardMemberOneMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:TitleOfIndividualAxis","target":"srt:TitleOfIndividualWithRelationshipToEntityDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:TitleOfIndividualWithRelationshipToEntityDomain","target":"srt:BoardOfDirectorsChairmanMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:RelatedPartyTransactionLineItems","target":"us-gaap:RelatedPartyTransactionAmountsOfTransaction","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"srt:RepurchaseAgreementCounterpartyNameDomain","target":"csbr:BoardMemberTwoMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfRelatedPartyTransactionsByRelatedPartyTable","target":"srt:TitleOfIndividualAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfRelatedPartyTransactionsByRelatedPartyTable","target":"us-gaap:RelatedPartyTransactionLineItems","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-54","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:RevenueFromContractWithCustomerAbstract","order":1.0},{"source":"us-gaap:RevenueFromContractWithCustomerAbstract","target":"us-gaap:RevenueFromContractWithCustomerTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-55","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:RevenueFromContractWithCustomerAbstract","order":1.0},{"source":"us-gaap:RevenueFromContractWithCustomerAbstract","target":"us-gaap:DisaggregationOfRevenueTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueTable","target":"srt:ProductOrServiceAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:ProductOrServiceAxis","target":"srt:ProductsAndServicesDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:ProductsAndServicesDomain","target":"csbr:PharmacologyServicesMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueLineItems","target":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:ProductsAndServicesDomain","target":"csbr:OtherServicesMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueTable","target":"us-gaap:DisaggregationOfRevenueLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:ProductsAndServicesDomain","target":"csbr:PersonalizedOncologyServicesMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-56","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:RevenueFromContractWithCustomerAbstract","order":1.0},{"source":"us-gaap:RevenueFromContractWithCustomerAbstract","target":"us-gaap:DisaggregationOfRevenueTableTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-57","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:RisksAndUncertaintiesAbstract","order":1.0},{"source":"us-gaap:RisksAndUncertaintiesAbstract","target":"us-gaap:ConcentrationRiskDisclosureTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-58","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:RisksAndUncertaintiesAbstract","order":1.0},{"source":"us-gaap:RisksAndUncertaintiesAbstract","target":"us-gaap:ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable","target":"us-gaap:ConcentrationRiskByBenchmarkAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ConcentrationRiskByBenchmarkAxis","target":"us-gaap:ConcentrationRiskBenchmarkDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ConcentrationRiskBenchmarkDomain","target":"us-gaap:AccountsReceivableMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ConcentrationRiskByTypeAxis","target":"us-gaap:ConcentrationRiskTypeDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ConcentrationRiskTypeDomain","target":"us-gaap:CustomerConcentrationRiskMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:MajorCustomersAxis","target":"srt:NameOfMajorCustomerDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:NameOfMajorCustomerDomain","target":"csbr:OneCustomerMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EntityWideRevenueMajorCustomerLineItems","target":"us-gaap:ConcentrationRiskPercentage1","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable","target":"us-gaap:ConcentrationRiskByTypeAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable","target":"srt:MajorCustomersAxis","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable","target":"us-gaap:EntityWideRevenueMajorCustomerLineItems","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-59","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","order":1.0},{"source":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","target":"us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-60","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","order":1.0},{"source":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","target":"us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable","target":"us-gaap:IncomeStatementLocationAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementLocationAxis","target":"us-gaap:IncomeStatementLocationDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementLocationDomain","target":"us-gaap:GeneralAndAdministrativeExpenseMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems","target":"us-gaap:AllocatedShareBasedCompensationExpense","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementLocationDomain","target":"us-gaap:SellingAndMarketingExpenseMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable","target":"us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementLocationDomain","target":"us-gaap:ResearchAndDevelopmentExpenseMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementLocationDomain","target":"csbr:TranslationalOncologySolutionsCostOfSalesMember","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-61","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","order":1.0},{"source":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","target":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:PlanNameAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PlanNameAxis","target":"us-gaap:PlanNameDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PlanNameDomain","target":"csbr:EquityIncentivePlan2021Member","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeAxis","target":"srt:RangeMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeMember","target":"srt:MaximumMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:TitleOfIndividualAxis","target":"srt:TitleOfIndividualWithRelationshipToEntityDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:TitleOfIndividualWithRelationshipToEntityDomain","target":"srt:BoardOfDirectorsChairmanMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:AllocatedShareBasedCompensationExpense","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PlanNameDomain","target":"csbr:EquityIncentivePlan2010Member","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"srt:RangeAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PlanNameDomain","target":"csbr:TwoThousandEightEquityIncentivePlanMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"srt:TitleOfIndividualAxis","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PlanNameDomain","target":"csbr:DirectorCompensationPlanMember","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"csbr:StockOptionsAwardSharesToPurchaseCommonStock","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"csbr:SharebasedCompensationArrangementbySharebasedPaymentAwardTermofOptiontoPurchase","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"csbr:StockOptionsAwardSharesToPurchaseUnregisteredCommonStock","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedPercentage","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-62","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","order":1.0},{"source":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","target":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"srt:TitleOfIndividualAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:TitleOfIndividualAxis","target":"srt:TitleOfIndividualWithRelationshipToEntityDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:TitleOfIndividualWithRelationshipToEntityDomain","target":"csbr:DirectorsAndEmployeesMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"srt:TitleOfIndividualWithRelationshipToEntityDomain","target":"csbr:NonEmployeesMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","target":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","target":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","target":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","target":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCanceledInPeriod","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","target":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsCanceledInPeriodWeightedAverageExercisePrice","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","target":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","target":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOptionsGrantInPeriodWeightedAverageRemainingContractualTerm","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOptionsAggregateIntrinsicValueGranted","order":13.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","order":14.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue","order":15.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1","order":16.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-63","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","order":1.0},{"source":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","target":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"srt:RangeAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeAxis","target":"srt:RangeMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeMember","target":"srt:MinimumMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"srt:RangeMember","target":"srt:MaximumMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-64","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","order":1.0},{"source":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","target":"us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","target":"us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","target":"us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-65","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:AccountingPoliciesAbstract","order":1.0},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:SignificantAccountingPoliciesTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-66","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:AccountingPoliciesAbstract","order":1.0},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","target":"srt:RangeAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeAxis","target":"srt:RangeMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeMember","target":"srt:MinimumMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:Cash","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeMember","target":"srt:MaximumMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","target":"us-gaap:PropertyPlantAndEquipmentLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:CashEquivalentsAtCarryingValue","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:NetIncomeLoss","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:RetainedEarningsAccumulatedDeficit","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"csbr:WorkingCapital","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:PropertyPlantAndEquipmentUsefulLife","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:ImpairmentOfLongLivedAssetsHeldForUse","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:NumberOfReportableSegments","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:UnrecognizedTaxBenefits","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:IncomeTaxExpenseBenefit","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-67","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:AccountingPoliciesAbstract","order":1.0},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:BasisOfAccountingPolicyPolicyTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:ConsolidationPolicyTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:UseOfEstimates","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:FairValueMeasurementPolicyPolicyTextBlock","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:PropertyPlantAndEquipmentPolicyTextBlock","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:LesseeLeasesPolicyTextBlock","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:RevenueFromContractWithCustomerPolicyTextBlock","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"csbr:OtherNoncurrentLiabilitiesPolicyTextBlock","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:CostOfSalesPolicyTextBlock","order":13.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:ResearchAndDevelopmentExpensePolicy","order":14.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"csbr:SalesAndMarketingExpensePolicyPolicyTextBlock","order":15.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:EarningsPerSharePolicyTextBlock","order":16.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy","order":17.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:IncomeTaxPolicyTextBlock","order":18.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock","order":19.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-68","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:AccountingPoliciesAbstract","order":1.0},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable","target":"srt:ProductOrServiceAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:ProductOrServiceAxis","target":"srt:ProductsAndServicesDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:ProductsAndServicesDomain","target":"csbr:FewContractsMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeAxis","target":"srt:RangeMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeMember","target":"srt:MinimumMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems","target":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable","target":"srt:RangeAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeMember","target":"srt:MaximumMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable","target":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable","target":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-calculation-69","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:AccountsReceivableNetCurrent","order":1.0},{"source":"us-gaap:AccountsReceivableNetCurrent","target":"us-gaap:AccountsReceivableGross","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AccountsReceivableGross","target":"csbr:TradeAccountsReceivable","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AccountsReceivableNetCurrent","target":"us-gaap:AllowanceForDoubtfulAccountsReceivable","order":2.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:AccountsReceivableGross","target":"us-gaap:UnbilledContractsReceivable","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-70","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:Assets","order":1.0},{"source":"xbrl:rootSource","target":"us-gaap:LiabilitiesAndStockholdersEquity","order":2.0},{"source":"us-gaap:Assets","target":"us-gaap:AssetsCurrent","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LiabilitiesCurrent","target":"us-gaap:AccountsPayableCurrent","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:Liabilities","target":"us-gaap:LiabilitiesCurrent","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquity","target":"us-gaap:Liabilities","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AssetsCurrent","target":"us-gaap:Cash","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:StockholdersEquity","target":"us-gaap:CommonStockValue","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:Assets","target":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LiabilitiesCurrent","target":"us-gaap:AccruedLiabilitiesCurrent","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:Liabilities","target":"us-gaap:OtherLiabilitiesNoncurrent","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquity","target":"us-gaap:StockholdersEquity","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AssetsCurrent","target":"us-gaap:AccountsReceivableNetCurrent","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:StockholdersEquity","target":"us-gaap:AdditionalPaidInCapitalCommonStock","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:Assets","target":"us-gaap:Goodwill","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LiabilitiesCurrent","target":"us-gaap:ContractWithCustomerLiabilityCurrent","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:Liabilities","target":"us-gaap:OperatingLeaseLiabilityNoncurrent","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AssetsCurrent","target":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:StockholdersEquity","target":"us-gaap:RetainedEarningsAccumulatedDeficit","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:Assets","target":"us-gaap:OtherAssetsNoncurrent","order":4.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LiabilitiesCurrent","target":"us-gaap:OperatingLeaseLiabilityCurrent","order":4.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:Assets","target":"us-gaap:OperatingLeaseRightOfUseAsset","order":5.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LiabilitiesCurrent","target":"us-gaap:FinanceLeaseLiabilityCurrent","order":5.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-71","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","order":1.0},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:NetIncomeLoss","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","target":"us-gaap:NetCashProvidedByUsedInOperatingActivities","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInFinancingActivities","target":"us-gaap:FinanceLeasePrincipalPayments","order":1.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInInvestingActivities","target":"us-gaap:PaymentsToAcquirePropertyPlantAndEquipment","order":1.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:ShareBasedCompensation","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","target":"us-gaap:NetCashProvidedByUsedInInvestingActivities","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInFinancingActivities","target":"csbr:ProceedsFromExerciseOfOptionsAndWarrants","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInInvestingActivities","target":"csbr:ProceedsFromRefundOfSecurityDeposit","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:DepreciationAndAmortization","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","target":"us-gaap:NetCashProvidedByUsedInFinancingActivities","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","order":4.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"csbr:IncreaseDecreaseInOperatingLeaseRightOfUseAssets","order":5.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:ProvisionForDoubtfulAccounts","order":6.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:IncreaseDecreaseInAccountsReceivable","order":7.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets","order":8.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:IncreaseDecreaseInAccountsPayable","order":9.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:IncreaseDecreaseInAccruedLiabilities","order":10.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities","order":11.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:IncreaseDecreaseInDeferredRevenue","order":12.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:IncreaseDecreaseInOperatingLeaseLiability","order":13.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:GainLossOnTerminationOfLease","order":14.0,"properties":[{"property":"xbrl:weight","value":-1.0}]}]},{"name":"rpt:network-calculation-72","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:NetIncomeLoss","order":1.0},{"source":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","target":"us-gaap:OperatingIncomeLoss","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:OperatingCostsAndExpenses","target":"us-gaap:CostOfGoodsAndServicesSold","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:OperatingIncomeLoss","target":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetIncomeLoss","target":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","target":"us-gaap:OtherNonoperatingIncomeExpense","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:OperatingCostsAndExpenses","target":"us-gaap:ResearchAndDevelopmentExpense","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:OperatingIncomeLoss","target":"us-gaap:OperatingCostsAndExpenses","order":2.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:NetIncomeLoss","target":"us-gaap:IncomeTaxExpenseBenefit","order":2.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:OperatingCostsAndExpenses","target":"us-gaap:SellingAndMarketingExpense","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:OperatingCostsAndExpenses","target":"us-gaap:GeneralAndAdministrativeExpense","order":4.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-73","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","order":1.0},{"source":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","target":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","target":"us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-74","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","order":1.0},{"source":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour","order":4.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive","order":5.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive","order":6.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-75","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","order":1.0},{"source":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","target":"us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","target":"us-gaap:OperatingLeaseLiability","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-76","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","order":1.0},{"source":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","target":"us-gaap:PropertyPlantAndEquipmentGross","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","target":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment","order":2.0,"properties":[{"property":"xbrl:weight","value":-1.0}]}]},{"name":"rpt:network-calculation-77","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:DeferredTaxAssetsLiabilitiesNet","order":1.0},{"source":"us-gaap:DeferredTaxAssetsGross","target":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:DeferredTaxAssetsLiabilitiesNet","target":"us-gaap:DeferredTaxAssetsGross","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:DeferredTaxAssetsGross","target":"csbr:DeferredTaxLiabilityDeferredExpenseDepreciationAndAmortization","order":2.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:DeferredTaxAssetsLiabilitiesNet","target":"us-gaap:DeferredTaxAssetsValuationAllowance","order":2.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:DeferredTaxAssetsGross","target":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:DeferredTaxAssetsGross","target":"us-gaap:DeferredTaxAssetsOperatingLossCarryforwards","order":4.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:DeferredTaxAssetsGross","target":"csbr:DeferredTaxAssetsTaxDeferredExpenseRightOfUseAssetLiability","order":5.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-78","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations","order":1.0},{"source":"xbrl:rootSource","target":"us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations","order":2.0},{"source":"xbrl:rootSource","target":"us-gaap:IncomeTaxExpenseBenefit","order":3.0},{"source":"xbrl:rootSource","target":"us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations","order":4.0},{"source":"us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations","target":"us-gaap:CurrentStateAndLocalTaxExpenseBenefit","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations","target":"us-gaap:CurrentForeignTaxExpenseBenefit","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:IncomeTaxExpenseBenefit","target":"us-gaap:CurrentIncomeTaxExpenseBenefit","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:CurrentIncomeTaxExpenseBenefit","target":"us-gaap:CurrentFederalTaxExpenseBenefit","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations","target":"us-gaap:CurrentFederalTaxExpenseBenefit","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:CurrentIncomeTaxExpenseBenefit","target":"us-gaap:CurrentStateAndLocalTaxExpenseBenefit","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:CurrentIncomeTaxExpenseBenefit","target":"us-gaap:CurrentForeignTaxExpenseBenefit","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-79","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeTaxExpenseBenefit","order":1.0},{"source":"us-gaap:IncomeTaxExpenseBenefit","target":"us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:IncomeTaxExpenseBenefit","target":"us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:IncomeTaxExpenseBenefit","target":"us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-80","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","order":1.0},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","target":"us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","target":"us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","target":"us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","target":"csbr:EffectiveIncomeTaxRateReconciliationPermanentDifferences","order":4.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","target":"csbr:EffectiveIncomeTaxRateReconciliationIncreaseInUncertainTaxPosition","order":5.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","target":"us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance","order":6.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]}],"groups":[{"name":"rpt:group-0","groupURI":"http://championsoncology.com/role/AccountsReceivableUnbilledServicesandDeferredRevenue"},{"name":"rpt:group-1","groupURI":"http://championsoncology.com/role/AccountsReceivableUnbilledServicesandDeferredRevenueNarrativeDetails"},{"name":"rpt:group-2","groupURI":"http://championsoncology.com/role/AccountsReceivableUnbilledServicesandDeferredRevenueSummaryofAccountsReceivableandUnbilledServicesDetails"},{"name":"rpt:group-3","groupURI":"http://championsoncology.com/role/AccountsReceivableUnbilledServicesandDeferredRevenueSummaryofDeferredRevenueDetails"},{"name":"rpt:group-4","groupURI":"http://championsoncology.com/role/AccountsReceivableUnbilledServicesandDeferredRevenueTables"},{"name":"rpt:group-5","groupURI":"http://championsoncology.com/role/AuditInformation"},{"name":"rpt:group-6","groupURI":"http://championsoncology.com/role/CONSOLIDATEDBALANCESHEETS"},{"name":"rpt:group-7","groupURI":"http://championsoncology.com/role/CONSOLIDATEDBALANCESHEETSParenthetical"},{"name":"rpt:group-8","groupURI":"http://championsoncology.com/role/CONSOLIDATEDSTATEMENTOFCHANGESINSTOCKHOLDERSEQUITY"},{"name":"rpt:group-9","groupURI":"http://championsoncology.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"},{"name":"rpt:group-10","groupURI":"http://championsoncology.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS"},{"name":"rpt:group-11","groupURI":"http://championsoncology.com/role/CommitmentsandContingencies"},{"name":"rpt:group-12","groupURI":"http://championsoncology.com/role/CommitmentsandContingenciesNarrativeDetails"},{"name":"rpt:group-13","groupURI":"http://championsoncology.com/role/Cover"},{"name":"rpt:group-14","groupURI":"http://championsoncology.com/role/EarningsPerShare"},{"name":"rpt:group-15","groupURI":"http://championsoncology.com/role/EarningsPerShareCalculationsofEarningsPerShareDetails"},{"name":"rpt:group-16","groupURI":"http://championsoncology.com/role/EarningsPerShareSummaryofPotentiallyDilutiveStockbasedInstrumentsDetails"},{"name":"rpt:group-17","groupURI":"http://championsoncology.com/role/EarningsPerShareTables"},{"name":"rpt:group-18","groupURI":"http://championsoncology.com/role/Leases"},{"name":"rpt:group-19","groupURI":"http://championsoncology.com/role/LeasesDetails"},{"name":"rpt:group-20","groupURI":"http://championsoncology.com/role/LeasesFutureMinimumLeasePaymentsDetails"},{"name":"rpt:group-21","groupURI":"http://championsoncology.com/role/LeasesROUAssetsandLeaseLiabilitiesDetails"},{"name":"rpt:group-22","groupURI":"http://championsoncology.com/role/LeasesTables"},{"name":"rpt:group-23","groupURI":"http://championsoncology.com/role/OrganizationandBasisofPresentation"},{"name":"rpt:group-24","groupURI":"http://championsoncology.com/role/OrganizationandBasisofPresentationNarrativeDetails"},{"name":"rpt:group-25","groupURI":"http://championsoncology.com/role/PropertyandEquipment"},{"name":"rpt:group-26","groupURI":"http://championsoncology.com/role/PropertyandEquipmentNarrativeDetails"},{"name":"rpt:group-27","groupURI":"http://championsoncology.com/role/PropertyandEquipmentSummaryofPropertyandEquipmentDetails"},{"name":"rpt:group-28","groupURI":"http://championsoncology.com/role/PropertyandEquipmentTables"},{"name":"rpt:group-29","groupURI":"http://championsoncology.com/role/ProvisionforIncomeTaxes"},{"name":"rpt:group-30","groupURI":"http://championsoncology.com/role/ProvisionforIncomeTaxesChangeinUncertainTaxPositionsDetails"},{"name":"rpt:group-31","groupURI":"http://championsoncology.com/role/ProvisionforIncomeTaxesComponentsofDeferredTaxAssetsandLiabilitiesDetails"},{"name":"rpt:group-32","groupURI":"http://championsoncology.com/role/ProvisionforIncomeTaxesComponentsofProvisionBenefitforIncomeTaxesDetails"},{"name":"rpt:group-33","groupURI":"http://championsoncology.com/role/ProvisionforIncomeTaxesNarrativeDetails"},{"name":"rpt:group-34","groupURI":"http://championsoncology.com/role/ProvisionforIncomeTaxesReconciliationofEffectiveTaxRateDetails"},{"name":"rpt:group-35","groupURI":"http://championsoncology.com/role/ProvisionforIncomeTaxesTables"},{"name":"rpt:group-36","groupURI":"http://championsoncology.com/role/RelatedPartyTransactions"},{"name":"rpt:group-37","groupURI":"http://championsoncology.com/role/RelatedPartyTransactionsNarrativeDetails"},{"name":"rpt:group-38","groupURI":"http://championsoncology.com/role/RevenuefromContractswithCustomers"},{"name":"rpt:group-39","groupURI":"http://championsoncology.com/role/RevenuefromContractswithCustomersDetails"},{"name":"rpt:group-40","groupURI":"http://championsoncology.com/role/RevenuefromContractswithCustomersTables"},{"name":"rpt:group-41","groupURI":"http://championsoncology.com/role/SignificantCustomers"},{"name":"rpt:group-42","groupURI":"http://championsoncology.com/role/SignificantCustomersDetails"},{"name":"rpt:group-43","groupURI":"http://championsoncology.com/role/StockbasedPayments"},{"name":"rpt:group-44","groupURI":"http://championsoncology.com/role/StockbasedPaymentsAllocationofStockbasedCompensationCostsDetails"},{"name":"rpt:group-45","groupURI":"http://championsoncology.com/role/StockbasedPaymentsNarrativeDetails"},{"name":"rpt:group-46","groupURI":"http://championsoncology.com/role/StockbasedPaymentsStockOptionActivityDetails"},{"name":"rpt:group-47","groupURI":"http://championsoncology.com/role/StockbasedPaymentsStockOptionGrantsAssumptionsDetails"},{"name":"rpt:group-48","groupURI":"http://championsoncology.com/role/StockbasedPaymentsTables"},{"name":"rpt:group-49","groupURI":"http://championsoncology.com/role/SummaryofSignificantAccountingPolicies"},{"name":"rpt:group-50","groupURI":"http://championsoncology.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails"},{"name":"rpt:group-51","groupURI":"http://championsoncology.com/role/SummaryofSignificantAccountingPoliciesPolicies"},{"name":"rpt:group-52","groupURI":"http://championsoncology.com/role/SummaryofSignificantAccountingPoliciesRevenueRecognitionDetails"},{"name":"rpt:group-53","groupURI":"http://championsoncology.com/role/LeasesFutureMinimumLeasePaymentsDetails_1"},{"name":"rpt:group-54","groupURI":"http://championsoncology.com/role/ProvisionforIncomeTaxesComponentsofProvisionBenefitforIncomeTaxesDetails_1"},{"name":"rpt:group-55","groupURI":"http://championsoncology.com/role/SummaryofSignificantAccountingPoliciesRevenueRecognitionDetails_1"}],"groupContents":[{"groupName":"rpt:group-0","forObject":"rpt:network-presentation-16"},{"groupName":"rpt:group-1","forObject":"rpt:network-presentation-17"},{"groupName":"rpt:group-2","forObject":"rpt:network-presentation-18"},{"groupName":"rpt:group-3","forObject":"rpt:network-presentation-19"},{"groupName":"rpt:group-4","forObject":"rpt:network-presentation-20"},{"groupName":"rpt:group-5","forObject":"rpt:network-presentation-21"},{"groupName":"rpt:group-6","forObject":"rpt:network-presentation-22"},{"groupName":"rpt:group-7","forObject":"rpt:network-presentation-23"},{"groupName":"rpt:group-8","forObject":"rpt:network-presentation-24"},{"groupName":"rpt:group-9","forObject":"rpt:network-presentation-25"},{"groupName":"rpt:group-10","forObject":"rpt:network-presentation-26"},{"groupName":"rpt:group-11","forObject":"rpt:network-presentation-27"},{"groupName":"rpt:group-12","forObject":"rpt:network-presentation-28"},{"groupName":"rpt:group-13","forObject":"rpt:network-presentation-29"},{"groupName":"rpt:group-14","forObject":"rpt:network-presentation-30"},{"groupName":"rpt:group-15","forObject":"rpt:network-presentation-31"},{"groupName":"rpt:group-16","forObject":"rpt:network-presentation-32"},{"groupName":"rpt:group-17","forObject":"rpt:network-presentation-33"},{"groupName":"rpt:group-18","forObject":"rpt:network-presentation-34"},{"groupName":"rpt:group-19","forObject":"rpt:network-presentation-35"},{"groupName":"rpt:group-20","forObject":"rpt:network-presentation-36"},{"groupName":"rpt:group-21","forObject":"rpt:network-presentation-37"},{"groupName":"rpt:group-22","forObject":"rpt:network-presentation-38"},{"groupName":"rpt:group-23","forObject":"rpt:network-presentation-39"},{"groupName":"rpt:group-24","forObject":"rpt:network-presentation-40"},{"groupName":"rpt:group-25","forObject":"rpt:network-presentation-41"},{"groupName":"rpt:group-26","forObject":"rpt:network-presentation-42"},{"groupName":"rpt:group-27","forObject":"rpt:network-presentation-43"},{"groupName":"rpt:group-28","forObject":"rpt:network-presentation-44"},{"groupName":"rpt:group-29","forObject":"rpt:network-presentation-45"},{"groupName":"rpt:group-30","forObject":"rpt:network-presentation-46"},{"groupName":"rpt:group-31","forObject":"rpt:network-presentation-47"},{"groupName":"rpt:group-32","forObject":"rpt:network-presentation-48"},{"groupName":"rpt:group-33","forObject":"rpt:network-presentation-49"},{"groupName":"rpt:group-34","forObject":"rpt:network-presentation-50"},{"groupName":"rpt:group-35","forObject":"rpt:network-presentation-51"},{"groupName":"rpt:group-36","forObject":"rpt:network-presentation-52"},{"groupName":"rpt:group-37","forObject":"rpt:network-presentation-53"},{"groupName":"rpt:group-38","forObject":"rpt:network-presentation-54"},{"groupName":"rpt:group-39","forObject":"rpt:network-presentation-55"},{"groupName":"rpt:group-40","forObject":"rpt:network-presentation-56"},{"groupName":"rpt:group-41","forObject":"rpt:network-presentation-57"},{"groupName":"rpt:group-42","forObject":"rpt:network-presentation-58"},{"groupName":"rpt:group-43","forObject":"rpt:network-presentation-59"},{"groupName":"rpt:group-44","forObject":"rpt:network-presentation-60"},{"groupName":"rpt:group-45","forObject":"rpt:network-presentation-61"},{"groupName":"rpt:group-46","forObject":"rpt:network-presentation-62"},{"groupName":"rpt:group-47","forObject":"rpt:network-presentation-63"},{"groupName":"rpt:group-48","forObject":"rpt:network-presentation-64"},{"groupName":"rpt:group-49","forObject":"rpt:network-presentation-65"},{"groupName":"rpt:group-50","forObject":"rpt:network-presentation-66"},{"groupName":"rpt:group-51","forObject":"rpt:network-presentation-67"},{"groupName":"rpt:group-52","forObject":"rpt:network-presentation-68"},{"groupName":"rpt:group-2","forObject":"rpt:network-calculation-69"},{"groupName":"rpt:group-6","forObject":"rpt:network-calculation-70"},{"groupName":"rpt:group-9","forObject":"rpt:network-calculation-71"},{"groupName":"rpt:group-10","forObject":"rpt:network-calculation-72"},{"groupName":"rpt:group-15","forObject":"rpt:network-calculation-73"},{"groupName":"rpt:group-20","forObject":"rpt:network-calculation-74"},{"groupName":"rpt:group-53","forObject":"rpt:network-calculation-75"},{"groupName":"rpt:group-27","forObject":"rpt:network-calculation-76"},{"groupName":"rpt:group-31","forObject":"rpt:network-calculation-77"},{"groupName":"rpt:group-32","forObject":"rpt:network-calculation-78"},{"groupName":"rpt:group-54","forObject":"rpt:network-calculation-79"},{"groupName":"rpt:group-34","forObject":"rpt:network-calculation-80"},{"groupName":"rpt:group-8","forObject":"rpt:cube-0"},{"groupName":"rpt:group-12","forObject":"rpt:cube-1"},{"groupName":"rpt:group-16","forObject":"rpt:cube-2"},{"groupName":"rpt:group-19","forObject":"rpt:cube-3"},{"groupName":"rpt:group-26","forObject":"rpt:cube-4"},{"groupName":"rpt:group-27","forObject":"rpt:cube-5"},{"groupName":"rpt:group-37","forObject":"rpt:cube-6"},{"groupName":"rpt:group-39","forObject":"rpt:cube-7"},{"groupName":"rpt:group-42","forObject":"rpt:cube-8"},{"groupName":"rpt:group-44","forObject":"rpt:cube-9"},{"groupName":"rpt:group-45","forObject":"rpt:cube-10"},{"groupName":"rpt:group-46","forObject":"rpt:cube-11"},{"groupName":"rpt:group-47","forObject":"rpt:cube-12"},{"groupName":"rpt:group-50","forObject":"rpt:cube-13"},{"groupName":"rpt:group-52","forObject":"rpt:cube-14"},{"groupName":"rpt:group-55","forObject":"rpt:cube-15"}],"facts":[{"name":"rpt:f-0","factDimensions":{"xbrl:concept":"dei:EntityCentralIndexKey","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"0000771856","language":"en-us"}]},{"name":"rpt:f-1","factDimensions":{"xbrl:concept":"dei:AmendmentFlag","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"false"}]},{"name":"rpt:f-2","factDimensions":{"xbrl:concept":"dei:DocumentFiscalPeriodFocus","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"FY","language":"en-us"}]},{"name":"rpt:f-3","factDimensions":{"xbrl:concept":"dei:DocumentFiscalYearFocus","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"2022"}]},{"name":"rpt:f-4","factDimensions":{"xbrl:concept":"us-gaap:TypeOfRevenueExtensibleList","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"http://fasb.org/us-gaap/2022#ServiceMember"}]},{"name":"rpt:f-5","factDimensions":{"xbrl:concept":"us-gaap:TypeOfRevenueExtensibleList","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"http://fasb.org/us-gaap/2022#ServiceMember"}]},{"name":"rpt:f-6","factDimensions":{"xbrl:concept":"us-gaap:TypeOfCostGoodOrServiceExtensibleList","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"http://fasb.org/us-gaap/2022#ServiceMember"}]},{"name":"rpt:f-7","factDimensions":{"xbrl:concept":"us-gaap:TypeOfCostGoodOrServiceExtensibleList","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"http://fasb.org/us-gaap/2022#ServiceMember"}]},{"name":"rpt:f-8","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentUsefulLife","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","srt:RangeAxis":"srt:MinimumMember"},"factValues":[{"value":"P3Y"}]},{"name":"rpt:f-9","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"http://fasb.org/us-gaap/2022#PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization"}]},{"name":"rpt:f-10","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"http://fasb.org/us-gaap/2022#PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization"}]},{"name":"rpt:f-11","factDimensions":{"xbrl:concept":"dei:DocumentType","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"10-K","language":"en-us"}]},{"name":"rpt:f-12","factDimensions":{"xbrl:concept":"dei:DocumentAnnualReport","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"true"}]},{"name":"rpt:f-13","factDimensions":{"xbrl:concept":"dei:DocumentPeriodEndDate","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"2022-04-30"}]},{"name":"rpt:f-14","factDimensions":{"xbrl:concept":"dei:CurrentFiscalYearEndDate","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"--04-30"}]},{"name":"rpt:f-15","factDimensions":{"xbrl:concept":"dei:DocumentTransitionReport","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"false"}]},{"name":"rpt:f-16","factDimensions":{"xbrl:concept":"dei:EntityFileNumber","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"001-11504","language":"en-us"}]},{"name":"rpt:f-17","factDimensions":{"xbrl:concept":"dei:EntityRegistrantName","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"CHAMPIONS ONCOLOGY, INC.","language":"en-us"}]},{"name":"rpt:f-18","factDimensions":{"xbrl:concept":"dei:EntityIncorporationStateCountryCode","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"DE","language":"en-us"}]},{"name":"rpt:f-19","factDimensions":{"xbrl:concept":"dei:EntityTaxIdentificationNumber","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"52-1401755","language":"en-us"}]},{"name":"rpt:f-20","factDimensions":{"xbrl:concept":"dei:EntityAddressAddressLine1","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"One University Plaza, Suite 307","language":"en-us"}]},{"name":"rpt:f-21","factDimensions":{"xbrl:concept":"dei:EntityAddressPostalZipCode","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"07601","language":"en-us"}]},{"name":"rpt:f-22","factDimensions":{"xbrl:concept":"dei:EntityAddressCityOrTown","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Hackensack","language":"en-us"}]},{"name":"rpt:f-23","factDimensions":{"xbrl:concept":"dei:EntityAddressStateOrProvince","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"NJ","language":"en-us"}]},{"name":"rpt:f-24","factDimensions":{"xbrl:concept":"dei:CityAreaCode","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"201","language":"en-us"}]},{"name":"rpt:f-25","factDimensions":{"xbrl:concept":"dei:LocalPhoneNumber","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"808-8400","language":"en-us"}]},{"name":"rpt:f-26","factDimensions":{"xbrl:concept":"dei:Security12bTitle","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Common Stock, par value $0.001 per share","language":"en-us"}]},{"name":"rpt:f-27","factDimensions":{"xbrl:concept":"dei:TradingSymbol","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"CSBR","language":"en-us"}]},{"name":"rpt:f-28","factDimensions":{"xbrl:concept":"dei:SecurityExchangeName","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"NASDAQ","language":"en-us"}]},{"name":"rpt:f-29","factDimensions":{"xbrl:concept":"dei:EntityWellKnownSeasonedIssuer","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"No","language":"en-us"}]},{"name":"rpt:f-30","factDimensions":{"xbrl:concept":"dei:EntityVoluntaryFilers","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"No","language":"en-us"}]},{"name":"rpt:f-31","factDimensions":{"xbrl:concept":"dei:EntityCurrentReportingStatus","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Yes","language":"en-us"}]},{"name":"rpt:f-32","factDimensions":{"xbrl:concept":"dei:EntityInteractiveDataCurrent","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Yes","language":"en-us"}]},{"name":"rpt:f-33","factDimensions":{"xbrl:concept":"dei:EntityFilerCategory","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Non-accelerated Filer","language":"en-us"}]},{"name":"rpt:f-34","factDimensions":{"xbrl:concept":"dei:EntitySmallBusiness","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"true"}]},{"name":"rpt:f-35","factDimensions":{"xbrl:concept":"dei:EntityEmergingGrowthCompany","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"false"}]},{"name":"rpt:f-36","factDimensions":{"xbrl:concept":"dei:IcfrAuditorAttestationFlag","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"false"}]},{"name":"rpt:f-37","factDimensions":{"xbrl:concept":"dei:EntityShellCompany","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"false"}]},{"name":"rpt:f-38","factDimensions":{"xbrl:concept":"dei:EntityPublicFloat","xbrl:period":"2021-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"44000000","decimals":-5}]},{"name":"rpt:f-39","factDimensions":{"xbrl:concept":"dei:EntityCommonStockSharesOutstanding","xbrl:period":"2022-07-21T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13522441"}]},{"name":"rpt:f-40","factDimensions":{"xbrl:concept":"dei:DocumentsIncorporatedByReferenceTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Portions of the Registrant\u2019s definitive Proxy Statement for its 2021 Annual Meeting of Shareholders to be filed with the Securities and Exchange Commission pursuant to Regulation 14A under the Securities Exchange Act of 1934, as amended, are incorporated by reference into Part III of this Form 10-K.","language":"en-us"}]},{"name":"rpt:f-41","factDimensions":{"xbrl:concept":"dei:AuditorFirmId","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"274","language":"en-us"}]},{"name":"rpt:f-42","factDimensions":{"xbrl:concept":"dei:AuditorName","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"EisnerAmper LLP","language":"en-us"}]},{"name":"rpt:f-43","factDimensions":{"xbrl:concept":"dei:AuditorLocation","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Iselin, New Jersey","language":"en-us"}]},{"name":"rpt:f-44","factDimensions":{"xbrl:concept":"us-gaap:Cash","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9007000","decimals":-3}]},{"name":"rpt:f-45","factDimensions":{"xbrl:concept":"us-gaap:Cash","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4687000","decimals":-3}]},{"name":"rpt:f-46","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableNetCurrent","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9513000","decimals":-3}]},{"name":"rpt:f-47","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableNetCurrent","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6986000","decimals":-3}]},{"name":"rpt:f-48","factDimensions":{"xbrl:concept":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1144000","decimals":-3}]},{"name":"rpt:f-49","factDimensions":{"xbrl:concept":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"957000","decimals":-3}]},{"name":"rpt:f-50","factDimensions":{"xbrl:concept":"us-gaap:AssetsCurrent","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"19664000","decimals":-3}]},{"name":"rpt:f-51","factDimensions":{"xbrl:concept":"us-gaap:AssetsCurrent","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"12630000","decimals":-3}]},{"name":"rpt:f-52","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseRightOfUseAsset","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8230000","decimals":-3}]},{"name":"rpt:f-53","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseRightOfUseAsset","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8521000","decimals":-3}]},{"name":"rpt:f-54","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"7134000","decimals":-3}]},{"name":"rpt:f-55","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6090000","decimals":-3}]},{"name":"rpt:f-56","factDimensions":{"xbrl:concept":"us-gaap:OtherAssetsNoncurrent","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"15000","decimals":-3}]},{"name":"rpt:f-57","factDimensions":{"xbrl:concept":"us-gaap:OtherAssetsNoncurrent","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"15000","decimals":-3}]},{"name":"rpt:f-58","factDimensions":{"xbrl:concept":"us-gaap:Goodwill","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"335000","decimals":-3}]},{"name":"rpt:f-59","factDimensions":{"xbrl:concept":"us-gaap:Goodwill","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"335000","decimals":-3}]},{"name":"rpt:f-60","factDimensions":{"xbrl:concept":"us-gaap:Assets","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"35378000","decimals":-3}]},{"name":"rpt:f-61","factDimensions":{"xbrl:concept":"us-gaap:Assets","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"27591000","decimals":-3}]},{"name":"rpt:f-62","factDimensions":{"xbrl:concept":"us-gaap:AccountsPayableCurrent","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2868000","decimals":-3}]},{"name":"rpt:f-63","factDimensions":{"xbrl:concept":"us-gaap:AccountsPayableCurrent","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1894000","decimals":-3}]},{"name":"rpt:f-64","factDimensions":{"xbrl:concept":"us-gaap:AccruedLiabilitiesCurrent","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2414000","decimals":-3}]},{"name":"rpt:f-65","factDimensions":{"xbrl:concept":"us-gaap:AccruedLiabilitiesCurrent","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2231000","decimals":-3}]},{"name":"rpt:f-66","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiabilityCurrent","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1054000","decimals":-3}]},{"name":"rpt:f-67","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiabilityCurrent","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"818000","decimals":-3}]},{"name":"rpt:f-68","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseLiabilityCurrent","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"72000","decimals":-3}]},{"name":"rpt:f-69","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseLiabilityCurrent","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-70","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiabilityCurrent","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"11071000","decimals":-3}]},{"name":"rpt:f-71","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiabilityCurrent","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6256000","decimals":-3}]},{"name":"rpt:f-72","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesCurrent","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"17479000","decimals":-3}]},{"name":"rpt:f-73","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesCurrent","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"11199000","decimals":-3}]},{"name":"rpt:f-74","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiabilityNoncurrent","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8412000","decimals":-3}]},{"name":"rpt:f-75","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiabilityNoncurrent","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8783000","decimals":-3}]},{"name":"rpt:f-76","factDimensions":{"xbrl:concept":"us-gaap:OtherLiabilitiesNoncurrent","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"391000","decimals":-3}]},{"name":"rpt:f-77","factDimensions":{"xbrl:concept":"us-gaap:OtherLiabilitiesNoncurrent","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"181000","decimals":-3}]},{"name":"rpt:f-78","factDimensions":{"xbrl:concept":"us-gaap:Liabilities","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"26282000","decimals":-3}]},{"name":"rpt:f-79","factDimensions":{"xbrl:concept":"us-gaap:Liabilities","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"20163000","decimals":-3}]},{"name":"rpt:f-80","factDimensions":{"xbrl:concept":"us-gaap:CommonStockParOrStatedValuePerShare","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.001"}]},{"name":"rpt:f-81","factDimensions":{"xbrl:concept":"us-gaap:CommonStockParOrStatedValuePerShare","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.001"}]},{"name":"rpt:f-82","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesAuthorized","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"200000000"}]},{"name":"rpt:f-83","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesAuthorized","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"200000000"}]},{"name":"rpt:f-84","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesIssued","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13522441"}]},{"name":"rpt:f-85","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesOutstanding","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13522441"}]},{"name":"rpt:f-86","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesIssued","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13414066"}]},{"name":"rpt:f-87","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesOutstanding","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13414066"}]},{"name":"rpt:f-88","factDimensions":{"xbrl:concept":"us-gaap:CommonStockValue","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"14000","decimals":-3}]},{"name":"rpt:f-89","factDimensions":{"xbrl:concept":"us-gaap:CommonStockValue","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"13000","decimals":-3}]},{"name":"rpt:f-90","factDimensions":{"xbrl:concept":"us-gaap:AdditionalPaidInCapitalCommonStock","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"81064000","decimals":-3}]},{"name":"rpt:f-91","factDimensions":{"xbrl:concept":"us-gaap:AdditionalPaidInCapitalCommonStock","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"79945000","decimals":-3}]},{"name":"rpt:f-92","factDimensions":{"xbrl:concept":"us-gaap:RetainedEarningsAccumulatedDeficit","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-71982000","decimals":-3}]},{"name":"rpt:f-93","factDimensions":{"xbrl:concept":"us-gaap:RetainedEarningsAccumulatedDeficit","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-72530000","decimals":-3}]},{"name":"rpt:f-94","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9096000","decimals":-3}]},{"name":"rpt:f-95","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"7428000","decimals":-3}]},{"name":"rpt:f-96","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesAndStockholdersEquity","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"35378000","decimals":-3}]},{"name":"rpt:f-97","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesAndStockholdersEquity","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"27591000","decimals":-3}]},{"name":"rpt:f-98","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"49109000","decimals":-3}]},{"name":"rpt:f-99","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"41040000","decimals":-3}]},{"name":"rpt:f-100","factDimensions":{"xbrl:concept":"us-gaap:CostOfGoodsAndServicesSold","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"23632000","decimals":-3}]},{"name":"rpt:f-101","factDimensions":{"xbrl:concept":"us-gaap:CostOfGoodsAndServicesSold","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"21446000","decimals":-3}]},{"name":"rpt:f-102","factDimensions":{"xbrl:concept":"us-gaap:ResearchAndDevelopmentExpense","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9374000","decimals":-3}]},{"name":"rpt:f-103","factDimensions":{"xbrl:concept":"us-gaap:ResearchAndDevelopmentExpense","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"7196000","decimals":-3}]},{"name":"rpt:f-104","factDimensions":{"xbrl:concept":"us-gaap:SellingAndMarketingExpense","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6379000","decimals":-3}]},{"name":"rpt:f-105","factDimensions":{"xbrl:concept":"us-gaap:SellingAndMarketingExpense","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5520000","decimals":-3}]},{"name":"rpt:f-106","factDimensions":{"xbrl:concept":"us-gaap:GeneralAndAdministrativeExpense","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9117000","decimals":-3}]},{"name":"rpt:f-107","factDimensions":{"xbrl:concept":"us-gaap:GeneralAndAdministrativeExpense","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6512000","decimals":-3}]},{"name":"rpt:f-108","factDimensions":{"xbrl:concept":"us-gaap:OperatingCostsAndExpenses","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"48502000","decimals":-3}]},{"name":"rpt:f-109","factDimensions":{"xbrl:concept":"us-gaap:OperatingCostsAndExpenses","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"40674000","decimals":-3}]},{"name":"rpt:f-110","factDimensions":{"xbrl:concept":"us-gaap:OperatingIncomeLoss","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"607000","decimals":-3}]},{"name":"rpt:f-111","factDimensions":{"xbrl:concept":"us-gaap:OperatingIncomeLoss","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"366000","decimals":-3}]},{"name":"rpt:f-112","factDimensions":{"xbrl:concept":"us-gaap:OtherNonoperatingIncomeExpense","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-24000","decimals":-3}]},{"name":"rpt:f-113","factDimensions":{"xbrl:concept":"us-gaap:OtherNonoperatingIncomeExpense","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"71000","decimals":-3}]},{"name":"rpt:f-114","factDimensions":{"xbrl:concept":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"583000","decimals":-3}]},{"name":"rpt:f-115","factDimensions":{"xbrl:concept":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"437000","decimals":-3}]},{"name":"rpt:f-116","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxExpenseBenefit","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"35000","decimals":-3}]},{"name":"rpt:f-117","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxExpenseBenefit","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"75000","decimals":-3}]},{"name":"rpt:f-118","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"548000","decimals":-3}]},{"name":"rpt:f-119","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"362000","decimals":-3}]},{"name":"rpt:f-120","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasic","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.04","decimals":2}]},{"name":"rpt:f-121","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasic","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.03","decimals":2}]},{"name":"rpt:f-122","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareDiluted","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.04","decimals":2}]},{"name":"rpt:f-123","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareDiluted","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.02","decimals":2}]},{"name":"rpt:f-124","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13197170","decimals":0}]},{"name":"rpt:f-125","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13138995","decimals":0}]},{"name":"rpt:f-126","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"14159799","decimals":0}]},{"name":"rpt:f-127","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"14573561","decimals":0}]},{"name":"rpt:f-128","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesOutstanding","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"12726728"}]},{"name":"rpt:f-129","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"13000","decimals":-3}]},{"name":"rpt:f-130","factDimensions":{"xbrl:concept":"us-gaap:TreasuryStockCommonShares","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:TreasuryStockCommonMember"}},{"name":"rpt:f-131","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:TreasuryStockCommonMember"}},{"name":"rpt:f-132","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"77978000","decimals":-3}]},{"name":"rpt:f-133","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember"},"factValues":[{"value":"-72892000","decimals":-3}]},{"name":"rpt:f-134","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5099000","decimals":-3}]},{"name":"rpt:f-135","factDimensions":{"xbrl:concept":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"598000","decimals":-3}]},{"name":"rpt:f-136","factDimensions":{"xbrl:concept":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"598000","decimals":-3}]},{"name":"rpt:f-137","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodSharesOther","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"687338"}]},{"name":"rpt:f-138","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueOther","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"1369000","decimals":-3}]},{"name":"rpt:f-139","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueOther","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1369000","decimals":-3}]},{"name":"rpt:f-140","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember"},"factValues":[{"value":"362000","decimals":-3}]},{"name":"rpt:f-141","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"362000","decimals":-3}]},{"name":"rpt:f-142","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesOutstanding","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"13414066"}]},{"name":"rpt:f-143","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"13000","decimals":-3}]},{"name":"rpt:f-144","factDimensions":{"xbrl:concept":"us-gaap:TreasuryStockCommonShares","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:TreasuryStockCommonMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-145","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:TreasuryStockCommonMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-146","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"79945000","decimals":-3}]},{"name":"rpt:f-147","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember"},"factValues":[{"value":"-72530000","decimals":-3}]},{"name":"rpt:f-148","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"7428000","decimals":-3}]},{"name":"rpt:f-149","factDimensions":{"xbrl:concept":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"912000","decimals":-3}]},{"name":"rpt:f-150","factDimensions":{"xbrl:concept":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"912000","decimals":-3}]},{"name":"rpt:f-151","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodSharesOther","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"108375"}]},{"name":"rpt:f-152","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueOther","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"1000","decimals":-3}]},{"name":"rpt:f-153","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueOther","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"207000","decimals":-3}]},{"name":"rpt:f-154","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueOther","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"208000","decimals":-3}]},{"name":"rpt:f-155","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember"},"factValues":[{"value":"548000","decimals":-3}]},{"name":"rpt:f-156","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"548000","decimals":-3}]},{"name":"rpt:f-157","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesOutstanding","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"13522441"}]},{"name":"rpt:f-158","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"14000","decimals":-3}]},{"name":"rpt:f-159","factDimensions":{"xbrl:concept":"us-gaap:TreasuryStockCommonShares","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:TreasuryStockCommonMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-160","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:TreasuryStockCommonMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-161","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"81064000","decimals":-3}]},{"name":"rpt:f-162","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember"},"factValues":[{"value":"-71982000","decimals":-3}]},{"name":"rpt:f-163","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9096000","decimals":-3}]},{"name":"rpt:f-164","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"548000","decimals":-3}]},{"name":"rpt:f-165","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"362000","decimals":-3}]},{"name":"rpt:f-166","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensation","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"912000","decimals":-3}]},{"name":"rpt:f-167","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensation","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"598000","decimals":-3}]},{"name":"rpt:f-168","factDimensions":{"xbrl:concept":"us-gaap:DepreciationAndAmortization","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1627000","decimals":-3}]},{"name":"rpt:f-169","factDimensions":{"xbrl:concept":"us-gaap:DepreciationAndAmortization","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1184000","decimals":-3}]},{"name":"rpt:f-170","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4000","decimals":-3}]},{"name":"rpt:f-171","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-172","factDimensions":{"xbrl:concept":"csbr:IncreaseDecreaseInOperatingLeaseRightOfUseAssets","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"786000","decimals":-3}]},{"name":"rpt:f-173","factDimensions":{"xbrl:concept":"csbr:IncreaseDecreaseInOperatingLeaseRightOfUseAssets","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"398000","decimals":-3}]},{"name":"rpt:f-174","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnTerminationOfLease","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-175","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnTerminationOfLease","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"75000","decimals":-3}]},{"name":"rpt:f-176","factDimensions":{"xbrl:concept":"us-gaap:ProvisionForDoubtfulAccounts","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"292000","decimals":-3}]},{"name":"rpt:f-177","factDimensions":{"xbrl:concept":"us-gaap:ProvisionForDoubtfulAccounts","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"49000","decimals":-3}]},{"name":"rpt:f-178","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInAccountsReceivable","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2818000","decimals":-3}]},{"name":"rpt:f-179","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInAccountsReceivable","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2265000","decimals":-3}]},{"name":"rpt:f-180","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"187000","decimals":-3}]},{"name":"rpt:f-181","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"572000","decimals":-3}]},{"name":"rpt:f-182","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInAccountsPayable","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"974000","decimals":-3}]},{"name":"rpt:f-183","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInAccountsPayable","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-1246000","decimals":-3}]},{"name":"rpt:f-184","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInAccruedLiabilities","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"183000","decimals":-3}]},{"name":"rpt:f-185","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInAccruedLiabilities","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-316000","decimals":-3}]},{"name":"rpt:f-186","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInOperatingLeaseLiability","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-631000","decimals":-3}]},{"name":"rpt:f-187","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInOperatingLeaseLiability","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-242000","decimals":-3}]},{"name":"rpt:f-188","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-189","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3000","decimals":-3}]},{"name":"rpt:f-190","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInDeferredRevenue","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4815000","decimals":-3}]},{"name":"rpt:f-191","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInDeferredRevenue","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"441000","decimals":-3}]},{"name":"rpt:f-192","factDimensions":{"xbrl:concept":"us-gaap:NetCashProvidedByUsedInOperatingActivities","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6497000","decimals":-3}]},{"name":"rpt:f-193","factDimensions":{"xbrl:concept":"us-gaap:NetCashProvidedByUsedInOperatingActivities","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-1681000","decimals":-3}]},{"name":"rpt:f-194","factDimensions":{"xbrl:concept":"us-gaap:PaymentsToAcquirePropertyPlantAndEquipment","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2384000","decimals":-3}]},{"name":"rpt:f-195","factDimensions":{"xbrl:concept":"us-gaap:PaymentsToAcquirePropertyPlantAndEquipment","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3281000","decimals":-3}]},{"name":"rpt:f-196","factDimensions":{"xbrl:concept":"csbr:ProceedsFromRefundOfSecurityDeposit","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-197","factDimensions":{"xbrl:concept":"csbr:ProceedsFromRefundOfSecurityDeposit","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"112000","decimals":-3}]},{"name":"rpt:f-198","factDimensions":{"xbrl:concept":"us-gaap:NetCashProvidedByUsedInInvestingActivities","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-2384000","decimals":-3}]},{"name":"rpt:f-199","factDimensions":{"xbrl:concept":"us-gaap:NetCashProvidedByUsedInInvestingActivities","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-3169000","decimals":-3}]},{"name":"rpt:f-200","factDimensions":{"xbrl:concept":"csbr:ProceedsFromExerciseOfOptionsAndWarrants","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"207000","decimals":-3}]},{"name":"rpt:f-201","factDimensions":{"xbrl:concept":"csbr:ProceedsFromExerciseOfOptionsAndWarrants","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1369000","decimals":-3}]},{"name":"rpt:f-202","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeasePrincipalPayments","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-203","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeasePrincipalPayments","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"174000","decimals":-3}]},{"name":"rpt:f-204","factDimensions":{"xbrl:concept":"us-gaap:NetCashProvidedByUsedInFinancingActivities","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"207000","decimals":-3}]},{"name":"rpt:f-205","factDimensions":{"xbrl:concept":"us-gaap:NetCashProvidedByUsedInFinancingActivities","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1195000","decimals":-3}]},{"name":"rpt:f-206","factDimensions":{"xbrl:concept":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4320000","decimals":-3}]},{"name":"rpt:f-207","factDimensions":{"xbrl:concept":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-3655000","decimals":-3}]},{"name":"rpt:f-208","factDimensions":{"xbrl:concept":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4687000","decimals":-3}]},{"name":"rpt:f-209","factDimensions":{"xbrl:concept":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8342000","decimals":-3}]},{"name":"rpt:f-210","factDimensions":{"xbrl:concept":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9007000","decimals":-3}]},{"name":"rpt:f-211","factDimensions":{"xbrl:concept":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4687000","decimals":-3}]},{"name":"rpt:f-212","factDimensions":{"xbrl:concept":"us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"205000","decimals":-3}]},{"name":"rpt:f-213","factDimensions":{"xbrl:concept":"us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6121000","decimals":-3}]},{"name":"rpt:f-214","factDimensions":{"xbrl:concept":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Organization and Basis of Presentation<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Background</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Champions Oncology, Inc. (the \u201cCompany\u201d), is engaged in drug discovery and development through data-driven research strategies and innovative pharmacology, biomarker and data platforms.  The Company\u2019s TumorGraft Technology Platform is an approach to personalizing cancer care based upon the implantation of human tumors in immune-deficient mice. The Company provides a technology platform to pharmaceutical and biotechnology companies using proprietary TumorGraft studies, which the Company believes may be predictive of how drugs may perform in clinical settings. Utilizing the TumorGraft Technology Platform (the \"Platform\"), a comprehensive Bank of unique, well characterized \"Patient Derived XenoGrafts\" (PDX) models, the Company offers multiple services to pharmaceutical and biotechnology companies seeking personalized approaches to drug development. By performing studies to predict the efficacy of oncology drugs, our Platform is designed to facilitate drug discovery with lower costs and increased speed of drug development as well as increased adoption of existing drugs.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company has three operating subsidiaries: Champions Oncology (Israel), Limited and Champions Biotechnology U.K., Limited, and Champions Oncology S.R.L. For the years ended April\u00a030, 2022 and 2021, there were no revenues earned by these subsidiaries.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Basis of Presentation</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div>The accompanying consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the United States of America (\u201cGAAP\u201d). The Company operates in one reportable business segment.","language":"en-us"}]},{"name":"rpt:f-215","factDimensions":{"xbrl:concept":"csbr:NumberofOperatingSubsidiaries","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"csbr:subsidiary"},"factValues":[{"value":"3"}]},{"name":"rpt:f-216","factDimensions":{"xbrl:concept":"us-gaap:BasisOfAccountingPolicyPolicyTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Basis of Presentation</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div>The accompanying consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the United States of America (\u201cGAAP\u201d). The Company operates in one reportable business segment.","language":"en-us"}]},{"name":"rpt:f-217","factDimensions":{"xbrl:concept":"us-gaap:NumberOfReportableSegments","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"csbr:segment"},"factValues":[{"value":"1"}]},{"name":"rpt:f-218","factDimensions":{"xbrl:concept":"us-gaap:SignificantAccountingPoliciesTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Summary of Significant Accounting Policies<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><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=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries. All material intercompany balances and transactions have been eliminated in consolidation.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Foreign Currency</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company\u2019s foreign subsidiaries functional currency is the U.S. dollar. Transaction gains and losses are recognized in earnings. The Company is subject to foreign exchange rate fluctuations in connection with the Company\u2019s international operations. Foreign currency balances are translated at each month end to US dollars, and any resulting gain or loss is recognized in our results of operations, as the amounts are not material.</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><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=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The preparation of consolidated financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosures of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period.   Significant estimates include, among other things, accounts receivable realization, revenue recognition, valuation allowance for deferred tax assets, recoverability of capitalized software development costs, and stock-based compensation and warrant assumptions.\u00a0 We base our estimates on historical experience, our observance of trends in particular areas and information or valuations and various other assumptions that we believe to be reasonable under the circumstances and which form the basis for making judgments about the carrying value of assets and liabilities that may not be readily apparent from other sources.\u00a0\u00a0Actual amounts could differ significantly from amounts previously estimated.</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:112%\">Cash and Cash Equivalents</span></div><div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company considers only those investments which are highly liquid, readily convertible to cash, and with original maturities of three months or less to be cash equivalents. As of\u00a0April 30, 2022\u00a0and 2021 the Company had cash balances of $9.0\u00a0million and $4.7\u00a0million, respectively, and no cash equivalents.</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%\">Liquidity</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Our liquidity needs have typically arisen from the funding of our research and development programs and the launch of new products, working capital requirements, and other strategic initiatives. In the past, we have met these cash requirements through our cash on hand, working capital management, proceeds from certain private placements and public offerings of our securities, and sales of products and services.  For the year ended April\u00a030, 2022, the Company had net income of approximately $548,000, an accumulated deficit of approximately $72.0 million, working capital of $2.2 million and cash of $9.0 million. We believe that our cash on hand, together with expected cash flows from operations, are adequate to fund operations through at least August 2023. Should the Company be required to raise additional capital, there can be no assurance that management would be successful in raising such capital on terms acceptable to us, if at all.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Fair Value</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The carrying value of cash, accounts receivable, prepaid expenses, and other current assets, accounts payable, and accrued liabilities approximate their fair value based on the liquidity or the short-term maturities of these instruments. The fair value hierarchy promulgated by GAAP consists of three levels:</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"padding-left:18pt;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%\">\u2022</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\">Level one</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\"> \u2014 Quoted market prices in active markets for identical assets or liabilities;</span></div><div style=\"padding-left:18pt;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%\">\u2022</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\">Level two</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\"> \u2014 Inputs other than level one inputs that are either directly or indirectly observable; and</span></div><div style=\"padding-left:18pt;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%\">\u2022</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\">Level three</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\"> \u2014 Unobservable inputs developed using estimates and assumptions, which are developed by the reporting entity and reflect those assumptions that a market participant would use.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Determining which category an asset or liability falls within the hierarchy requires significant judgment. The Company evaluates its hierarchy disclosures each quarter. The Company has no assets or liabilities that are measured at fair value on a recurring and/or non-recurring  during the years ended April\u00a030, 2022 and 2021.</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify\"><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=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><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 and primarily consists of laboratory equipment, furniture and fixtures, computer hardware and software, and internally developed software. Assets in progress include equipment or software not yet placed in service. Depreciation and amortization is calculated on a straight-line basis over the estimated useful lives of the various assets ranging from <span style=\"-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjc3NmNmMGI4NWZkYjQ0YTE5M2M4OGY0ZmM3MDYzMTgxL3NlYzo3NzZjZjBiODVmZGI0NGExOTNjODhmNGZjNzA2MzE4MV8xMzAvZnJhZzowMWFlNTIwMDliOGY0ODFiODg1NmQyMjllMzUzMzUyOC90ZXh0cmVnaW9uOjAxYWU1MjAwOWI4ZjQ4MWI4ODU2ZDIyOWUzNTMzNTI4XzY0NDg_489a1117-214a-43b8-9e75-8a8ec84f1870\">three</span> to seven years. Refer to Footnote 4, \"Property and Equipment\" for a detailed discussion. </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%\">Leases</span></div><div><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\"> The Company accounts for its leases under Financial Accounting Standards Board (\"FASB\") Accounting Standards Codification (\"ASC\") Topic 842, Leases (\"ASC 842\"). Under this guidance, arrangements meeting the definition of a lease are classified as operating or financing leases and are recorded on the consolidated balance sheet as both a right-of-use (\"ROU\") asset and lease liability, calculated by discounting fixed lease payments over the lease term at the rate implicit in the lease or the Company\u2019s incremental borrowing rate. As the Company's leases do not provide an implicit rate, the Company uses an incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. Lease liabilities are increased by interest and reduced by payments each period, and the right-of-use asset is amortized over the lease term. For operating leases, interest on the lease liability and the amortization of the right-of-use asset result in straight-line rent expense over the lease term. </span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Impairment of Long-Lived Assets</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Impairment losses are to be recognized when the carrying amount of a long-lived asset is not recoverable or exceeds its fair value.\u00a0\u00a0The Company evaluates its long-lived assets for impairment whenever events or changes in circumstances indicate that a carrying value may not be recoverable.\u00a0\u00a0The Company uses estimates of future cash flows over the remaining useful life of a long- lived asset or asset group to determine the recoverability of the asset.\u00a0\u00a0These estimates only include the net cash flows directly associated with, and that are expected to arise as a direct result of, the use and eventual disposition of the asset or asset group.\u00a0\u00a0The Company has not recognized any impairment losses for the Company\u2019s long-lived assets for the years ending April\u00a030, 2022 and 2021.</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><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=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Goodwill represents the excess of the purchase price over the fair value of the net tangible and identifiable intangible assets acquired in a business combination. The Company evaluates the carrying value of goodwill annually in connection with the annual budgeting and forecast process and also between annual evaluations if events occur or circumstances change that would more likely than not reduce the fair value of the reporting unit to which goodwill was allocated to below its carrying amount. Such circumstances could include, but are not limited to: (1) a significant adverse change in legal factors, market conditions, or in business climate, (2) unanticipated competition, or (3) an adverse action or assessment by a regulator. When evaluating goodwill for impairment, we may first perform an assessment qualitatively whether it is more likely than not that a reporting unit\u2019s carrying amount exceeds its fair value, referred to as a \u201cstep zero\u201d approach. Subsequently (if necessary after step zero), an entity should perform its goodwill impairment test by comparing the fair value of a reporting unit with its carrying value. Under FASB's Accounting Standards Update (\"ASU\") 2014-02, Topic 350, \"Intangibles\u2014Goodwill and Other\" goodwill impairment is measured as the excess of the carrying amount of the reporting unit over its fair value. </span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The impairment evaluation test involves comparing the current fair value of each business unit to its carrying value, including goodwill. Fair value is typically estimated using a discounted cash flow analysis, which requires the Company to estimate the future cash flows anticipated to be generated by the business unit being tested for impairment as well as to select a risk-adjusted discount rate to measure the present value of the anticipated cash flows. When determining future cash flow estimates, the Company considers historical results adjusted to reflect current and anticipated operating conditions. The Company estimates cash flows for the business unit over a discrete period (typically four or five years) and the terminal period (considering expected long term growth rates and trends). Estimating future cash flows requires significant judgment by management in such areas as future economic conditions, industry-specific conditions, product pricing, and necessary capital expenditures. The use of different assumptions or estimates for future cash flows or significant changes in risk-adjusted discount rates due to changes in market conditions could produce substantially different estimates of the fair value of the business unit.</span></div><div style=\"text-align:justify;text-indent:36pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company has one reportable segment. The Company assesses goodwill impairment by business unit.  Judgments regarding the existence of impairment indicators are based on legal factors, market conditions and operational performance of the businesses.\u00a0\u00a0Future events, including but not limited to continued declines in economic activity, loss of contracts or a significant number of customers, or a rapid increase in costs or capital expenditures, could cause us to conclude that impairment indicators exist and that goodwill is impaired.\u00a0For the year ended April 30, 2022, the Company's annual assessment did not result in any impairment indicators. </span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Deferred Revenue</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Deferred revenue represents payments received in advance of products to be delivered or services to be performed.\u00a0\u00a0When products are delivered and/or services are performed, deferred revenue is recognized as earned.  Deferred revenue is expected to be recognized within one year.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Other Non-Current Liabilities</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Other non-current liabilities represent amounts for uncertain tax positions relating to one of our foreign entities and a financing lease of laboratory equipment in exchange for a lab supplies purchasing commitment.</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Cost of Oncology Services</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Cost of oncology services relates primarily to our Translational Oncology Solutions (\"TOS\") business unit. TOS costs consist of direct costs related to laboratory supplies, mice purchases, and maintenance costs for studies completed internally as well as charges from Contract Research Organization's for studies handled externally. Indirect costs include salaries and other payroll related costs of compensation for personnel directly engaged in providing TOS products and services. All costs of performing studies in-house are expensed as incurred. All costs of performing studies from external sources, are expensed when incurred.</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Research and Development</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Research and development costs represent both costs incurred internally for research and development activities, including personnel costs, mice purchases, and maintenance, as well as costs incurred externally to facilitate research activities, such as tumor tissue procurement and characterization expenses.\u00a0\u00a0All research and development costs are expensed as incurred.\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Sales and Marketing</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Sales and marketing expenses represent costs incurred to promote the Company\u2019s products offered, including salaries, benefits and related costs of our sales and marketing personnel, and represent costs of advertising and other selling and marketing expenses. All sales and marketing costs, including advertising costs, are expensed as incurred.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Earnings Per Share</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Basic net income or loss per share is computed by dividing the net income or loss for the period by the weighted-average number of shares of common stock outstanding during the period. Diluted net income per share is computed by dividing the net income for the period by the weighted-average number of shares of common stock plus dilutive potential common stock considered outstanding during the period. Such dilutive shares consist of incremental shares that would be issued upon exercise of the Company\u2019s common stock purchase warrants and stock options. </span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><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 Payments</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company typically recognizes expense for stock-based payments based on the fair value of awards on the date of grant.\u00a0\u00a0The Company uses the Black-Scholes option pricing model to estimate fair value.\u00a0\u00a0The Black-Scholes option valuation model was developed for use in estimating the fair value of short-traded options that have no vesting restrictions and are fully transferable.\u00a0\u00a0The option pricing model requires the Company to estimate certain key assumptions such as expected life, volatility, risk free interest rates and dividend yield to determine the fair value of stock-based awards.\u00a0\u00a0These assumptions are based on historical information and management judgment.\u00a0\u00a0The risk-free interest rate used is based on the United States treasury security rate with a term consistent with the expected term of the award at the time of the grant.\u00a0Since the Company has limited option exercise history, it has generally elected to estimate the expected life of an award based upon the Securities and Exchange Commission-approved \u201csimplified method\u201d noted under the provisions of Staff Accounting Bulletin No. 107 with the continued use of this method extended under the provisions of Staff Accounting Bulletin No. 110. \u00a0Estimated volatility is based upon the historical volatility of the Company's common stock.\u00a0\u00a0The Company does not anticipate paying a dividend, and therefore, no expected dividend yield was used.</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company expenses stock-based payments over the period that the awards are expected to vest.\u00a0\u00a0In the event of forfeitures, compensation expense is adjusted.\u00a0\u00a0The Company expenses modification charges in the period of modification and, if required, over the remaining period the awards are expected to vest. The Company will report cash flows resulting from tax deductions in excess of the compensation cost recognized from those options (excess tax benefits) as financing cash flows, if they should arise.</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><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=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">    Deferred income taxes have been provided to show the effect of temporary differences between the recognition of expenses for financial and income tax reporting purposes and between the tax basis of assets and liabilities, and their reported amounts in the consolidated financial statements.\u00a0\u00a0In assessing the realizability of deferred tax assets, the Company assesses the likelihood that deferred tax assets will be recovered through tax planning strategies or from future taxable income, and to the extent that recovery is not likely or there is insufficient operating history, a valuation allowance is established.\u00a0\u00a0The Company adjusts the valuation allowance in the period management determines it is more likely than not that net deferred tax assets will or will not be realized.\u00a0\u00a0Changes in valuation allowances from period to period are included in the tax provision in the period of change.  As of April\u00a030, 2022 and 2021, the Company provided a valuation allowance for all net deferred tax assets, as recovery is not more likely than not based on an insufficient history of earnings.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company reflects tax benefits only if it is more likely than not that we will be able to sustain the tax position, based on its technical merits.\u00a0\u00a0If a tax benefit meets this criterion, it is measured and recognized based on the largest amount of benefit that is cumulatively greater than 50% likely to be realized.\u00a0\u00a0As of April\u00a030, 2022 and 2021 the Company has recorded $181,000 of liabilities related to uncertain tax positions relative to one of its foreign operations.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company\u2019s practice is to recognize interest and/or penalties related to income tax matters in income tax expense. The Company accrued $0 and $3,000, for interest and penalties on the Company\u2019s statement of operations for the years ended April\u00a030, 2022 and 2021, respectively. The Company does not anticipate any significant unrecognized tax benefits to be recorded during the next 12 months.\u00a0\u00a0For the year ended April 30, 2022 and 2021, the Company recognized a provision for income taxes of $35,000 and $75,000, respectively.  These amounts are mainly attributable to taxable income earned in Israel relating to transfer pricing.</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%\">Revenue Recognition</span></div><div><span><br/></span></div><div style=\"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%\">The Company recognizes revenue in accordance with ASC 606, Revenue from Contracts with Customers.  The objective of the standard is to establish a single comprehensive revenue recognition model that is designed to create greater comparability of financial statements across industries and jurisdictions. Under this standard, companies recognize revenue to depict the transfer of goods or services to customers in amounts that reflect the consideration to which the Company expects to be entitled in exchange for those goods or services. </span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">All revenue is generated from contracts with customers. The Company recognizes revenue when control of these services is transferred to the customer in an amount, referred to as the transaction price, that reflects the consideration to which the Company is expected to be entitled in exchange for those services. The Company determines revenue recognition utilizing the following five steps: (1) identification of the contract with a customer, (2) identification of the performance obligations in the contract (promised goods or services that are distinct), (3) determination of the transaction price, (4) allocation of the transaction price to the performance obligations, and (5) recognition of revenue when, or as, the Company transfers control of the product or service for each performance obligation. The Company records revenues net of any tax assessments by governmental authorities, such as value added taxes, that are imposed on and concurrent with specific revenue generating transactions. </span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"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%\">The majority of the Company's revenue arrangements are service contracts that are completed within a year or less. There are a few contracts that range in duration between 1 and 3 years. Substantially all of the Company's performance obligations, and associated revenue, are transferred to the customer over time. Most of the Company's contracts can be terminated by the customer without cause. In the event of termination, the Company's contracts provide that the customer pay the Company for services rendered through the termination date. The Company generally receives compensation based on a predetermined invoicing schedule relating to specific milestones for that contract. </span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"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%\">Amendments to contracts are common. The Company evaluates each amendment which meets the criteria of a contract modification under ASC 606. Each modification is further evaluated to determine whether the contract modification should be accounted for as a separate contract or as a continuation of the original agreement. </span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">      The Company accounts for amendments as a separate contract as they meet the criteria under ASC 606-10-25-12.</span></div><div style=\"text-align:justify\"><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%;text-decoration:underline\">Pharmacology Study and Other Services</span></div><div><span><br/></span></div><div style=\"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%\">The Company generally enters into contracts with customers to provide oncology services with payments based on fixed-fee arrangements. At contract inception, the Company assesses the services promised in the contracts with customers to identify the performance obligations in the arrangement. The Company's fixed-fee arrangements for oncology services are considered a single performance obligation because the Company provides a highly-integrated service.</span></div><div style=\"text-indent:18pt\"><span><br/></span></div><div style=\"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%\">The Company recognizes revenue over time using a progress-based input method since there is no single output measure that would fairly depict the transfer of control over the life of the performance obligation. Revenue is recognized for the single performance obligation over time due to the Company's right to payment for work performed to date and the performance does not create an asset with an alternative use. The Company recognizes revenue as portions of the overall performance obligation are completed as this best depicts the progress of the performance obligation.</span></div><div style=\"text-indent:18pt\"><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%\">Incremental Costs of Obtaining a Contract (Sales Commissions)</span></div><div><span><br/></span></div><div style=\"text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Under ASC 606, the costs of obtaining a contract can be expensed immediately, rather than capitalized and amortized, if the amortization period is one year or shorter.  Sales commissions for the Company represent contract costs with a term of one year or less.  Therefore, under ASC 606, the Company elected the practical expedient to expense these costs as incurred.\u00a0\u00a0\u00a0\u00a0</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%\">Variable Consideration</span></div><div><span><br/></span></div><div style=\"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%\">In some cases, contracts provide for variable consideration that is contingent upon the occurrence of uncertain future events, such as the success of the initial performance obligation. Variable consideration is estimated at the expected value or at the most likely amount depending on the type of consideration. Estimated amounts are included in the transaction price to the extent it is probable that a significant reversal of cumulative revenue recognized will not occur when the uncertainty associated with the variable consideration is resolved. The estimate of variable consideration and determination of whether to include estimated amounts in the transaction price are based largely on an assessment of its anticipated performance and all information (historical, current and forecasted) that is reasonably available to the Company.  </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%\">Trade Receivables, Unbilled Services and Deferred Revenue</span></div><div><span><br/></span></div><div style=\"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%\">In general, billings and payments are established by contractual provisions including predetermined payment schedules, which may or may not correspond to the timing of the transfer of control of the Company's services under the contract. In general, the Company's intention in its invoicing (payment terms) is to maintain cash neutrality over the life of the contract. Upfront payments, when they occur, are intended to cover certain expenses the Company incurs at the beginning of the contract. Neither the Company nor its customers view such upfront payments and contracted payment schedules as a means of financing. Unbilled services primarily arise when the revenue recognized exceeds the amount billed to the customer.  Such situations occur due to divergences between revenue recognition and the invoicing milestones which are based on predetermined payment terms.   </span></div><div><span><br/></span></div><div style=\"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%\">Deferred revenue consists of unearned payments received in excess of revenue recognized. As the contracted services are subsequently performed and the associated revenue recognized, the deferred revenue balance is reduced by the amount of the revenue recognized during the period. Deferred revenue is classified as a current liability on the consolidated balance sheet as the Company expects to recognize the associated revenue in less than one year.</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Accounting Pronouncements Being Evaluated</span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:13.5pt\"><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 No. 2016-13, \"Financial Instruments - Credit Losses\".  This update requires immediate recognition of management\u2019s estimates of current expected credit losses (\"CECL\").  Under the prior model, losses were recognized only as they were incurred.  The new model is applicable to all financial instruments that are not accounted for at fair value through net income.  The standard is effective for fiscal years beginning after December 15, 2022 for public entities qualifying as smaller reporting companies.  Early adoption is permitted.  We are currently assessing the impact of this update on our consolidated financial statements and have not yet determined the impact on our consolidated financial statements.</span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:13.5pt\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Recently Adopted Accounting Pronouncements</span></div><div style=\"text-align:justify;text-indent:13.5pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:13.5pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%\">In December 2019, the FASB issued ASU 2019-12, Income Taxes (ASC 740) \u2014 Simplifying the Accounting for Income Taxes. ASU 2019-12 which modifies ASC 740 to simplify the accounting for income taxes. The ASU removes certain exceptions for recognizing deferred taxes for investments, performing intraperiod allocation and calculating income taxes in interim periods. The ASU also adds guidance to reduce complexity in certain areas, including recognizing deferred taxes for tax goodwill and allocating taxes to members of a consolidated group. ASU 2019-12 is effective for annual periods, including interim periods within those annual periods, beginning after December 15, 2020. We adopted this guidance on May 1, 2021. The adoption of this ASU did not have a material impact is reflected in the Company's current year consolidated financial statements.</span></div>","language":"en-us"}]},{"name":"rpt:f-219","factDimensions":{"xbrl:concept":"us-gaap:ConsolidationPolicyTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><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=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries. All material intercompany balances and transactions have been eliminated in consolidation.</span></div>","language":"en-us"}]},{"name":"rpt:f-220","factDimensions":{"xbrl:concept":"us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Foreign Currency</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company\u2019s foreign subsidiaries functional currency is the U.S. dollar. Transaction gains and losses are recognized in earnings. The Company is subject to foreign exchange rate fluctuations in connection with the Company\u2019s international operations. Foreign currency balances are translated at each month end to US dollars, and any resulting gain or loss is recognized in our results of operations, as the amounts are not material.</span></div>","language":"en-us"}]},{"name":"rpt:f-221","factDimensions":{"xbrl:concept":"us-gaap:UseOfEstimates","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><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=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The preparation of consolidated financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosures of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period.   Significant estimates include, among other things, accounts receivable realization, revenue recognition, valuation allowance for deferred tax assets, recoverability of capitalized software development costs, and stock-based compensation and warrant assumptions.\u00a0 We base our estimates on historical experience, our observance of trends in particular areas and information or valuations and various other assumptions that we believe to be reasonable under the circumstances and which form the basis for making judgments about the carrying value of assets and liabilities that may not be readily apparent from other sources.\u00a0\u00a0Actual amounts could differ significantly from amounts previously estimated.</span></div>","language":"en-us"}]},{"name":"rpt:f-222","factDimensions":{"xbrl:concept":"us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:112%\">Cash and Cash Equivalents</span></div><div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%\">\u00a0</span></div>The Company considers only those investments which are highly liquid, readily convertible to cash, and with original maturities of three months or less to be cash equivalents.","language":"en-us"}]},{"name":"rpt:f-223","factDimensions":{"xbrl:concept":"us-gaap:Cash","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9000000","decimals":-5}]},{"name":"rpt:f-224","factDimensions":{"xbrl:concept":"us-gaap:Cash","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4700000","decimals":-5}]},{"name":"rpt:f-225","factDimensions":{"xbrl:concept":"us-gaap:CashEquivalentsAtCarryingValue","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0"}]},{"name":"rpt:f-226","factDimensions":{"xbrl:concept":"us-gaap:CashEquivalentsAtCarryingValue","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0"}]},{"name":"rpt:f-227","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"548000","decimals":-3}]},{"name":"rpt:f-228","factDimensions":{"xbrl:concept":"us-gaap:RetainedEarningsAccumulatedDeficit","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-72000000","decimals":-5}]},{"name":"rpt:f-229","factDimensions":{"xbrl:concept":"csbr:WorkingCapital","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2200000","decimals":-5}]},{"name":"rpt:f-230","factDimensions":{"xbrl:concept":"us-gaap:Cash","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9000000","decimals":-5}]},{"name":"rpt:f-231","factDimensions":{"xbrl:concept":"us-gaap:FairValueMeasurementPolicyPolicyTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Fair Value</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The carrying value of cash, accounts receivable, prepaid expenses, and other current assets, accounts payable, and accrued liabilities approximate their fair value based on the liquidity or the short-term maturities of these instruments. The fair value hierarchy promulgated by GAAP consists of three levels:</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"padding-left:18pt;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%\">\u2022</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\">Level one</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\"> \u2014 Quoted market prices in active markets for identical assets or liabilities;</span></div><div style=\"padding-left:18pt;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%\">\u2022</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\">Level two</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\"> \u2014 Inputs other than level one inputs that are either directly or indirectly observable; and</span></div><div style=\"padding-left:18pt;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%\">\u2022</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\">Level three</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\"> \u2014 Unobservable inputs developed using estimates and assumptions, which are developed by the reporting entity and reflect those assumptions that a market participant would use.</span></div>Determining which category an asset or liability falls within the hierarchy requires significant judgment. The Company evaluates its hierarchy disclosures each quarter.","language":"en-us"}]},{"name":"rpt:f-232","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentPolicyTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><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=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div>Property and equipment is recorded at cost and primarily consists of laboratory equipment, furniture and fixtures, computer hardware and software, and internally developed software. Assets in progress include equipment or software not yet placed in service. Depreciation and amortization is calculated on a straight-line basis over the estimated useful lives of the various assets ranging from <span style=\"-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjc3NmNmMGI4NWZkYjQ0YTE5M2M4OGY0ZmM3MDYzMTgxL3NlYzo3NzZjZjBiODVmZGI0NGExOTNjODhmNGZjNzA2MzE4MV8xMzAvZnJhZzowMWFlNTIwMDliOGY0ODFiODg1NmQyMjllMzUzMzUyOC90ZXh0cmVnaW9uOjAxYWU1MjAwOWI4ZjQ4MWI4ODU2ZDIyOWUzNTMzNTI4XzY0NDg_489a1117-214a-43b8-9e75-8a8ec84f1870\">three</span> to seven years.","language":"en-us"}]},{"name":"rpt:f-233","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentUsefulLife","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","srt:RangeAxis":"srt:MaximumMember"},"factValues":[{"value":"P7Y"}]},{"name":"rpt:f-234","factDimensions":{"xbrl:concept":"us-gaap:LesseeLeasesPolicyTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Leases The Company accounts for its leases under Financial Accounting Standards Board (\"FASB\") Accounting Standards Codification (\"ASC\") Topic 842, Leases (\"ASC 842\"). Under this guidance, arrangements meeting the definition of a lease are classified as operating or financing leases and are recorded on the consolidated balance sheet as both a right-of-use (\"ROU\") asset and lease liability, calculated by discounting fixed lease payments over the lease term at the rate implicit in the lease or the Company\u2019s incremental borrowing rate. As the Company's leases do not provide an implicit rate, the Company uses an incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. Lease liabilities are increased by interest and reduced by payments each period, and the right-of-use asset is amortized over the lease term. For operating leases, interest on the lease liability and the amortization of the right-of-use asset result in straight-line rent expense over the lease term.","language":"en-us"}]},{"name":"rpt:f-235","factDimensions":{"xbrl:concept":"us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Impairment of Long-Lived Assets</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div>Impairment losses are to be recognized when the carrying amount of a long-lived asset is not recoverable or exceeds its fair value.\u00a0\u00a0The Company evaluates its long-lived assets for impairment whenever events or changes in circumstances indicate that a carrying value may not be recoverable.\u00a0\u00a0The Company uses estimates of future cash flows over the remaining useful life of a long- lived asset or asset group to determine the recoverability of the asset.\u00a0\u00a0These estimates only include the net cash flows directly associated with, and that are expected to arise as a direct result of, the use and eventual disposition of the asset or asset group.","language":"en-us"}]},{"name":"rpt:f-236","factDimensions":{"xbrl:concept":"us-gaap:ImpairmentOfLongLivedAssetsHeldForUse","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0"}]},{"name":"rpt:f-237","factDimensions":{"xbrl:concept":"us-gaap:ImpairmentOfLongLivedAssetsHeldForUse","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0"}]},{"name":"rpt:f-238","factDimensions":{"xbrl:concept":"us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><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=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Goodwill represents the excess of the purchase price over the fair value of the net tangible and identifiable intangible assets acquired in a business combination. The Company evaluates the carrying value of goodwill annually in connection with the annual budgeting and forecast process and also between annual evaluations if events occur or circumstances change that would more likely than not reduce the fair value of the reporting unit to which goodwill was allocated to below its carrying amount. Such circumstances could include, but are not limited to: (1) a significant adverse change in legal factors, market conditions, or in business climate, (2) unanticipated competition, or (3) an adverse action or assessment by a regulator. When evaluating goodwill for impairment, we may first perform an assessment qualitatively whether it is more likely than not that a reporting unit\u2019s carrying amount exceeds its fair value, referred to as a \u201cstep zero\u201d approach. Subsequently (if necessary after step zero), an entity should perform its goodwill impairment test by comparing the fair value of a reporting unit with its carrying value. Under FASB's Accounting Standards Update (\"ASU\") 2014-02, Topic 350, \"Intangibles\u2014Goodwill and Other\" goodwill impairment is measured as the excess of the carrying amount of the reporting unit over its fair value. </span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The impairment evaluation test involves comparing the current fair value of each business unit to its carrying value, including goodwill. Fair value is typically estimated using a discounted cash flow analysis, which requires the Company to estimate the future cash flows anticipated to be generated by the business unit being tested for impairment as well as to select a risk-adjusted discount rate to measure the present value of the anticipated cash flows. When determining future cash flow estimates, the Company considers historical results adjusted to reflect current and anticipated operating conditions. The Company estimates cash flows for the business unit over a discrete period (typically four or five years) and the terminal period (considering expected long term growth rates and trends). Estimating future cash flows requires significant judgment by management in such areas as future economic conditions, industry-specific conditions, product pricing, and necessary capital expenditures. The use of different assumptions or estimates for future cash flows or significant changes in risk-adjusted discount rates due to changes in market conditions could produce substantially different estimates of the fair value of the business unit.</span></div>The Company has one reportable segment. The Company assesses goodwill impairment by business unit.  Judgments regarding the existence of impairment indicators are based on legal factors, market conditions and operational performance of the businesses.\u00a0\u00a0Future events, including but not limited to continued declines in economic activity, loss of contracts or a significant number of customers, or a rapid increase in costs or capital expenditures, could cause us to conclude that impairment indicators exist and that goodwill is impaired.","language":"en-us"}]},{"name":"rpt:f-239","factDimensions":{"xbrl:concept":"us-gaap:NumberOfReportableSegments","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"csbr:segment"},"factValues":[{"value":"1"}]},{"name":"rpt:f-240","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerPolicyTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Deferred Revenue</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Deferred revenue represents payments received in advance of products to be delivered or services to be performed.\u00a0\u00a0When products are delivered and/or services are performed, deferred revenue is recognized as earned.  Deferred revenue is expected to be recognized within one year.</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%\">Revenue Recognition</span></div><div><span><br/></span></div><div style=\"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%\">The Company recognizes revenue in accordance with ASC 606, Revenue from Contracts with Customers.  The objective of the standard is to establish a single comprehensive revenue recognition model that is designed to create greater comparability of financial statements across industries and jurisdictions. Under this standard, companies recognize revenue to depict the transfer of goods or services to customers in amounts that reflect the consideration to which the Company expects to be entitled in exchange for those goods or services. </span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">All revenue is generated from contracts with customers. The Company recognizes revenue when control of these services is transferred to the customer in an amount, referred to as the transaction price, that reflects the consideration to which the Company is expected to be entitled in exchange for those services. The Company determines revenue recognition utilizing the following five steps: (1) identification of the contract with a customer, (2) identification of the performance obligations in the contract (promised goods or services that are distinct), (3) determination of the transaction price, (4) allocation of the transaction price to the performance obligations, and (5) recognition of revenue when, or as, the Company transfers control of the product or service for each performance obligation. The Company records revenues net of any tax assessments by governmental authorities, such as value added taxes, that are imposed on and concurrent with specific revenue generating transactions. </span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"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%\">The majority of the Company's revenue arrangements are service contracts that are completed within a year or less. There are a few contracts that range in duration between 1 and 3 years. Substantially all of the Company's performance obligations, and associated revenue, are transferred to the customer over time. Most of the Company's contracts can be terminated by the customer without cause. In the event of termination, the Company's contracts provide that the customer pay the Company for services rendered through the termination date. The Company generally receives compensation based on a predetermined invoicing schedule relating to specific milestones for that contract. </span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"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%\">Amendments to contracts are common. The Company evaluates each amendment which meets the criteria of a contract modification under ASC 606. Each modification is further evaluated to determine whether the contract modification should be accounted for as a separate contract or as a continuation of the original agreement. </span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">      The Company accounts for amendments as a separate contract as they meet the criteria under ASC 606-10-25-12.</span></div><div style=\"text-align:justify\"><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%;text-decoration:underline\">Pharmacology Study and Other Services</span></div><div><span><br/></span></div><div style=\"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%\">The Company generally enters into contracts with customers to provide oncology services with payments based on fixed-fee arrangements. At contract inception, the Company assesses the services promised in the contracts with customers to identify the performance obligations in the arrangement. The Company's fixed-fee arrangements for oncology services are considered a single performance obligation because the Company provides a highly-integrated service.</span></div><div style=\"text-indent:18pt\"><span><br/></span></div><div style=\"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%\">The Company recognizes revenue over time using a progress-based input method since there is no single output measure that would fairly depict the transfer of control over the life of the performance obligation. Revenue is recognized for the single performance obligation over time due to the Company's right to payment for work performed to date and the performance does not create an asset with an alternative use. The Company recognizes revenue as portions of the overall performance obligation are completed as this best depicts the progress of the performance obligation.</span></div><div style=\"text-indent:18pt\"><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%\">Incremental Costs of Obtaining a Contract (Sales Commissions)</span></div><div><span><br/></span></div><div style=\"text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Under ASC 606, the costs of obtaining a contract can be expensed immediately, rather than capitalized and amortized, if the amortization period is one year or shorter.  Sales commissions for the Company represent contract costs with a term of one year or less.  Therefore, under ASC 606, the Company elected the practical expedient to expense these costs as incurred.\u00a0\u00a0\u00a0\u00a0</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%\">Variable Consideration</span></div><div><span><br/></span></div><div style=\"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%\">In some cases, contracts provide for variable consideration that is contingent upon the occurrence of uncertain future events, such as the success of the initial performance obligation. Variable consideration is estimated at the expected value or at the most likely amount depending on the type of consideration. Estimated amounts are included in the transaction price to the extent it is probable that a significant reversal of cumulative revenue recognized will not occur when the uncertainty associated with the variable consideration is resolved. The estimate of variable consideration and determination of whether to include estimated amounts in the transaction price are based largely on an assessment of its anticipated performance and all information (historical, current and forecasted) that is reasonably available to the Company.  </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%\">Trade Receivables, Unbilled Services and Deferred Revenue</span></div><div><span><br/></span></div><div style=\"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%\">In general, billings and payments are established by contractual provisions including predetermined payment schedules, which may or may not correspond to the timing of the transfer of control of the Company's services under the contract. In general, the Company's intention in its invoicing (payment terms) is to maintain cash neutrality over the life of the contract. Upfront payments, when they occur, are intended to cover certain expenses the Company incurs at the beginning of the contract. Neither the Company nor its customers view such upfront payments and contracted payment schedules as a means of financing. Unbilled services primarily arise when the revenue recognized exceeds the amount billed to the customer.  Such situations occur due to divergences between revenue recognition and the invoicing milestones which are based on predetermined payment terms.   </span></div><div><span><br/></span></div><div style=\"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%\">Deferred revenue consists of unearned payments received in excess of revenue recognized. As the contracted services are subsequently performed and the associated revenue recognized, the deferred revenue balance is reduced by the amount of the revenue recognized during the period. Deferred revenue is classified as a current liability on the consolidated balance sheet as the Company expects to recognize the associated revenue in less than one year.</span></div>","language":"en-us"}]},{"name":"rpt:f-241","factDimensions":{"xbrl:concept":"csbr:OtherNoncurrentLiabilitiesPolicyTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Other Non-Current Liabilities</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Other non-current liabilities represent amounts for uncertain tax positions relating to one of our foreign entities and a financing lease of laboratory equipment in exchange for a lab supplies purchasing commitment.</span></div>","language":"en-us"}]},{"name":"rpt:f-242","factDimensions":{"xbrl:concept":"us-gaap:CostOfSalesPolicyTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Cost of Oncology Services</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Cost of oncology services relates primarily to our Translational Oncology Solutions (\"TOS\") business unit. TOS costs consist of direct costs related to laboratory supplies, mice purchases, and maintenance costs for studies completed internally as well as charges from Contract Research Organization's for studies handled externally. Indirect costs include salaries and other payroll related costs of compensation for personnel directly engaged in providing TOS products and services. All costs of performing studies in-house are expensed as incurred. All costs of performing studies from external sources, are expensed when incurred.</span></div>","language":"en-us"}]},{"name":"rpt:f-243","factDimensions":{"xbrl:concept":"us-gaap:ResearchAndDevelopmentExpensePolicy","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Research and Development</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div>Research and development costs represent both costs incurred internally for research and development activities, including personnel costs, mice purchases, and maintenance, as well as costs incurred externally to facilitate research activities, such as tumor tissue procurement and characterization expenses.\u00a0\u00a0All research and development costs are expensed as incurred.","language":"en-us"}]},{"name":"rpt:f-244","factDimensions":{"xbrl:concept":"csbr:SalesAndMarketingExpensePolicyPolicyTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Sales and Marketing</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Sales and marketing expenses represent costs incurred to promote the Company\u2019s products offered, including salaries, benefits and related costs of our sales and marketing personnel, and represent costs of advertising and other selling and marketing expenses. All sales and marketing costs, including advertising costs, are expensed as incurred.</span></div>","language":"en-us"}]},{"name":"rpt:f-245","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerSharePolicyTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Earnings Per Share</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div>Basic net income or loss per share is computed by dividing the net income or loss for the period by the weighted-average number of shares of common stock outstanding during the period. Diluted net income per share is computed by dividing the net income for the period by the weighted-average number of shares of common stock plus dilutive potential common stock considered outstanding during the period. Such dilutive shares consist of incremental shares that would be issued upon exercise of the Company\u2019s common stock purchase warrants and stock options.","language":"en-us"}]},{"name":"rpt:f-246","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><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 Payments</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company typically recognizes expense for stock-based payments based on the fair value of awards on the date of grant.\u00a0\u00a0The Company uses the Black-Scholes option pricing model to estimate fair value.\u00a0\u00a0The Black-Scholes option valuation model was developed for use in estimating the fair value of short-traded options that have no vesting restrictions and are fully transferable.\u00a0\u00a0The option pricing model requires the Company to estimate certain key assumptions such as expected life, volatility, risk free interest rates and dividend yield to determine the fair value of stock-based awards.\u00a0\u00a0These assumptions are based on historical information and management judgment.\u00a0\u00a0The risk-free interest rate used is based on the United States treasury security rate with a term consistent with the expected term of the award at the time of the grant.\u00a0Since the Company has limited option exercise history, it has generally elected to estimate the expected life of an award based upon the Securities and Exchange Commission-approved \u201csimplified method\u201d noted under the provisions of Staff Accounting Bulletin No. 107 with the continued use of this method extended under the provisions of Staff Accounting Bulletin No. 110. \u00a0Estimated volatility is based upon the historical volatility of the Company's common stock.\u00a0\u00a0The Company does not anticipate paying a dividend, and therefore, no expected dividend yield was used.</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company expenses stock-based payments over the period that the awards are expected to vest.\u00a0\u00a0In the event of forfeitures, compensation expense is adjusted.\u00a0\u00a0The Company expenses modification charges in the period of modification and, if required, over the remaining period the awards are expected to vest. The Company will report cash flows resulting from tax deductions in excess of the compensation cost recognized from those options (excess tax benefits) as financing cash flows, if they should arise.</span></div>","language":"en-us"}]},{"name":"rpt:f-247","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxPolicyTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><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=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">    Deferred income taxes have been provided to show the effect of temporary differences between the recognition of expenses for financial and income tax reporting purposes and between the tax basis of assets and liabilities, and their reported amounts in the consolidated financial statements.\u00a0\u00a0In assessing the realizability of deferred tax assets, the Company assesses the likelihood that deferred tax assets will be recovered through tax planning strategies or from future taxable income, and to the extent that recovery is not likely or there is insufficient operating history, a valuation allowance is established.\u00a0\u00a0The Company adjusts the valuation allowance in the period management determines it is more likely than not that net deferred tax assets will or will not be realized.\u00a0\u00a0Changes in valuation allowances from period to period are included in the tax provision in the period of change.  As of April\u00a030, 2022 and 2021, the Company provided a valuation allowance for all net deferred tax assets, as recovery is not more likely than not based on an insufficient history of earnings.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company reflects tax benefits only if it is more likely than not that we will be able to sustain the tax position, based on its technical merits.\u00a0\u00a0If a tax benefit meets this criterion, it is measured and recognized based on the largest amount of benefit that is cumulatively greater than 50% likely to be realized.\u00a0\u00a0As of April\u00a030, 2022 and 2021 the Company has recorded $181,000 of liabilities related to uncertain tax positions relative to one of its foreign operations.</span></div>The Company\u2019s practice is to recognize interest and/or penalties related to income tax matters in income tax expense.","language":"en-us"}]},{"name":"rpt:f-248","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefits","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"181000","decimals":-3}]},{"name":"rpt:f-249","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefits","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"181000","decimals":-3}]},{"name":"rpt:f-250","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-251","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3000000","decimals":-3}]},{"name":"rpt:f-252","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxExpenseBenefit","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"35000","decimals":-3}]},{"name":"rpt:f-253","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxExpenseBenefit","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"75000","decimals":-3}]},{"name":"rpt:f-254","factDimensions":{"xbrl:concept":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","srt:ProductOrServiceAxis":"csbr:FewContractsMember","us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis":"2022-05-01","srt:RangeAxis":"srt:MinimumMember"},"factValues":[{"value":"P1Y"}]},{"name":"rpt:f-255","factDimensions":{"xbrl:concept":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","srt:ProductOrServiceAxis":"csbr:FewContractsMember","us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis":"2022-05-01","srt:RangeAxis":"srt:MaximumMember"},"factValues":[{"value":"P3Y"}]},{"name":"rpt:f-256","factDimensions":{"xbrl:concept":"us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Accounting Pronouncements Being Evaluated</span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:13.5pt\"><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 No. 2016-13, \"Financial Instruments - Credit Losses\".  This update requires immediate recognition of management\u2019s estimates of current expected credit losses (\"CECL\").  Under the prior model, losses were recognized only as they were incurred.  The new model is applicable to all financial instruments that are not accounted for at fair value through net income.  The standard is effective for fiscal years beginning after December 15, 2022 for public entities qualifying as smaller reporting companies.  Early adoption is permitted.  We are currently assessing the impact of this update on our consolidated financial statements and have not yet determined the impact on our consolidated financial statements.</span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:13.5pt\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Recently Adopted Accounting Pronouncements</span></div><div style=\"text-align:justify;text-indent:13.5pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:13.5pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%\">In December 2019, the FASB issued ASU 2019-12, Income Taxes (ASC 740) \u2014 Simplifying the Accounting for Income Taxes. ASU 2019-12 which modifies ASC 740 to simplify the accounting for income taxes. The ASU removes certain exceptions for recognizing deferred taxes for investments, performing intraperiod allocation and calculating income taxes in interim periods. The ASU also adds guidance to reduce complexity in certain areas, including recognizing deferred taxes for tax goodwill and allocating taxes to members of a consolidated group. ASU 2019-12 is effective for annual periods, including interim periods within those annual periods, beginning after December 15, 2020. We adopted this guidance on May 1, 2021. The adoption of this ASU did not have a material impact is reflected in the Company's current year consolidated financial statements.</span></div>","language":"en-us"}]},{"name":"rpt:f-257","factDimensions":{"xbrl:concept":"csbr:AccountsReceivableUnbilledServicesAndDeferredRevenueTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Accounts Receivable, Unbilled Services and Deferred Revenue<div style=\"text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Accounts receivable and unbilled services were as follows (in thousands):</span></div><div style=\"margin-top:5pt;text-align:center\"><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:71.948%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.007%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.536%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.009%\"></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%\">April 30, 2022</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%\">April 30, 2021</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%\">\u00a0</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: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%\">\u00a0</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-weight:400;line-height:100%\">Accounts receivable</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%\">6,037\u00a0</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%\">4,304\u00a0</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%\">Unbilled services</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,106\u00a0</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,020\u00a0</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%\">Total accounts receivable and unbilled services</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%\">10,143\u00a0</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,324\u00a0</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:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Less: allowance for doubtful accounts</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%\">(630)</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%\">(338)</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%\">Total accounts receivable, 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%\">9,513\u00a0</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%\">6,986\u00a0</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><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:120%\"> </span></div><div style=\"text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Deferred revenue was as follows (in thousands):</span></div><div style=\"margin-top:5pt;text-align:center\"><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:71.948%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.007%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.536%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.009%\"></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%\">April 30, 2022</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%\">April 30, 2021</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%\">\u00a0</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></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:700;line-height:100%\">\u00a0</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%\">Deferred revenue</span></td><td style=\"background-color:#bfe4ff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#bfe4ff;padding:2px 0;text-align: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,071\u00a0</span></td><td style=\"background-color:#bfe4ff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"background-color:#bfe4ff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#bfe4ff;padding:2px 0;text-align: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,256\u00a0</span></td><td style=\"background-color:#bfe4ff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div style=\"text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Deferred revenue is shown as a current liability on the Company's balance sheet.</span></div><div style=\"text-indent:18pt\"><span><br/></span></div><div style=\"text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">As of April 30, 2020 unbilled services was $2.4\u00a0million and deferred revenue was $5.8\u00a0million.</span></div>","language":"en-us"}]},{"name":"rpt:f-258","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Accounts receivable and unbilled services were as follows (in thousands):</span></div><div style=\"margin-top:5pt;text-align:center\"><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:71.948%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.007%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.536%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.009%\"></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%\">April 30, 2022</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%\">April 30, 2021</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%\">\u00a0</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: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%\">\u00a0</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-weight:400;line-height:100%\">Accounts receivable</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%\">6,037\u00a0</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%\">4,304\u00a0</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%\">Unbilled services</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,106\u00a0</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,020\u00a0</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%\">Total accounts receivable and unbilled services</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%\">10,143\u00a0</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,324\u00a0</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:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Less: allowance for doubtful accounts</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%\">(630)</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%\">(338)</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%\">Total accounts receivable, 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%\">9,513\u00a0</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%\">6,986\u00a0</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>","language":"en-us"}]},{"name":"rpt:f-259","factDimensions":{"xbrl:concept":"csbr:TradeAccountsReceivable","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6037000","decimals":-3}]},{"name":"rpt:f-260","factDimensions":{"xbrl:concept":"csbr:TradeAccountsReceivable","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4304000","decimals":-3}]},{"name":"rpt:f-261","factDimensions":{"xbrl:concept":"us-gaap:UnbilledContractsReceivable","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4106000","decimals":-3}]},{"name":"rpt:f-262","factDimensions":{"xbrl:concept":"us-gaap:UnbilledContractsReceivable","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3020000","decimals":-3}]},{"name":"rpt:f-263","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableGross","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"10143000","decimals":-3}]},{"name":"rpt:f-264","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableGross","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"7324000","decimals":-3}]},{"name":"rpt:f-265","factDimensions":{"xbrl:concept":"us-gaap:AllowanceForDoubtfulAccountsReceivable","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"630000","decimals":-3}]},{"name":"rpt:f-266","factDimensions":{"xbrl:concept":"us-gaap:AllowanceForDoubtfulAccountsReceivable","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"338000","decimals":-3}]},{"name":"rpt:f-267","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableNetCurrent","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9513000","decimals":-3}]},{"name":"rpt:f-268","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableNetCurrent","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6986000","decimals":-3}]},{"name":"rpt:f-269","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Deferred revenue was as follows (in thousands):</span></div><div style=\"margin-top:5pt;text-align:center\"><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:71.948%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.007%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.536%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.009%\"></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%\">April 30, 2022</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%\">April 30, 2021</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%\">\u00a0</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></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:700;line-height:100%\">\u00a0</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%\">Deferred revenue</span></td><td style=\"background-color:#bfe4ff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#bfe4ff;padding:2px 0;text-align: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,071\u00a0</span></td><td style=\"background-color:#bfe4ff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"background-color:#bfe4ff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#bfe4ff;padding:2px 0;text-align: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,256\u00a0</span></td><td style=\"background-color:#bfe4ff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-270","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiabilityCurrent","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"11071000","decimals":-3}]},{"name":"rpt:f-271","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiabilityCurrent","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6256000","decimals":-3}]},{"name":"rpt:f-272","factDimensions":{"xbrl:concept":"us-gaap:UnbilledContractsReceivable","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2400000","decimals":-5}]},{"name":"rpt:f-273","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiabilityCurrent","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5800000","decimals":-5}]},{"name":"rpt:f-274","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Property and Equipment<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Property and equipment consisted of the following (in thousands):</span></div><div style=\"margin-top:5pt\"><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:74.706%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.631%\"></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%\">\u00a0</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:700;line-height:100%\">April 30,</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%\">\u00a0</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%\">2022</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%\">2021</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%\">Furniture and fixtures</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%\">246\u00a0</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%\">246\u00a0</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%\">Computer equipment and software</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,667\u00a0</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,461\u00a0</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%\">Laboratory 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%\">8,618\u00a0</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,640\u00a0</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%\">Capitalized software development 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,888\u00a0</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%\">484\u00a0</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%\">Assets in progress</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%\">181\u00a0</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,211\u00a0</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%\">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%\">111\u00a0</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%\">4\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><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:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total property and equipment</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%\">12,711\u00a0</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,046\u00a0</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%\">Less: Accumulated depreciation and 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%\">(5,577)</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,956)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><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><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: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:id3VybDovL2RvY3MudjEvZG9jOjc3NmNmMGI4NWZkYjQ0YTE5M2M4OGY0ZmM3MDYzMTgxL3NlYzo3NzZjZjBiODVmZGI0NGExOTNjODhmNGZjNzA2MzE4MV8xMzYvZnJhZzphYjExM2YzODk3Y2I0ZWJlYTYzNjEzZjUwMzU0NGQ2OS90YWJsZTo5OGFmYzliZGUzNWI0YjU5OGIyY2ZhNDY4OGM5NzkzMi90YWJsZXJhbmdlOjk4YWZjOWJkZTM1YjRiNTk4YjJjZmE0Njg4Yzk3OTMyXzEyLTAtMS0xLTE0Mzky_d0e54618-5027-402e-97b5-cbf85b7f6442\"><span style=\"-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjc3NmNmMGI4NWZkYjQ0YTE5M2M4OGY0ZmM3MDYzMTgxL3NlYzo3NzZjZjBiODVmZGI0NGExOTNjODhmNGZjNzA2MzE4MV8xMzYvZnJhZzphYjExM2YzODk3Y2I0ZWJlYTYzNjEzZjUwMzU0NGQ2OS90YWJsZTo5OGFmYzliZGUzNWI0YjU5OGIyY2ZhNDY4OGM5NzkzMi90YWJsZXJhbmdlOjk4YWZjOWJkZTM1YjRiNTk4YjJjZmE0Njg4Yzk3OTMyXzEyLTAtMS0xLTE0Mzky_f966c824-065f-42b9-b717-91f06b782abb\">Property and equipment, net</span></span></span></td><td style=\"background-color:#cceeff;border-bottom: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-bottom: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%\">7,134\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom: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-bottom: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-bottom: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%\">6,090\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0\u00a0\u00a0\u00a0Depreciation and amortization expense was $1.6\u00a0million and $1.2 million for the years ended April\u00a030, 2022 and 2021, respectively.  Depreciation and amortization expense, excluding expense recorded under finance leases, was\u00a0$1.5 million and $925,000\u00a0for the years ended\u00a0April 30, 2022\u00a0and\u00a02021. </span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0\u00a0\u00a0\u00a0As of\u00a0April 30, 2022\u00a0and\u00a02021, property, plant and equipment included gross assets held under finance leases of\u00a0$713,000 and $343,000, respectively. Related depreciation expense for these assets was $87,000 and $124,000 for the years ended\u00a0April\u00a030, 2022\u00a0and\u00a02021.   </span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Capitalized software development costs under a hosting arrangement</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company accounts for the cost of computer software obtained or developed for internal use as well as the software development and implementation costs associated with a hosting arrangement (\"internal-use software\") that is a service contract in accordance and with ASC 350, </span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%\">Intangibles - Goodwill and Other </span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">(\"ASC-350\"). We capitalize certain costs in the development of our internal-use software when the preliminary project stage is completed and it is probable that the project itself will be completed and the software will perform as intended. These capitalized costs include personnel and related expenses for employees and costs of third-party consultants who are directly associated with and who devote time to these internal-use software projects. Capitalization of these costs ceases once the project is substantially complete and the software is ready for its intended purpose. Costs incurred for significant upgrades, increased functionality, and enhancements to the Company's internal-use software solutions are also capitalized. Costs incurred for training, maintenance, and minor modifications are expensed as incurred.  Capitalized software development costs are amortized using the straight-line method over an estimated useful economic life of three years.  </span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\"> </span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company has capitalized development and implementation costs in accordance with accounting guidance for its Lumin Bioinformatics platform (\"Lumin\").  Lumin is the Company's new oncology data-driven software program and data tool which is operates as Software as a Service (SaaS).  These capitalized costs represent salaries, including direct payroll-related costs, certain software development consultant expenses and molecular sequencing programming costs incurred in the engineering and coding of the software development.  Capitalized costs are classified as assets in progress during the development process until development is complete and the asset is available for sale. The initial version of the Lumin platform was launched during fiscal year 2021, at which time initial capitalization ceased and amortization commenced. The total Lumin assest placed into service and available for sale as of July 31, 2020 was $484,000.   </span></div><div style=\"text-align:justify;text-indent:36pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company continued to develop increased functionality, expand product design and usability, and add enhancements to the Lumin platform.  In accordance with accounting guidance, these costs were capitalized. This developmental work did not render the initial released version to be obsolete or diminished in value but, rather, added to the base functionality of the existing platform.  During the third quarter of fiscal year 2022, these capitalized costs were placed into </span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">service as the enhanced version was launched and made available for sale. The total cost of the enhanced Lumin asset placed into service and available for sale as of January 31, 2022 was $1.4\u00a0million, bringing the total capitalized gross asset investment to $1.9\u00a0million. Amortization expense related to this asset addition was $317,000 and $134,000 for the years ended April 30, 2022 and 2021, respectively.</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify\"><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%\">Finance Lease</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0\u00a0\u00a0\u00a0During fiscal 2020, the Company entered into a finance lease for laboratory equipment. The lease had costs of approximately\u00a0$231,000, at inception, through November 2020. This lease expired December 2020. Prior to expiration, the  monthly finance lease payment was approximately\u00a0$19,000. The future minimum lease payments remaining under this finance lease at April 30, 2021 and 2020 were zero and\u00a0$135,000, respectively. The present value of minimum future obligations was calculated based on interest rate of\u00a04.75%. Depreciation and amortization expense related to this finance lease was zero and $124,000 \u00a0for the years ended April 30, 2022 and 2021, respectively.</span></div>During fiscal 2022, the Company recognized a finance lease for laboratory equipment.  This equipment was obtained as the result of a laboratory supplies purchase commitment with costs of approximately $370,000 at inception through December 2025. Cash payments for this lease are in the form of consideration for purchasing lab supplies under a purchase commitment agreement. The present value of the minimum future obligations of $370,000 was calculated based on an interest rate of 3.25%. Depreciation and amortization expense related to this finance lease was $87,000 and zero for the years ended April 30, 2022 and 2021, respectively.","language":"en-us"}]},{"name":"rpt:f-275","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Property and equipment consisted of the following (in thousands):</span></div><div style=\"margin-top:5pt\"><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:74.706%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.631%\"></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%\">\u00a0</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:700;line-height:100%\">April 30,</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%\">\u00a0</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%\">2022</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%\">2021</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%\">Furniture and fixtures</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%\">246\u00a0</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%\">246\u00a0</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%\">Computer equipment and software</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,667\u00a0</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,461\u00a0</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%\">Laboratory 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%\">8,618\u00a0</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,640\u00a0</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%\">Capitalized software development 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,888\u00a0</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%\">484\u00a0</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%\">Assets in progress</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%\">181\u00a0</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,211\u00a0</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%\">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%\">111\u00a0</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%\">4\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><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:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total property and equipment</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%\">12,711\u00a0</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,046\u00a0</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%\">Less: Accumulated depreciation and 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%\">(5,577)</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,956)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><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><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: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:id3VybDovL2RvY3MudjEvZG9jOjc3NmNmMGI4NWZkYjQ0YTE5M2M4OGY0ZmM3MDYzMTgxL3NlYzo3NzZjZjBiODVmZGI0NGExOTNjODhmNGZjNzA2MzE4MV8xMzYvZnJhZzphYjExM2YzODk3Y2I0ZWJlYTYzNjEzZjUwMzU0NGQ2OS90YWJsZTo5OGFmYzliZGUzNWI0YjU5OGIyY2ZhNDY4OGM5NzkzMi90YWJsZXJhbmdlOjk4YWZjOWJkZTM1YjRiNTk4YjJjZmE0Njg4Yzk3OTMyXzEyLTAtMS0xLTE0Mzky_d0e54618-5027-402e-97b5-cbf85b7f6442\"><span style=\"-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjc3NmNmMGI4NWZkYjQ0YTE5M2M4OGY0ZmM3MDYzMTgxL3NlYzo3NzZjZjBiODVmZGI0NGExOTNjODhmNGZjNzA2MzE4MV8xMzYvZnJhZzphYjExM2YzODk3Y2I0ZWJlYTYzNjEzZjUwMzU0NGQ2OS90YWJsZTo5OGFmYzliZGUzNWI0YjU5OGIyY2ZhNDY4OGM5NzkzMi90YWJsZXJhbmdlOjk4YWZjOWJkZTM1YjRiNTk4YjJjZmE0Njg4Yzk3OTMyXzEyLTAtMS0xLTE0Mzky_f966c824-065f-42b9-b717-91f06b782abb\">Property and equipment, net</span></span></span></td><td style=\"background-color:#cceeff;border-bottom: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-bottom: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%\">7,134\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom: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-bottom: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-bottom: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%\">6,090\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-276","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:FurnitureAndFixturesMember"},"factValues":[{"value":"246000","decimals":-3}]},{"name":"rpt:f-277","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:FurnitureAndFixturesMember"},"factValues":[{"value":"246000","decimals":-3}]},{"name":"rpt:f-278","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:ComputerEquipmentMember"},"factValues":[{"value":"1667000","decimals":-3}]},{"name":"rpt:f-279","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:ComputerEquipmentMember"},"factValues":[{"value":"1461000","decimals":-3}]},{"name":"rpt:f-280","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:OtherMachineryAndEquipmentMember"},"factValues":[{"value":"8618000","decimals":-3}]},{"name":"rpt:f-281","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:OtherMachineryAndEquipmentMember"},"factValues":[{"value":"6640000","decimals":-3}]},{"name":"rpt:f-282","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:SoftwareAndSoftwareDevelopmentCostsMember"},"factValues":[{"value":"1888000","decimals":-3}]},{"name":"rpt:f-283","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:SoftwareAndSoftwareDevelopmentCostsMember"},"factValues":[{"value":"484000","decimals":-3}]},{"name":"rpt:f-284","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:AssetUnderConstructionMember"},"factValues":[{"value":"181000","decimals":-3}]},{"name":"rpt:f-285","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:AssetUnderConstructionMember"},"factValues":[{"value":"1211000","decimals":-3}]},{"name":"rpt:f-286","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:LeaseholdImprovementsMember"},"factValues":[{"value":"111000","decimals":-3}]},{"name":"rpt:f-287","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:LeaseholdImprovementsMember"},"factValues":[{"value":"4000","decimals":-3}]},{"name":"rpt:f-288","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"12711000","decimals":-3}]},{"name":"rpt:f-289","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"10046000","decimals":-3}]},{"name":"rpt:f-290","factDimensions":{"xbrl:concept":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5577000","decimals":-3}]},{"name":"rpt:f-291","factDimensions":{"xbrl:concept":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3956000","decimals":-3}]},{"name":"rpt:f-292","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"7134000","decimals":-3}]},{"name":"rpt:f-293","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6090000","decimals":-3}]},{"name":"rpt:f-294","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1600000","decimals":-5}]},{"name":"rpt:f-295","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1200000","decimals":-5}]},{"name":"rpt:f-296","factDimensions":{"xbrl:concept":"us-gaap:DepreciationDepletionAndAmortization","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1500000","decimals":-5}]},{"name":"rpt:f-297","factDimensions":{"xbrl:concept":"us-gaap:DepreciationDepletionAndAmortization","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"925000","decimals":-3}]},{"name":"rpt:f-298","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAsset","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"713000","decimals":-3}]},{"name":"rpt:f-299","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAsset","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"343000","decimals":-3}]},{"name":"rpt:f-300","factDimensions":{"xbrl:concept":"us-gaap:Depreciation","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"csbr:FinanceLeasedAssetsMember"},"factValues":[{"value":"87000","decimals":-3}]},{"name":"rpt:f-301","factDimensions":{"xbrl:concept":"us-gaap:Depreciation","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"csbr:FinanceLeasedAssetsMember"},"factValues":[{"value":"124000","decimals":-3}]},{"name":"rpt:f-302","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentUsefulLife","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:SoftwareAndSoftwareDevelopmentCostsMember"},"factValues":[{"value":"P3Y"}]},{"name":"rpt:f-303","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2020-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:SoftwareAndSoftwareDevelopmentCostsMember"},"factValues":[{"value":"484000","decimals":-3}]},{"name":"rpt:f-304","factDimensions":{"xbrl:concept":"us-gaap:ServicingAssetAtFairValueAmount","xbrl:period":"2022-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1400000","decimals":-5}]},{"name":"rpt:f-305","factDimensions":{"xbrl:concept":"us-gaap:ServicingAsset","xbrl:period":"2022-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1900000","decimals":-5}]},{"name":"rpt:f-306","factDimensions":{"xbrl:concept":"us-gaap:HostingArrangementServiceContractImplementationCostExpenseAmortization","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"317000","decimals":-3}]},{"name":"rpt:f-307","factDimensions":{"xbrl:concept":"us-gaap:HostingArrangementServiceContractImplementationCostExpenseAmortization","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"134000","decimals":-3}]},{"name":"rpt:f-308","factDimensions":{"xbrl:concept":"csbr:FinanceLeaseCost","xbrl:period":"2019-12-01T00:00:00/2020-12-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2020FinanceLeaseMember"},"factValues":[{"value":"231000","decimals":-3}]},{"name":"rpt:f-309","factDimensions":{"xbrl:concept":"csbr:FinanceLeaseMonthlyPayment","xbrl:period":"2019-12-01T00:00:00/2020-01-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2020FinanceLeaseMember"},"factValues":[{"value":"19000","decimals":-3}]},{"name":"rpt:f-310","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseLiabilityPaymentsDue","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2020FinanceLeaseMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-311","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseLiabilityPaymentsDue","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2020FinanceLeaseMember"},"factValues":[{"value":"135000","decimals":-3}]},{"name":"rpt:f-312","factDimensions":{"xbrl:concept":"csbr:PresentValueMinimumFutureObligationsInterestRate","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","csbr:FinanceLeaseAxis":"csbr:A2020FinanceLeaseMember"},"factValues":[{"value":"0.0475"}]},{"name":"rpt:f-313","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2020FinanceLeaseMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-314","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2020FinanceLeaseMember"},"factValues":[{"value":"124000","decimals":-3}]},{"name":"rpt:f-315","factDimensions":{"xbrl:concept":"csbr:FinanceLeaseCost","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2022FinanceLeaseMember"},"factValues":[{"value":"370000","decimals":-3}]},{"name":"rpt:f-316","factDimensions":{"xbrl:concept":"csbr:FinanceLeaseCost","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2022FinanceLeaseMember"},"factValues":[{"value":"370000","decimals":-3}]},{"name":"rpt:f-317","factDimensions":{"xbrl:concept":"csbr:PresentValueMinimumFutureObligationsInterestRate","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","csbr:FinanceLeaseAxis":"csbr:A2022FinanceLeaseMember"},"factValues":[{"value":"0.0325"}]},{"name":"rpt:f-318","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2022FinanceLeaseMember"},"factValues":[{"value":"87000","decimals":-3}]},{"name":"rpt:f-319","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2022FinanceLeaseMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-320","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Revenue from Contracts with Customers<div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Oncology Services Revenue</span></div><div><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">       The following table represents disaggregated revenue for the twelve months ended April\u00a030, 2022 and 2021:</span></div><div style=\"margin-top:5pt;text-align:center\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:71.345%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:70.416%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.219%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.824%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.014%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.827%\"></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:700;line-height:100%\">Year Ended April 30,</span></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:10pt;font-weight:400;line-height:100%\">\u00a0</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%\">2022</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%\">2021</span></td><td colspan=\"3\" style=\"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%\">Pharmacology services</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%\">46,833\u00a0</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%\">39,473\u00a0</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=\"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%\">Other TOS 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%\">2,227\u00a0</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,401\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"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%\">Personalized oncology services</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%\">49\u00a0</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%\">166\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></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%\">Total oncology services revenue</span></td><td style=\"background-color:#cceeff;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:#cceeff;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%\">49,109\u00a0</span></td><td style=\"background-color:#cceeff;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:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;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:#cceeff;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%\">41,040\u00a0</span></td><td style=\"background-color:#cceeff;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></tr></table></div><div style=\"margin-top:5pt;text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\"> Other TOS revenue represents additional services provided to the Company's pharmaceutical and biotechnology customers,  specifically flow cytometry services and SaaS provided via our Lumin Bioinformatics software. </span></div><div style=\"margin-top:5pt\"><span><br/></span></div><div style=\"margin-top:5pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Contract Balances</span></div>Contract assets include unbilled amounts typically resulting from revenue recognized in excess of the amounts billed to the customer for which the right to payment is subject to factors other than the passage of time. These amounts may not exceed their net realizable value. Contract assets are classified as current. Contract liabilities consist of customer payments received in advance of performance and billings in excess of revenue recognized, net of revenue recognized from the balance at the beginning of the period. Contract assets and liabilities are presented on the balance sheet on a net contract-by-contract basis at the end of each reporting period.  Refer to Note 3 for related balances.","language":"en-us"}]},{"name":"rpt:f-321","factDimensions":{"xbrl:concept":"us-gaap:DisaggregationOfRevenueTableTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"The following table represents disaggregated revenue for the twelve months ended April\u00a030, 2022 and 2021:<table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:71.345%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:70.416%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.219%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.824%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.014%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.827%\"></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:700;line-height:100%\">Year Ended April 30,</span></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:10pt;font-weight:400;line-height:100%\">\u00a0</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%\">2022</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%\">2021</span></td><td colspan=\"3\" style=\"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%\">Pharmacology services</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%\">46,833\u00a0</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%\">39,473\u00a0</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=\"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%\">Other TOS 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%\">2,227\u00a0</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,401\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"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%\">Personalized oncology services</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%\">49\u00a0</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%\">166\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></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%\">Total oncology services revenue</span></td><td style=\"background-color:#cceeff;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:#cceeff;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%\">49,109\u00a0</span></td><td style=\"background-color:#cceeff;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:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;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:#cceeff;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%\">41,040\u00a0</span></td><td style=\"background-color:#cceeff;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></tr></table> Other TOS revenue represents additional services provided to the Company's pharmaceutical and biotechnology customers,  specifically flow cytometry services and SaaS provided via our Lumin Bioinformatics software.","language":"en-us"}]},{"name":"rpt:f-322","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"csbr:PharmacologyServicesMember"},"factValues":[{"value":"46833000","decimals":-3}]},{"name":"rpt:f-323","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"csbr:PharmacologyServicesMember"},"factValues":[{"value":"39473000","decimals":-3}]},{"name":"rpt:f-324","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"csbr:OtherServicesMember"},"factValues":[{"value":"2227000","decimals":-3}]},{"name":"rpt:f-325","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"csbr:OtherServicesMember"},"factValues":[{"value":"1401000","decimals":-3}]},{"name":"rpt:f-326","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"csbr:PersonalizedOncologyServicesMember"},"factValues":[{"value":"49000","decimals":-3}]},{"name":"rpt:f-327","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"csbr:PersonalizedOncologyServicesMember"},"factValues":[{"value":"166000","decimals":-3}]},{"name":"rpt:f-328","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"49109000","decimals":-3}]},{"name":"rpt:f-329","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"41040000","decimals":-3}]},{"name":"rpt:f-330","factDimensions":{"xbrl:concept":"us-gaap:ConcentrationRiskDisclosureTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Significant Customers<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">For the years ended April\u00a030, 2022 and 2021, one and none of our customers accounted for more than 10% of our total revenue, respectively.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div>As of April\u00a030, 2022, one customer accounted for 17% of our total accounts receivable balance.  As of April 30, 2021, no customers accounted for 10% or more of our total accounts receivable balance.","language":"en-us"}]},{"name":"rpt:f-331","factDimensions":{"xbrl:concept":"us-gaap:ConcentrationRiskPercentage1","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:ConcentrationRiskByBenchmarkAxis":"us-gaap:AccountsReceivableMember","srt:MajorCustomersAxis":"csbr:OneCustomerMember","us-gaap:ConcentrationRiskByTypeAxis":"us-gaap:CustomerConcentrationRiskMember"},"factValues":[{"value":"0.17","decimals":2}]},{"name":"rpt:f-332","factDimensions":{"xbrl:concept":"us-gaap:CommitmentsAndContingenciesDisclosureTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Commitments and Contingencies<div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Legal Matters</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company is not currently party to any legal matters to its knowledge. The Company is not aware of any other matters that would have a material impact on the Company\u2019s financial position or results of operations.</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">\u00a0</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%\">Registration Payment Arrangements</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company has entered into an Amended and Restated Registration Rights Agreement in connection with the March 2015 Private Placement. This Amended and Restated Registration Rights Agreement contains provisions that may call for the Company to pay penalties in certain circumstances. This registration payment arrangement primarily relates to the Company\u2019s ability to file a registration statement within a particular time period, have a registration statement declared effective within a particular time period and to maintain the effectiveness of the registration statement for a particular time period. The Company has not accrued any liquidated damages associated with the Amended and Restated Registration Right Agreement as the Company has filed the required registration statement and anticipates continued compliance with the agreement.</span></div><div style=\"text-align:justify;text-indent:9pt\"><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%\">Royalties</span></div>The Company contracts with third-party vendors to license tumor samples for development into PDX models and use in our TOS business. These types of arrangements have an upfront fee ranging from approximately nil\u00a0to $30,000 per tumor sample depending on the successful growth of the tumor model and ability to develop them into a sellable product. The upfront costs are expensed as incurred. In addition, under certain agreements, for a limited period of time, the Company is subject to royalty payments if the licensed tumor models are used for sale in\u00a0our TOS business,\u00a0ranging from 2% to 20% of the contract price\u00a0after recouping certain initiation costs.  Some of these arrangements also set forth an annual minimum royalty due regardless of tumor models used for sale.   For the years ended April\u00a030, 2022 and 2021, we have recognized approximately $401,000 and  $127,000 in expense related to these royalty arrangements, respectively.","language":"en-us"}]},{"name":"rpt:f-333","factDimensions":{"xbrl:concept":"csbr:CollaborationArrangementRoyaltyFee","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RangeAxis":"srt:MinimumMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-334","factDimensions":{"xbrl:concept":"csbr:CollaborationArrangementRoyaltyFee","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RangeAxis":"srt:MaximumMember"},"factValues":[{"value":"30000","decimals":-3}]},{"name":"rpt:f-335","factDimensions":{"xbrl:concept":"csbr:CollaborationArrangementRoyaltyFeePercentOfContractPrice","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","srt:RangeAxis":"srt:MinimumMember"},"factValues":[{"value":"0.02"}]},{"name":"rpt:f-336","factDimensions":{"xbrl:concept":"csbr:CollaborationArrangementRoyaltyFeePercentOfContractPrice","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","srt:RangeAxis":"srt:MaximumMember"},"factValues":[{"value":"0.20"}]},{"name":"rpt:f-337","factDimensions":{"xbrl:concept":"us-gaap:RoyaltyExpense","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"401000","decimals":-3}]},{"name":"rpt:f-338","factDimensions":{"xbrl:concept":"us-gaap:RoyaltyExpense","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"127000","decimals":-3}]},{"name":"rpt:f-339","factDimensions":{"xbrl:concept":"us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Stock-based Payments<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Stock-based compensation in the amount of $912,000 and $598,000 was recognized for years ended April\u00a030, 2022 and 2021, respectively.\u00a0Stock-based compensation costs were recorded as follows (in thousands):</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:74.706%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.631%\"></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%\">\u00a0</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:700;line-height:100%\">Year Ended April 30,</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%\">\u00a0</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%\">2022</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%\">2021</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%\">General and administrative</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%\">563\u00a0</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%\">292\u00a0</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%\">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%\">189\u00a0</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%\">199\u00a0</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%\">Research and 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%\">18\u00a0</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\u00a0</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%\">TOS cost of sales</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%\">142\u00a0</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%\">84\u00a0</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 style=\"height:14pt\"><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%\">Total stock-based compensation expense</span></td><td style=\"background-color:#ffffff;border-bottom: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-bottom: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%\">912\u00a0</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 style=\"background-color:#ffffff;border-bottom: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-bottom: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%\">598\u00a0</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></table></div><div><span><br/></span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company has in place a 2021 Equity Incentive Plan, 2010 Equity Incentive Plan and 2008 Equity Incentive Plan (\"the Plans\"). In general, these plans provide for stock-based compensation to the Company\u2019s employees, directors and non-employees. The plans also provide for limits on the aggregate number of shares that may be granted, the term of grants and the strike price of option awards.</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">2021 Equity Incentive Plan</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">As part of the 2021 Annual Shareholders Meeting, shareholders approved the adoption of the 2021 Equity Incentive Plan (\u201c2021 Equity Plan\u201d). The purpose of the 2021 Equity Plan is to grant (i) Non-statutory Stock Options; (ii) Incentive Stock Options; (iii) Restricted Stock Awards; and/or (iv) Stock Appreciation Rights (collectively, stock-based compensation) to its employees, directors and non-employees. Total stock awards under the 2021 Equity Plan shall not exceed 2\u00a0million shares of common stock. Options and Stock Appreciation Rights expire no later than ten years from the date of grant and the awards vest as determined by the Board of Directors. Options and Stock Appreciation Rights have a strike price not less than 100% of the </span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">fair market value of the common stock subject to the option or right at the date of grant.  As of April 30, 2022, approximately 1.8\u00a0million shares were left to issue under this plan. </span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">2010 Equity Incentive Plan</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">On February 18, 2011, shareholders owning a majority of the issued and outstanding shares of the Company executed a written consent approving the 2010 Equity Incentive Plan (\u201c2010 Equity Plan\u201d). The purpose of the 2010 Equity Plan is to grant (i) Non-statutory Stock Options; (ii) Restricted Stock Awards; and (iii) Stock Appreciation Rights (collectively, stock-based compensation) to its employees, directors and non-employees. Total stock awards under the 2010 Equity Plan shall not exceed 30,000,000 shares of common stock. Options and Stock Appreciation Rights expire no later than ten years from the date of grant and the awards vest as determined by the Board of Directors. Options and Stock Appreciation Rights have a strike price not less than 100% of the fair market value of the common stock subject to the option or right at the date of grant.  After February 2021, no more shares were available to be issued from this plan. </span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">2008 Equity Incentive Plan</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company has previously granted (i) Non-statutory Stock Options; (ii) Restricted Stock Awards; and (iii) Stock Appreciation Rights (collectively, stock-based compensation) to its employees, directors and non-employees under a 2008 Equity Incentive Plan (the \u201c2008 Equity Plan\u201d).\u00a0\u00a0Such awards may be granted by the Company\u2019s Board of Directors.\u00a0\u00a0Options granted under the 2008 Equity Plan expire no later than ten years from the date of grant and the awards vest as determined by the Board of Directors.</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">For stock-based payments to non-employee consultants under the Plans, the fair value of the stock-based consideration issued is used to measure the transaction, as management believes this to be a more reliable measure of fair value than the services received.\u00a0\u00a0The fair value of the award is expensed over the period service is provided to the Company; however, it is ultimately measured at the price of the Company\u2019s common stock or the fair value of stock options using the Black-Scholes valuation model on the date that the commitment for performance by the non-employee consultant has been reached or performance is complete, which is generally the vesting date of the award. After 2018, no more shares were available to be issued from this plan. </span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Director Compensation Plan</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">On December 12, 2013, the Compensation Committee of the Board of Directors of the Company adopted changes to the Director Compensation Plan of 2010 (the \u201cDirector Plan\u201d) effective December 1, 2013.\u00a0\u00a0Under the Director Plan, independent directors of the Company are entitled to an annual award of a five-year option to purchase 8,333 shares of the Company\u2019s common stock, and the Chairman of the Board of the Company is entitled to an annual award of a five-year option to purchase 16,667 shares of the Company\u2019s common stock.\u00a0\u00a0Independent directors who serve as chairperson of a committee will also receive an annual grant of a five-year option to purchase 1,667 shares of the Company\u2019s common stock. All options issued under the Director Plan vest quarterly at a rate of 25%. Option grants will typically be issued after the annual shareholder meeting which will generally be held in October of each year. New directors will receive a grant upon joining the Board equal to the pro-rata annual grant for the remainder of the year.\u00a0Options issued under the Director Plan are now issued pursuant to the 2021 Equity Plan.\u00a0</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Stock Option Grants</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Black-Scholes assumptions used to calculate the fair value of options granted during the years ended April\u00a030, 2022 and 2021 were as follows:</span></div><div style=\"margin-top:5pt\"><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:53.432%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:18.636%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.530%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:23.902%\"></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%\">\u00a0</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:700;line-height:100%\">Year Ended April 30,</span></td></tr><tr><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%\">2022</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%\">2021</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%\">Expected term in years</span></td><td colspan=\"3\" style=\"background-color:#cceeff;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%\">6</span></div></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: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%\">3 - 6</span></div></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%\">Risk-free interest rates</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%\">0.8% - 1.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:10pt;font-weight:400;line-height:100%\">0.1% - 0.5%</span></div></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%\">Volatility</span></td><td colspan=\"3\" style=\"background-color:#cceeff;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%\">64% - 66%</span></div></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;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%\">70% - 75%</span></div></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%\">Dividend yield</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%\">\u2014%</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%\">\u2014%</span></div></td></tr></table></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The weighted average fair value of stock options granted during the years ending April\u00a030, 2022 and 2021, was $5.56 and $5.11, respectively. The Company\u2019s stock options activity and related information as of and for the years ended April\u00a030, 2022 and 2021 is as follows:</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"margin-top:5pt\"><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:24.744%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.651%\"></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%\">Directors<br/>and<br/>Employees</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%\">Non-<br/>Employees</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</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%\">Weighted<br/>Average<br/>Exercise<br/>Price</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%\">Weighted<br/>Average<br/>Remaining<br/>Contractual<br/>Life (Years)</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%\">Aggregate<br/>Intrinsic<br/>Value</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%\">Outstanding, May 1, 2021</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,618,231\u00a0</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%\">35,415\u00a0</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%\">1,653,646\u00a0</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%\">3.96\u00a0</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=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;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%\">5.4</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%\">11,384,000\u00a0</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%\">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%\">155,552\u00a0</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,500\u00a0</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%\">166,052\u00a0</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%\">9.44\u00a0</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=\"3\" style=\"background-color:#ffffff;border-top:3pt double #000000;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.3</span></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%\">\u2014\u00a0</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:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Exercised</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%\">(108,375)</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%\">\u2014\u00a0</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%\">(108,375)</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%\">2.29\u00a0</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=\"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%\">\u00a0</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%\">\u00a0</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-weight:400;line-height:100%\">Canceled</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,209)</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%\">\u2014\u00a0</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%\">(11,209)</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%\">4.71\u00a0</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=\"3\" style=\"background-color:#ffffff;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%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;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%\">\u00a0</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%\">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%\">(36,875)</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%\">\u2014\u00a0</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%\">(36,875)</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.45\u00a0</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=\"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%\">\u00a0</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%\">\u00a0</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-weight:400;line-height:100%\">Expired</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%\">\u2014\u00a0</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%\">(5,000)</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%\">(5,000)</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%\">9.60\u00a0</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=\"3\" style=\"background-color:#ffffff;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%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;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%\">\u00a0</span></td></tr><tr style=\"height:14pt\"><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;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-weight:400;line-height:100%\">Outstanding, April 30, 2022</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,617,324\u00a0</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%\">40,915\u00a0</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,658,239\u00a0</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%\">4.51\u00a0</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=\"3\" style=\"background-color:#ffffff;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%\">4.9</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%\">6,131,000\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #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:3pt double #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:3pt double #000000;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;border-top:3pt double #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:3pt double #000000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Vested and expected to vest as of April 30, 2022</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,617,324\u00a0</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%\">40,915\u00a0</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,658,239\u00a0</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%\">4.51\u00a0</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=\"3\" style=\"background-color:#ffffff;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%\">4.9</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%\">6,131,000\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #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:3pt double #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:3pt double #000000;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;border-top:3pt double #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:3pt double #000000;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%\">Vested as of April 30, 2022</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%\">1,349,895\u00a0</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%\">4,584\u00a0</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%\">1,354,479\u00a0</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;padding:2px 0 2px 1pt;text-align: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.93\u00a0</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=\"3\" style=\"background-color:#ffffff;border-bottom:3pt double #000000;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%\">4.2</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom: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-bottom: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%\">5,778,000\u00a0</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></table></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%\">\u00a0</span></div><div style=\"margin-top:5pt\"><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:24.744%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.651%\"></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%\">Directors<br/>and<br/>Employees</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%\">Non-<br/>Employees</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</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%\">Weighted<br/>Average<br/>Exercise<br/>Price</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%\">Weighted<br/>Average<br/>Remaining<br/>Contractual<br/>Life (Years)</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%\">Aggregate<br/>Intrinsic<br/>Value</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%\">Outstanding, May 1, 2020</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%\">2,228,326\u00a0</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%\">43,332\u00a0</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%\">2,271,658\u00a0</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%\">3.23\u00a0</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=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;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%\">5.0</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%\">10,663,000\u00a0</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%\">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%\">135,834\u00a0</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%\">\u2014\u00a0</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%\">135,834\u00a0</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%\">9.24\u00a0</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=\"3\" style=\"border-top:3pt double #000000;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%\">7.3</span></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%\">259,000\u00a0</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:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Exercised</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%\">(686,178)</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,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%\">(687,338)</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%\">2.33\u00a0</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=\"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%\">\u00a0</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%\">\u00a0</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-weight:400;line-height:100%\">Canceled</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%\">(47,751)</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%\">(923)</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%\">(48,674)</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%\">6.03\u00a0</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=\"3\" style=\"background-color:#ffffff;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%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;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%\">\u00a0</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%\">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%\">(12,000)</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%\">\u2014\u00a0</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%\">(12,000)</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.48\u00a0</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=\"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%\">\u00a0</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%\">\u00a0</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-weight:400;line-height:100%\">Expired</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%\">\u2014\u00a0</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%\">(5,834)</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%\">(5,834)</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.80\u00a0</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=\"3\" style=\"background-color:#ffffff;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%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;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%\">\u00a0</span></td></tr><tr style=\"height:14pt\"><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;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-weight:400;line-height:100%\">Outstanding, April 30, 2021</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,618,231\u00a0</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%\">35,415\u00a0</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,653,646\u00a0</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.96\u00a0</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=\"3\" style=\"background-color:#ffffff;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%\">5.4</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%\">11,384,000\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #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:3pt double #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:3pt double #000000;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;border-top:3pt double #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:3pt double #000000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Vested and expected to vest as of April 30, 2021</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,618,231\u00a0</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%\">35,415\u00a0</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,653,646\u00a0</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=\"padding:2px 0 2px 1pt;text-align: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.96\u00a0</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=\"3\" style=\"background-color:#ffffff;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%\">5.4</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%\">11,384,000\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #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:3pt double #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:3pt double #000000;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;border-top:3pt double #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:3pt double #000000;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%\">Vested as of April 30, 2021</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%\">1,323,270\u00a0</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%\">9,584\u00a0</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%\">1,332,854\u00a0</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;padding:2px 0 2px 1pt;text-align: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.34\u00a0</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=\"3\" style=\"background-color:#ffffff;border-bottom:3pt double #000000;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%\">4.8</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom: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-bottom: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%\">9,995,000\u00a0</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></table></div>","language":"en-us"}]},{"name":"rpt:f-340","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"912000","decimals":-3}]},{"name":"rpt:f-341","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"598000","decimals":-3}]},{"name":"rpt:f-342","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Stock-based compensation costs were recorded as follows (in thousands):<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:74.706%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.631%\"></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%\">\u00a0</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:700;line-height:100%\">Year Ended April 30,</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%\">\u00a0</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%\">2022</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%\">2021</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%\">General and administrative</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%\">563\u00a0</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%\">292\u00a0</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%\">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%\">189\u00a0</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%\">199\u00a0</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%\">Research and 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%\">18\u00a0</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\u00a0</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%\">TOS cost of sales</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%\">142\u00a0</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%\">84\u00a0</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 style=\"height:14pt\"><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%\">Total stock-based compensation expense</span></td><td style=\"background-color:#ffffff;border-bottom: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-bottom: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%\">912\u00a0</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 style=\"background-color:#ffffff;border-bottom: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-bottom: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%\">598\u00a0</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></table>The Company has in place a 2021 Equity Incentive Plan, 2010 Equity Incentive Plan and 2008 Equity Incentive Plan (\"the Plans\"). In general, these plans provide for stock-based compensation to the Company\u2019s employees, directors and non-employees. The plans also provide for limits on the aggregate number of shares that may be granted, the term of grants and the strike price of option awards.","language":"en-us"}]},{"name":"rpt:f-343","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:GeneralAndAdministrativeExpenseMember"},"factValues":[{"value":"563000","decimals":-3}]},{"name":"rpt:f-344","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:GeneralAndAdministrativeExpenseMember"},"factValues":[{"value":"292000","decimals":-3}]},{"name":"rpt:f-345","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:SellingAndMarketingExpenseMember"},"factValues":[{"value":"189000","decimals":-3}]},{"name":"rpt:f-346","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:SellingAndMarketingExpenseMember"},"factValues":[{"value":"199000","decimals":-3}]},{"name":"rpt:f-347","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:ResearchAndDevelopmentExpenseMember"},"factValues":[{"value":"18000","decimals":-3}]},{"name":"rpt:f-348","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:ResearchAndDevelopmentExpenseMember"},"factValues":[{"value":"23000","decimals":-3}]},{"name":"rpt:f-349","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"csbr:TranslationalOncologySolutionsCostOfSalesMember"},"factValues":[{"value":"142000","decimals":-3}]},{"name":"rpt:f-350","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"csbr:TranslationalOncologySolutionsCostOfSalesMember"},"factValues":[{"value":"84000","decimals":-3}]},{"name":"rpt:f-351","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"912000","decimals":-3}]},{"name":"rpt:f-352","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"598000","decimals":-3}]},{"name":"rpt:f-353","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:EquityIncentivePlan2021Member"},"factValues":[{"value":"2000000"}]},{"name":"rpt:f-354","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:EquityIncentivePlan2021Member"},"factValues":[{"value":"P10Y"}]},{"name":"rpt:f-355","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:EquityIncentivePlan2021Member"},"factValues":[{"value":"1"}]},{"name":"rpt:f-356","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:EquityIncentivePlan2021Member"},"factValues":[{"value":"1800000"}]},{"name":"rpt:f-357","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod","xbrl:period":"2011-02-18T00:00:00/2011-02-19T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:RangeAxis":"srt:MaximumMember","us-gaap:PlanNameAxis":"csbr:EquityIncentivePlan2010Member"},"factValues":[{"value":"30000000"}]},{"name":"rpt:f-358","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:EquityIncentivePlan2010Member"},"factValues":[{"value":"P10Y"}]},{"name":"rpt:f-359","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:EquityIncentivePlan2010Member"},"factValues":[{"value":"1"}]},{"name":"rpt:f-360","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:TwoThousandEightEquityIncentivePlanMember"},"factValues":[{"value":"P10Y"}]},{"name":"rpt:f-361","factDimensions":{"xbrl:concept":"csbr:SharebasedCompensationArrangementbySharebasedPaymentAwardTermofOptiontoPurchase","xbrl:period":"2013-12-12T00:00:00/2013-12-13T00:00:00","xbrl:entity":"cik:0000771856","srt:TitleOfIndividualAxis":"srt:BoardOfDirectorsChairmanMember","us-gaap:PlanNameAxis":"csbr:DirectorCompensationPlanMember"},"factValues":[{"value":"P5Y"}]},{"name":"rpt:f-362","factDimensions":{"xbrl:concept":"csbr:StockOptionsAwardSharesToPurchaseCommonStock","xbrl:period":"2013-12-12T00:00:00/2013-12-13T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:DirectorCompensationPlanMember"},"factValues":[{"value":"8333"}]},{"name":"rpt:f-363","factDimensions":{"xbrl:concept":"csbr:SharebasedCompensationArrangementbySharebasedPaymentAwardTermofOptiontoPurchase","xbrl:period":"2013-12-12T00:00:00/2013-12-13T00:00:00","xbrl:entity":"cik:0000771856","srt:TitleOfIndividualAxis":"srt:BoardOfDirectorsChairmanMember","us-gaap:PlanNameAxis":"csbr:DirectorCompensationPlanMember"},"factValues":[{"value":"P5Y"}]},{"name":"rpt:f-364","factDimensions":{"xbrl:concept":"csbr:StockOptionsAwardSharesToPurchaseCommonStock","xbrl:period":"2013-12-12T00:00:00/2013-12-13T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"16667"}]},{"name":"rpt:f-365","factDimensions":{"xbrl:concept":"csbr:SharebasedCompensationArrangementbySharebasedPaymentAwardTermofOptiontoPurchase","xbrl:period":"2013-12-12T00:00:00/2013-12-13T00:00:00","xbrl:entity":"cik:0000771856","srt:TitleOfIndividualAxis":"srt:BoardOfDirectorsChairmanMember","us-gaap:PlanNameAxis":"csbr:DirectorCompensationPlanMember"},"factValues":[{"value":"P5Y"}]},{"name":"rpt:f-366","factDimensions":{"xbrl:concept":"csbr:StockOptionsAwardSharesToPurchaseUnregisteredCommonStock","xbrl:period":"2013-12-12T00:00:00/2013-12-13T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:DirectorCompensationPlanMember"},"factValues":[{"value":"1667"}]},{"name":"rpt:f-367","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedPercentage","xbrl:period":"2013-12-12T00:00:00/2013-12-13T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:DirectorCompensationPlanMember"},"factValues":[{"value":"0.25"}]},{"name":"rpt:f-368","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Black-Scholes assumptions used to calculate the fair value of options granted during the years ended April\u00a030, 2022 and 2021 were as follows:</span></div><div style=\"margin-top:5pt\"><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:53.432%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:18.636%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.530%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:23.902%\"></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%\">\u00a0</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:700;line-height:100%\">Year Ended April 30,</span></td></tr><tr><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%\">2022</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%\">2021</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%\">Expected term in years</span></td><td colspan=\"3\" style=\"background-color:#cceeff;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%\">6</span></div></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: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%\">3 - 6</span></div></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%\">Risk-free interest rates</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%\">0.8% - 1.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:10pt;font-weight:400;line-height:100%\">0.1% - 0.5%</span></div></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%\">Volatility</span></td><td colspan=\"3\" style=\"background-color:#cceeff;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%\">64% - 66%</span></div></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;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%\">70% - 75%</span></div></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%\">Dividend yield</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%\">\u2014%</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%\">\u2014%</span></div></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-369","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","srt:RangeAxis":"srt:MaximumMember"},"factValues":[{"value":"P6Y"}]},{"name":"rpt:f-370","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","srt:RangeAxis":"srt:MinimumMember"},"factValues":[{"value":"P3Y"}]},{"name":"rpt:f-371","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","srt:RangeAxis":"srt:MaximumMember"},"factValues":[{"value":"P6Y"}]},{"name":"rpt:f-372","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.008"}]},{"name":"rpt:f-373","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.012"}]},{"name":"rpt:f-374","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.001"}]},{"name":"rpt:f-375","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.005"}]},{"name":"rpt:f-376","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.64"}]},{"name":"rpt:f-377","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.66"}]},{"name":"rpt:f-378","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.70"}]},{"name":"rpt:f-379","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.75"}]},{"name":"rpt:f-380","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0"}]},{"name":"rpt:f-381","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0"}]},{"name":"rpt:f-382","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"5.56","decimals":2}]},{"name":"rpt:f-383","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"5.11","decimals":2}]},{"name":"rpt:f-384","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"The Company\u2019s stock options activity and related information as of and for the years ended April\u00a030, 2022 and 2021 is as follows:<div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"margin-top:5pt\"><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:24.744%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.651%\"></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%\">Directors<br/>and<br/>Employees</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%\">Non-<br/>Employees</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</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%\">Weighted<br/>Average<br/>Exercise<br/>Price</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%\">Weighted<br/>Average<br/>Remaining<br/>Contractual<br/>Life (Years)</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%\">Aggregate<br/>Intrinsic<br/>Value</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%\">Outstanding, May 1, 2021</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,618,231\u00a0</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%\">35,415\u00a0</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%\">1,653,646\u00a0</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%\">3.96\u00a0</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=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;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%\">5.4</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%\">11,384,000\u00a0</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%\">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%\">155,552\u00a0</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,500\u00a0</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%\">166,052\u00a0</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%\">9.44\u00a0</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=\"3\" style=\"background-color:#ffffff;border-top:3pt double #000000;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.3</span></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%\">\u2014\u00a0</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:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Exercised</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%\">(108,375)</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%\">\u2014\u00a0</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%\">(108,375)</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%\">2.29\u00a0</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=\"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%\">\u00a0</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%\">\u00a0</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-weight:400;line-height:100%\">Canceled</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,209)</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%\">\u2014\u00a0</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%\">(11,209)</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%\">4.71\u00a0</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=\"3\" style=\"background-color:#ffffff;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%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;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%\">\u00a0</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%\">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%\">(36,875)</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%\">\u2014\u00a0</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%\">(36,875)</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.45\u00a0</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=\"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%\">\u00a0</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%\">\u00a0</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-weight:400;line-height:100%\">Expired</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%\">\u2014\u00a0</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%\">(5,000)</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%\">(5,000)</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%\">9.60\u00a0</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=\"3\" style=\"background-color:#ffffff;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%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;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%\">\u00a0</span></td></tr><tr style=\"height:14pt\"><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;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-weight:400;line-height:100%\">Outstanding, April 30, 2022</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,617,324\u00a0</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%\">40,915\u00a0</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,658,239\u00a0</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%\">4.51\u00a0</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=\"3\" style=\"background-color:#ffffff;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%\">4.9</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%\">6,131,000\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #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:3pt double #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:3pt double #000000;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;border-top:3pt double #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:3pt double #000000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Vested and expected to vest as of April 30, 2022</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,617,324\u00a0</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%\">40,915\u00a0</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,658,239\u00a0</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%\">4.51\u00a0</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=\"3\" style=\"background-color:#ffffff;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%\">4.9</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%\">6,131,000\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #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:3pt double #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:3pt double #000000;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;border-top:3pt double #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:3pt double #000000;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%\">Vested as of April 30, 2022</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%\">1,349,895\u00a0</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%\">4,584\u00a0</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%\">1,354,479\u00a0</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;padding:2px 0 2px 1pt;text-align: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.93\u00a0</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=\"3\" style=\"background-color:#ffffff;border-bottom:3pt double #000000;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%\">4.2</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom: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-bottom: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%\">5,778,000\u00a0</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></table></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%\">\u00a0</span></div><div style=\"margin-top:5pt\"><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:24.744%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.651%\"></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%\">Directors<br/>and<br/>Employees</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%\">Non-<br/>Employees</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</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%\">Weighted<br/>Average<br/>Exercise<br/>Price</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%\">Weighted<br/>Average<br/>Remaining<br/>Contractual<br/>Life (Years)</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%\">Aggregate<br/>Intrinsic<br/>Value</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%\">Outstanding, May 1, 2020</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%\">2,228,326\u00a0</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%\">43,332\u00a0</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%\">2,271,658\u00a0</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%\">3.23\u00a0</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=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;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%\">5.0</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%\">10,663,000\u00a0</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%\">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%\">135,834\u00a0</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%\">\u2014\u00a0</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%\">135,834\u00a0</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%\">9.24\u00a0</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=\"3\" style=\"border-top:3pt double #000000;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%\">7.3</span></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%\">259,000\u00a0</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:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Exercised</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%\">(686,178)</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,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%\">(687,338)</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%\">2.33\u00a0</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=\"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%\">\u00a0</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%\">\u00a0</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-weight:400;line-height:100%\">Canceled</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%\">(47,751)</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%\">(923)</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%\">(48,674)</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%\">6.03\u00a0</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=\"3\" style=\"background-color:#ffffff;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%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;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%\">\u00a0</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%\">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%\">(12,000)</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%\">\u2014\u00a0</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%\">(12,000)</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.48\u00a0</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=\"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%\">\u00a0</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%\">\u00a0</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-weight:400;line-height:100%\">Expired</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%\">\u2014\u00a0</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%\">(5,834)</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%\">(5,834)</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.80\u00a0</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=\"3\" style=\"background-color:#ffffff;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%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;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%\">\u00a0</span></td></tr><tr style=\"height:14pt\"><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;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-weight:400;line-height:100%\">Outstanding, April 30, 2021</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,618,231\u00a0</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%\">35,415\u00a0</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,653,646\u00a0</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.96\u00a0</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=\"3\" style=\"background-color:#ffffff;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%\">5.4</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%\">11,384,000\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #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:3pt double #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:3pt double #000000;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;border-top:3pt double #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:3pt double #000000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Vested and expected to vest as of April 30, 2021</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,618,231\u00a0</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%\">35,415\u00a0</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,653,646\u00a0</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=\"padding:2px 0 2px 1pt;text-align: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.96\u00a0</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=\"3\" style=\"background-color:#ffffff;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%\">5.4</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%\">11,384,000\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #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:3pt double #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:3pt double #000000;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;border-top:3pt double #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:3pt double #000000;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%\">Vested as of April 30, 2021</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%\">1,323,270\u00a0</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%\">9,584\u00a0</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%\">1,332,854\u00a0</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;padding:2px 0 2px 1pt;text-align: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.34\u00a0</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=\"3\" style=\"background-color:#ffffff;border-bottom:3pt double #000000;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%\">4.8</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom: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-bottom: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%\">9,995,000\u00a0</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></table></div>","language":"en-us"}]},{"name":"rpt:f-385","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"1618231"}]},{"name":"rpt:f-386","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"35415"}]},{"name":"rpt:f-387","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"1653646"}]},{"name":"rpt:f-388","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"3.96","decimals":2}]},{"name":"rpt:f-389","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P5Y4M24D"}]},{"name":"rpt:f-390","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"11384000","decimals":-3}]},{"name":"rpt:f-391","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"155552"}]},{"name":"rpt:f-392","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"10500"}]},{"name":"rpt:f-393","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"166052"}]},{"name":"rpt:f-394","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"9.44","decimals":2}]},{"name":"rpt:f-395","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P9Y3M18D"}]},{"name":"rpt:f-396","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOptionsAggregateIntrinsicValueGranted","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-397","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"108375"}]},{"name":"rpt:f-398","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-399","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"108375"}]},{"name":"rpt:f-400","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"2.29","decimals":2}]},{"name":"rpt:f-401","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCanceledInPeriod","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"11209"}]},{"name":"rpt:f-402","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCanceledInPeriod","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-403","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCanceledInPeriod","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"11209"}]},{"name":"rpt:f-404","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsCanceledInPeriodWeightedAverageExercisePrice","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"4.71","decimals":2}]},{"name":"rpt:f-405","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"36875"}]},{"name":"rpt:f-406","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-407","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"36875"}]},{"name":"rpt:f-408","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"7.45","decimals":2}]},{"name":"rpt:f-409","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-410","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"5000"}]},{"name":"rpt:f-411","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"5000"}]},{"name":"rpt:f-412","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"9.60","decimals":2}]},{"name":"rpt:f-413","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"1617324"}]},{"name":"rpt:f-414","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"40915"}]},{"name":"rpt:f-415","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"1658239"}]},{"name":"rpt:f-416","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"4.51","decimals":2}]},{"name":"rpt:f-417","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOptionsGrantInPeriodWeightedAverageRemainingContractualTerm","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P4Y10M24D"}]},{"name":"rpt:f-418","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6131000","decimals":-3}]},{"name":"rpt:f-419","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"1617324"}]},{"name":"rpt:f-420","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"40915"}]},{"name":"rpt:f-421","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"1658239"}]},{"name":"rpt:f-422","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"4.51","decimals":2}]},{"name":"rpt:f-423","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P4Y10M24D"}]},{"name":"rpt:f-424","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6131000","decimals":-3}]},{"name":"rpt:f-425","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"1349895"}]},{"name":"rpt:f-426","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"4584"}]},{"name":"rpt:f-427","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"1354479"}]},{"name":"rpt:f-428","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"3.93","decimals":2}]},{"name":"rpt:f-429","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P4Y2M12D"}]},{"name":"rpt:f-430","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5778000","decimals":-3}]},{"name":"rpt:f-431","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"2228326"}]},{"name":"rpt:f-432","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"43332"}]},{"name":"rpt:f-433","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"2271658"}]},{"name":"rpt:f-434","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"3.23","decimals":2}]},{"name":"rpt:f-435","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P5Y"}]},{"name":"rpt:f-436","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"10663000","decimals":-3}]},{"name":"rpt:f-437","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"135834"}]},{"name":"rpt:f-438","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-439","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"135834"}]},{"name":"rpt:f-440","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"9.24","decimals":2}]},{"name":"rpt:f-441","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P7Y3M18D"}]},{"name":"rpt:f-442","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOptionsAggregateIntrinsicValueGranted","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"259000","decimals":-3}]},{"name":"rpt:f-443","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"686178"}]},{"name":"rpt:f-444","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"1160"}]},{"name":"rpt:f-445","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"687338"}]},{"name":"rpt:f-446","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"2.33","decimals":2}]},{"name":"rpt:f-447","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCanceledInPeriod","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"47751"}]},{"name":"rpt:f-448","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCanceledInPeriod","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"923"}]},{"name":"rpt:f-449","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCanceledInPeriod","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"48674"}]},{"name":"rpt:f-450","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsCanceledInPeriodWeightedAverageExercisePrice","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"6.03","decimals":2}]},{"name":"rpt:f-451","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"12000"}]},{"name":"rpt:f-452","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-453","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"12000"}]},{"name":"rpt:f-454","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"7.48","decimals":2}]},{"name":"rpt:f-455","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-456","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"5834"}]},{"name":"rpt:f-457","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"5834"}]},{"name":"rpt:f-458","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"10.80","decimals":2}]},{"name":"rpt:f-459","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"1618231"}]},{"name":"rpt:f-460","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"35415"}]},{"name":"rpt:f-461","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"1653646"}]},{"name":"rpt:f-462","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"3.96","decimals":2}]},{"name":"rpt:f-463","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOptionsGrantInPeriodWeightedAverageRemainingContractualTerm","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P5Y4M24D"}]},{"name":"rpt:f-464","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"11384000","decimals":-3}]},{"name":"rpt:f-465","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"1618231"}]},{"name":"rpt:f-466","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"35415"}]},{"name":"rpt:f-467","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"1653646"}]},{"name":"rpt:f-468","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"3.96","decimals":2}]},{"name":"rpt:f-469","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P5Y4M24D"}]},{"name":"rpt:f-470","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"11384000","decimals":-3}]},{"name":"rpt:f-471","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"1323270"}]},{"name":"rpt:f-472","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"9584"}]},{"name":"rpt:f-473","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"1332854"}]},{"name":"rpt:f-474","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"3.34","decimals":2}]},{"name":"rpt:f-475","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P4Y9M18D"}]},{"name":"rpt:f-476","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9995000","decimals":-3}]},{"name":"rpt:f-477","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxDisclosureTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Provision for Income Taxes<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent: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 components of the provision for income taxes are as follows (in thousands):</span></div><div style=\"margin-top:5pt\"><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:49.779%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.632%\"></td><td style=\"width:0.1%\"></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%\">\u00a0</span></td><td colspan=\"21\" 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:10pt;font-weight:700;line-height:100%\">Year Ended April 30, 2022</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-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;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%\">Federal</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;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%\">State</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;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%\">Foreign</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;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%\">Total</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-weight:400;line-height:100%\">Current</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%\">\u2014\u00a0</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%\">10\u00a0</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%\">25\u00a0</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%\">35\u00a0</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=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"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></tr><tr style=\"height:14pt\"><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:#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%\">Total</span></td><td style=\"background-color:#ffffff;border-bottom: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-bottom: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%\">\u2014\u00a0</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 style=\"background-color:#ffffff;border-bottom: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-bottom: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%\">10\u00a0</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 style=\"background-color:#ffffff;border-bottom: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-bottom: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%\">25\u00a0</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 style=\"background-color:#ffffff;border-bottom: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-bottom: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%\">35\u00a0</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></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:49.779%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.632%\"></td><td style=\"width:0.1%\"></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%\">\u00a0</span></td><td colspan=\"21\" 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:10pt;font-weight:700;line-height:100%\">Year Ended April 30, 2021</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-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;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%\">Federal</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;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%\">State</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;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%\">Foreign</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;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%\">Total</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-weight:400;line-height:100%\">Current</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%\">\u2014\u00a0</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%\">13\u00a0</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%\">62\u00a0</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%\">75\u00a0</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=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"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></tr><tr style=\"height:14pt\"><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:#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%\">Total</span></td><td style=\"background-color:#ffffff;border-bottom: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-bottom: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%\">\u2014\u00a0</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 style=\"background-color:#ffffff;border-bottom: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-bottom: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%\">13\u00a0</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 style=\"background-color:#ffffff;border-bottom: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-bottom: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%\">62\u00a0</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 style=\"background-color:#ffffff;border-bottom: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-bottom: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%\">75\u00a0</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></table></div><div style=\"text-align:center;text-indent:9pt\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">A reconciliation between the Company\u2019s effective tax rate and the United States statutory tax rate for the years ended April\u00a030, 2022 and 2021 is as follows:</span></div><div style=\"margin-top:5pt\"><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:74.706%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.631%\"></td><td style=\"width:0.1%\"></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%\">\u00a0</span></td><td colspan=\"9\" 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:10pt;font-weight:700;line-height:100%\">Year Ended April 30,</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-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;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%\">2022</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;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></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%\">Federal income tax at statutory rate</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%\">21.0\u00a0</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%\">21.0\u00a0</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:#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%\">US vs. foreign tax rate difference</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.3\u00a0</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%\">0.5\u00a0</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:#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%\">State income tax, net of federal benefit</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.3\u00a0</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%\">80.8\u00a0</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:#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%\">Permanent differences</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%\">(47.3)</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%\">(61.5)</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:#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%\">Increase in uncertain tax position</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%\">\u2014\u00a0</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%\">0.7\u00a0</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=\"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%\">Change in valuation allowance</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%\">27.7\u00a0</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.3)</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 style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></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:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;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%\">Income tax expense</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%\">6.0\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #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-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%\">17.2\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #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=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Deferred income taxes reflect the net tax effects of temporary differences between the carrying amounts of assets and liabilities for financial reporting purposes and the amounts used for income tax purposes.\u00a0\u00a0Significant components of the Company\u2019s deferred tax assets and liabilities as of April\u00a030, 2022 and 2021 consist of the following (in thousands):</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:74.706%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.631%\"></td><td style=\"width:0.1%\"></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%\">\u00a0</span></td><td colspan=\"9\" 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:10pt;font-weight:700;line-height:100%\">As of April 30,</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-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;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%\">2022</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;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></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%\">Accrued liabilities</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%\">162\u00a0</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%\">232\u00a0</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:#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%\">Right of use, net asset/liability</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%\">316\u00a0</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%\">271\u00a0</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:#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%\">Depreciation and 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%\">(396)</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%\">(206)</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:#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%\">Stock-based compensation 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,874\u00a0</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,640\u00a0</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=\"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%\">Net operating loss carry-forward</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,546\u00a0</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%\">11,404\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><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><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:#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%\">Total deferred tax 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%\">15,502\u00a0</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%\">15,341\u00a0</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:#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: Valuation allowance</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%\">(15,502)</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%\">(15,341)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><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><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:#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%\">Net deferred tax asset</span></td><td style=\"background-color:#ffffff;border-bottom: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-bottom: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%\">\u2014\u00a0</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 style=\"background-color:#ffffff;border-bottom: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-bottom: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%\">\u2014\u00a0</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></table><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:0.730%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:98.900%\"></td><td style=\"width:0.1%\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td></tr></table></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">On March 27, 2020, the Coronavirus Aid, Relief, and Economic Security (CARES) Act was signed into law. The Act contains several new or changed income tax provisions, including but not limited to the following: increased limitation threshold for determining deductible interest expense; class life changes to qualified improvements (in general, from 39 years to 15 years); and the ability to carry back net operating losses incurred from tax years 2018 through 2020 up to the five preceding tax years. The Company has evaluated the new tax provisions of the CARES Act and determined the impact to be either immaterial or not applicable. </span></div><div style=\"text-align:justify;text-indent: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 has evaluated the available evidence about future tax planning strategies, taxable income, and other possible sources of realization of deferred tax assets and has established a full valuation allowance against its net deferred tax assets as of\u00a0April\u00a030, 2022\u00a0and\u00a02021.\u00a0\u00a0For the years ended\u00a0April\u00a030, 2022\u00a0and\u00a02021, the Company recorded a valuation allowance of\u00a0$15.5\u00a0million and $15.3\u00a0million, respectively.\u00a0</span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">As of\u00a0April\u00a030, 2022\u00a0and\u00a02021, the Company\u2019s estimated U.S. net operating loss carry-forwards were approximately $48.0\u00a0million and\u00a0$46.9\u00a0million, respectively. Net operating losses generated prior to May 1, 2018 have a 20-year carryforward and will begin expiring in\u00a02025\u00a0for federal and\u00a02031\u00a0for state purposes. Losses generated in the fiscal years since the year ended April 30, 2019 may be carried forward indefinitely.\u00a0\u00a0A valuation allowance has been recorded against all of these loss carryforwards.</span></div><div style=\"text-align:justify;text-indent:33.75pt\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Under the provisions of the Internal Revenue Code, certain substantial changes in the Company\u2019s ownership may result in a limitation on the amount of net operating losses that may be utilized in future years. During the fiscal year ended April 30, 2013, approximately\u00a0$12.0 million\u00a0of the Company\u2019s net operating losses became subject to limitation under Internal Revenue Code Section 382 in connection with an ownership change on January 28, 2013. As a result of the ownership change, the Company\u2019s annual limitation on its use of net operating loss carry-forwards is approximately\u00a0$432,000.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0The Company files income tax returns in various jurisdictions with varying statutes of limitations.\u00a0\u00a0As of\u00a0April\u00a030, 2022, the earliest tax year still subject to examination for state purposes is fiscal 2018.\u00a0\u00a0The Company\u2019s tax years for periods ending April 30, 2002 and forward are subject to examination by the United States and certain states due to the carry-forward of unutilized net operating losses.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent: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 following table indicates the changes to the Company\u2019s uncertain tax positions for the period and years ended April\u00a030, 2022 and 2021 in thousands:</span></div><div style=\"margin-top:5pt\"><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:74.706%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.631%\"></td><td style=\"width:0.1%\"></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%\">\u00a0</span></td><td colspan=\"9\" 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:10pt;font-weight:700;line-height:100%\">Year Ended April 30,</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-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;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%\">2022</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;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></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, beginning of the year</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%\">181\u00a0</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%\">178\u00a0</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:#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%\">Addition based on tax positions related to prior years</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%\">\u2014\u00a0</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%\">\u2014\u00a0</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:#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%\">Payment made on tax positions related to prior years</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%\">\u2014\u00a0</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%\">\u2014\u00a0</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:#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%\">Addition based on tax positions related to current year</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%\">\u2014\u00a0</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\u00a0</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:#ffffff;padding:0 1pt\"></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:#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, end of year</span></td><td style=\"background-color:#ffffff;border-bottom: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-bottom: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%\">181\u00a0</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 style=\"background-color:#ffffff;border-bottom: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-bottom: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%\">181\u00a0</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></table></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">As of April\u00a030, 2022 and 2021, the above amounts of $181,000  for each fiscal year were included in other long-term liabilities.</span></div>","language":"en-us"}]},{"name":"rpt:f-478","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"The components of the provision for income taxes are as follows (in thousands):<div style=\"margin-top:5pt\"><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:49.779%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.632%\"></td><td style=\"width:0.1%\"></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%\">\u00a0</span></td><td colspan=\"21\" 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:10pt;font-weight:700;line-height:100%\">Year Ended April 30, 2022</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-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;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%\">Federal</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;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%\">State</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;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%\">Foreign</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;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%\">Total</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-weight:400;line-height:100%\">Current</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%\">\u2014\u00a0</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%\">10\u00a0</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%\">25\u00a0</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%\">35\u00a0</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=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"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></tr><tr style=\"height:14pt\"><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:#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%\">Total</span></td><td style=\"background-color:#ffffff;border-bottom: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-bottom: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%\">\u2014\u00a0</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 style=\"background-color:#ffffff;border-bottom: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-bottom: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%\">10\u00a0</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 style=\"background-color:#ffffff;border-bottom: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-bottom: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%\">25\u00a0</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 style=\"background-color:#ffffff;border-bottom: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-bottom: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%\">35\u00a0</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></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:49.779%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.632%\"></td><td style=\"width:0.1%\"></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%\">\u00a0</span></td><td colspan=\"21\" 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:10pt;font-weight:700;line-height:100%\">Year Ended April 30, 2021</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-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;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%\">Federal</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;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%\">State</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;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%\">Foreign</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;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%\">Total</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-weight:400;line-height:100%\">Current</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%\">\u2014\u00a0</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%\">13\u00a0</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%\">62\u00a0</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%\">75\u00a0</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=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"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></tr><tr style=\"height:14pt\"><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:#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%\">Total</span></td><td style=\"background-color:#ffffff;border-bottom: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-bottom: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%\">\u2014\u00a0</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 style=\"background-color:#ffffff;border-bottom: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-bottom: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%\">13\u00a0</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 style=\"background-color:#ffffff;border-bottom: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-bottom: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%\">62\u00a0</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 style=\"background-color:#ffffff;border-bottom: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-bottom: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%\">75\u00a0</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></table></div>","language":"en-us"}]},{"name":"rpt:f-479","factDimensions":{"xbrl:concept":"us-gaap:CurrentFederalTaxExpenseBenefit","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-480","factDimensions":{"xbrl:concept":"us-gaap:CurrentStateAndLocalTaxExpenseBenefit","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"10000","decimals":-3}]},{"name":"rpt:f-481","factDimensions":{"xbrl:concept":"us-gaap:CurrentForeignTaxExpenseBenefit","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"25000","decimals":-3}]},{"name":"rpt:f-482","factDimensions":{"xbrl:concept":"us-gaap:CurrentIncomeTaxExpenseBenefit","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"35000","decimals":-3}]},{"name":"rpt:f-483","factDimensions":{"xbrl:concept":"us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-484","factDimensions":{"xbrl:concept":"us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"10000","decimals":-3}]},{"name":"rpt:f-485","factDimensions":{"xbrl:concept":"us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"25000","decimals":-3}]},{"name":"rpt:f-486","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxExpenseBenefit","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"35000","decimals":-3}]},{"name":"rpt:f-487","factDimensions":{"xbrl:concept":"us-gaap:CurrentFederalTaxExpenseBenefit","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-488","factDimensions":{"xbrl:concept":"us-gaap:CurrentStateAndLocalTaxExpenseBenefit","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"13000","decimals":-3}]},{"name":"rpt:f-489","factDimensions":{"xbrl:concept":"us-gaap:CurrentForeignTaxExpenseBenefit","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"62000","decimals":-3}]},{"name":"rpt:f-490","factDimensions":{"xbrl:concept":"us-gaap:CurrentIncomeTaxExpenseBenefit","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"75000","decimals":-3}]},{"name":"rpt:f-491","factDimensions":{"xbrl:concept":"us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-492","factDimensions":{"xbrl:concept":"us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"13000","decimals":-3}]},{"name":"rpt:f-493","factDimensions":{"xbrl:concept":"us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"62000","decimals":-3}]},{"name":"rpt:f-494","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxExpenseBenefit","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"75000","decimals":-3}]},{"name":"rpt:f-495","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify;text-indent:9pt\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">A reconciliation between the Company\u2019s effective tax rate and the United States statutory tax rate for the years ended April\u00a030, 2022 and 2021 is as follows:</span></div><div style=\"margin-top:5pt\"><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:74.706%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.631%\"></td><td style=\"width:0.1%\"></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%\">\u00a0</span></td><td colspan=\"9\" 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:10pt;font-weight:700;line-height:100%\">Year Ended April 30,</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-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;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%\">2022</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;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></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%\">Federal income tax at statutory rate</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%\">21.0\u00a0</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%\">21.0\u00a0</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:#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%\">US vs. foreign tax rate difference</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.3\u00a0</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%\">0.5\u00a0</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:#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%\">State income tax, net of federal benefit</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.3\u00a0</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%\">80.8\u00a0</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:#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%\">Permanent differences</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%\">(47.3)</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%\">(61.5)</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:#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%\">Increase in uncertain tax position</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%\">\u2014\u00a0</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%\">0.7\u00a0</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=\"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%\">Change in valuation allowance</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%\">27.7\u00a0</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.3)</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 style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></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:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;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%\">Income tax expense</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%\">6.0\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #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-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%\">17.2\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #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>","language":"en-us"}]},{"name":"rpt:f-496","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.210"}]},{"name":"rpt:f-497","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.210"}]},{"name":"rpt:f-498","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.013","decimals":3}]},{"name":"rpt:f-499","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.005","decimals":3}]},{"name":"rpt:f-500","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.033","decimals":3}]},{"name":"rpt:f-501","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.808","decimals":3}]},{"name":"rpt:f-502","factDimensions":{"xbrl:concept":"csbr:EffectiveIncomeTaxRateReconciliationPermanentDifferences","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.473","decimals":3}]},{"name":"rpt:f-503","factDimensions":{"xbrl:concept":"csbr:EffectiveIncomeTaxRateReconciliationPermanentDifferences","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.615","decimals":3}]},{"name":"rpt:f-504","factDimensions":{"xbrl:concept":"csbr:EffectiveIncomeTaxRateReconciliationIncreaseInUncertainTaxPosition","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0","decimals":3}]},{"name":"rpt:f-505","factDimensions":{"xbrl:concept":"csbr:EffectiveIncomeTaxRateReconciliationIncreaseInUncertainTaxPosition","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"-0.007","decimals":3}]},{"name":"rpt:f-506","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.277","decimals":3}]},{"name":"rpt:f-507","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"-0.243","decimals":3}]},{"name":"rpt:f-508","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.060","decimals":3}]},{"name":"rpt:f-509","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.172","decimals":3}]},{"name":"rpt:f-510","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Significant components of the Company\u2019s deferred tax assets and liabilities as of April\u00a030, 2022 and 2021 consist of the following (in thousands):<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:74.706%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.631%\"></td><td style=\"width:0.1%\"></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%\">\u00a0</span></td><td colspan=\"9\" 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:10pt;font-weight:700;line-height:100%\">As of April 30,</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-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;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%\">2022</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;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></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%\">Accrued liabilities</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%\">162\u00a0</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%\">232\u00a0</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:#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%\">Right of use, net asset/liability</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%\">316\u00a0</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%\">271\u00a0</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:#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%\">Depreciation and 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%\">(396)</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%\">(206)</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:#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%\">Stock-based compensation 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,874\u00a0</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,640\u00a0</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=\"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%\">Net operating loss carry-forward</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,546\u00a0</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%\">11,404\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><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><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:#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%\">Total deferred tax 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%\">15,502\u00a0</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%\">15,341\u00a0</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:#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: Valuation allowance</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%\">(15,502)</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%\">(15,341)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><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><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:#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%\">Net deferred tax asset</span></td><td style=\"background-color:#ffffff;border-bottom: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-bottom: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%\">\u2014\u00a0</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 style=\"background-color:#ffffff;border-bottom: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-bottom: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%\">\u2014\u00a0</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></table>","language":"en-us"}]},{"name":"rpt:f-511","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"162000","decimals":-3}]},{"name":"rpt:f-512","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"232000","decimals":-3}]},{"name":"rpt:f-513","factDimensions":{"xbrl:concept":"csbr:DeferredTaxAssetsTaxDeferredExpenseRightOfUseAssetLiability","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"316000","decimals":-3}]},{"name":"rpt:f-514","factDimensions":{"xbrl:concept":"csbr:DeferredTaxAssetsTaxDeferredExpenseRightOfUseAssetLiability","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"271000","decimals":-3}]},{"name":"rpt:f-515","factDimensions":{"xbrl:concept":"csbr:DeferredTaxLiabilityDeferredExpenseDepreciationAndAmortization","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"396000","decimals":-3}]},{"name":"rpt:f-516","factDimensions":{"xbrl:concept":"csbr:DeferredTaxLiabilityDeferredExpenseDepreciationAndAmortization","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"206000","decimals":-3}]},{"name":"rpt:f-517","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3874000","decimals":-3}]},{"name":"rpt:f-518","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3640000","decimals":-3}]},{"name":"rpt:f-519","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsOperatingLossCarryforwards","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"11546000","decimals":-3}]},{"name":"rpt:f-520","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsOperatingLossCarryforwards","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"11404000","decimals":-3}]},{"name":"rpt:f-521","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsGross","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"15502000","decimals":-3}]},{"name":"rpt:f-522","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsGross","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"15341000","decimals":-3}]},{"name":"rpt:f-523","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsValuationAllowance","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"15502000","decimals":-3}]},{"name":"rpt:f-524","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsValuationAllowance","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"15341000","decimals":-3}]},{"name":"rpt:f-525","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsLiabilitiesNet","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-526","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsLiabilitiesNet","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-527","factDimensions":{"xbrl:concept":"us-gaap:OperatingLossCarryforwardsValuationAllowance","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"15500000","decimals":-5}]},{"name":"rpt:f-528","factDimensions":{"xbrl:concept":"us-gaap:OperatingLossCarryforwardsValuationAllowance","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"15300000","decimals":-5}]},{"name":"rpt:f-529","factDimensions":{"xbrl:concept":"us-gaap:OperatingLossCarryforwards","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"48000000","decimals":-5}]},{"name":"rpt:f-530","factDimensions":{"xbrl:concept":"us-gaap:OperatingLossCarryforwards","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"46900000","decimals":-5}]},{"name":"rpt:f-531","factDimensions":{"xbrl:concept":"csbr:OperatingLossCarryforwardsLimitationsOnUseAmount","xbrl:period":"2013-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"12000000","decimals":-5}]},{"name":"rpt:f-532","factDimensions":{"xbrl:concept":"csbr:OperatingLossCarryforwardsLimitationsOnUseAmount","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"432000","decimals":-3}]},{"name":"rpt:f-533","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify;text-indent: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 following table indicates the changes to the Company\u2019s uncertain tax positions for the period and years ended April\u00a030, 2022 and 2021 in thousands:</span></div><div style=\"margin-top:5pt\"><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:74.706%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.631%\"></td><td style=\"width:0.1%\"></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%\">\u00a0</span></td><td colspan=\"9\" 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:10pt;font-weight:700;line-height:100%\">Year Ended April 30,</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-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;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%\">2022</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;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></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, beginning of the year</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%\">181\u00a0</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%\">178\u00a0</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:#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%\">Addition based on tax positions related to prior years</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%\">\u2014\u00a0</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%\">\u2014\u00a0</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:#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%\">Payment made on tax positions related to prior years</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%\">\u2014\u00a0</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%\">\u2014\u00a0</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:#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%\">Addition based on tax positions related to current year</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%\">\u2014\u00a0</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\u00a0</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:#ffffff;padding:0 1pt\"></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:#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, end of year</span></td><td style=\"background-color:#ffffff;border-bottom: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-bottom: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%\">181\u00a0</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 style=\"background-color:#ffffff;border-bottom: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-bottom: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%\">181\u00a0</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></table></div>","language":"en-us"}]},{"name":"rpt:f-534","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefits","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"181000","decimals":-3}]},{"name":"rpt:f-535","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefits","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"178000","decimals":-3}]},{"name":"rpt:f-536","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-537","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-538","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-539","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-540","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-541","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3000","decimals":-3}]},{"name":"rpt:f-542","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefits","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"181000","decimals":-3}]},{"name":"rpt:f-543","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefits","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"181000","decimals":-3}]},{"name":"rpt:f-544","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefits","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"181000","decimals":-3}]},{"name":"rpt:f-545","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefits","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"181000","decimals":-3}]},{"name":"rpt:f-546","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefits","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"181000","decimals":-3}]},{"name":"rpt:f-547","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Earnings Per ShareA reconciliation of net income and number of shares used in computing basic and diluted earnings per share was as follows:<div style=\"margin-top:5pt\"><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:74.706%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.631%\"></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%\">\u00a0</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:700;line-height:100%\">Year Ended April 30,</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%\">\u00a0</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%\">2022</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%\">2021</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%\">Basic and diluted net income per share computation (dollars in thousands):</span></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;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%\">\u00a0</span></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:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt 2px 12.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%\">Net income attributable to common stockholders</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%\">548\u00a0</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%\">362\u00a0</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 12.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%\">Weighted Average common shares - 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%\">13,197,170\u00a0</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%\">13,138,995\u00a0</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 12.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%\">Basic net income per share</span></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%\">0.04\u00a0</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=\"background-color:#ffffff;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%\">0.03\u00a0</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:15pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #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:3pt double #000000;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%\">Diluted income per share computation</span></td><td colspan=\"3\" style=\"background-color:#ffffff;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%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;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%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt 2px 12.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%\">Net income attributable to common stockholders</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%\">548\u00a0</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%\">362\u00a0</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 12.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%\">Income available to common stockholders</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%\">548\u00a0</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%\">362\u00a0</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 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></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt 2px 12.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%\">Weighted Average common shares</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%\">13,197,170\u00a0</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,138,995\u00a0</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 12.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%\">Incremental shares from assumed exercise of warrants and 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%\">962,629\u00a0</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,434,566\u00a0</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 12.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%\">Adjusted weighted average share \u2013 diluted</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%\">14,159,799\u00a0</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%\">14,573,561\u00a0</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 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></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt 2px 12.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%\">Diluted net income per share</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%\">0.04\u00a0</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=\"background-color:#ffffff;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%\">0.02\u00a0</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></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The following table reflects the total potential stock-based instruments outstanding at April\u00a030, 2022 and 2021 that could have an effect on the future computation of dilution per common share.  These figures were not included in the above calculation as, to do so, would be antidilutive:</span></div><div style=\"margin-top:5pt;text-align:justify\"><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:74.706%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.631%\"></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%\">\u00a0</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:700;line-height:100%\">Year Ended April 30</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%\">\u00a0</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%\">2022</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%\">2021</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%\">Stock options</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,332,854\u00a0</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%\">1,653,646\u00a0</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 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></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 common stock equivalents</span></td><td colspan=\"2\" style=\"background-color:#cceeff;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%\">1,332,854\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom: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 colspan=\"2\" style=\"background-color:#cceeff;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%\">1,653,646\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-548","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"A reconciliation of net income and number of shares used in computing basic and diluted earnings per share was as follows:<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:74.706%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.631%\"></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%\">\u00a0</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:700;line-height:100%\">Year Ended April 30,</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%\">\u00a0</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%\">2022</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%\">2021</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%\">Basic and diluted net income per share computation (dollars in thousands):</span></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;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%\">\u00a0</span></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:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt 2px 12.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%\">Net income attributable to common stockholders</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%\">548\u00a0</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%\">362\u00a0</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 12.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%\">Weighted Average common shares - 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%\">13,197,170\u00a0</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%\">13,138,995\u00a0</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 12.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%\">Basic net income per share</span></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%\">0.04\u00a0</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=\"background-color:#ffffff;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%\">0.03\u00a0</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:15pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #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:3pt double #000000;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%\">Diluted income per share computation</span></td><td colspan=\"3\" style=\"background-color:#ffffff;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%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;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%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt 2px 12.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%\">Net income attributable to common stockholders</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%\">548\u00a0</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%\">362\u00a0</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 12.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%\">Income available to common stockholders</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%\">548\u00a0</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%\">362\u00a0</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 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></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt 2px 12.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%\">Weighted Average common shares</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%\">13,197,170\u00a0</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,138,995\u00a0</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 12.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%\">Incremental shares from assumed exercise of warrants and 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%\">962,629\u00a0</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,434,566\u00a0</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 12.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%\">Adjusted weighted average share \u2013 diluted</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%\">14,159,799\u00a0</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%\">14,573,561\u00a0</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 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></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt 2px 12.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%\">Diluted net income per share</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%\">0.04\u00a0</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=\"background-color:#ffffff;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%\">0.02\u00a0</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>","language":"en-us"}]},{"name":"rpt:f-549","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"548000","decimals":-3}]},{"name":"rpt:f-550","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"362000","decimals":-3}]},{"name":"rpt:f-551","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13197170","decimals":0}]},{"name":"rpt:f-552","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13138995","decimals":0}]},{"name":"rpt:f-553","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasic","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.04","decimals":2}]},{"name":"rpt:f-554","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasic","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.03","decimals":2}]},{"name":"rpt:f-555","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"548000","decimals":-3}]},{"name":"rpt:f-556","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"362000","decimals":-3}]},{"name":"rpt:f-557","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"548000","decimals":-3}]},{"name":"rpt:f-558","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"362000","decimals":-3}]},{"name":"rpt:f-559","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13197170","decimals":0}]},{"name":"rpt:f-560","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13138995","decimals":0}]},{"name":"rpt:f-561","factDimensions":{"xbrl:concept":"us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"962629","decimals":0}]},{"name":"rpt:f-562","factDimensions":{"xbrl:concept":"us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"1434566","decimals":0}]},{"name":"rpt:f-563","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"14159799","decimals":0}]},{"name":"rpt:f-564","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"14573561","decimals":0}]},{"name":"rpt:f-565","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareDiluted","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.04","decimals":2}]},{"name":"rpt:f-566","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareDiluted","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.02","decimals":2}]},{"name":"rpt:f-567","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The following table reflects the total potential stock-based instruments outstanding at April\u00a030, 2022 and 2021 that could have an effect on the future computation of dilution per common share.  These figures were not included in the above calculation as, to do so, would be antidilutive:</span></div><div style=\"margin-top:5pt;text-align:justify\"><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:74.706%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.631%\"></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%\">\u00a0</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:700;line-height:100%\">Year Ended April 30</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%\">\u00a0</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%\">2022</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%\">2021</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%\">Stock options</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,332,854\u00a0</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%\">1,653,646\u00a0</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 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></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 common stock equivalents</span></td><td colspan=\"2\" style=\"background-color:#cceeff;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%\">1,332,854\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom: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 colspan=\"2\" style=\"background-color:#cceeff;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%\">1,653,646\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-568","factDimensions":{"xbrl:concept":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis":"us-gaap:EmployeeStockOptionMember"},"factValues":[{"value":"1332854","decimals":0}]},{"name":"rpt:f-569","factDimensions":{"xbrl:concept":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis":"us-gaap:EmployeeStockOptionMember"},"factValues":[{"value":"1653646","decimals":0}]},{"name":"rpt:f-570","factDimensions":{"xbrl:concept":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"1332854","decimals":0}]},{"name":"rpt:f-571","factDimensions":{"xbrl:concept":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"1653646","decimals":0}]},{"name":"rpt:f-572","factDimensions":{"xbrl:concept":"us-gaap:RelatedPartyTransactionsDisclosureTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Related Party Transactions<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Related party transactions include transactions between the Company and its shareholders, management, or affiliates.\u00a0\u00a0The following transactions were in the normal course of operations and were measured at the exchange amount, which is the amount of consideration established and agreed to by the parties.</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Consulting Services</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">For both years ended April\u00a030, 2022 and 2021, the Company paid a member of its Board of Directors $36,000 and $54,000 for consulting services unrelated to his duties as a board member.  During the years ended April\u00a030, 2022 and 2021, the Company paid another board member $17,000 and $5,500, respectively, for consulting services unrelated to his duties as a board member.  All of the amounts paid to these related parties have been recognized in expense in the period the services were performed.</span></div>","language":"en-us"}]},{"name":"rpt:f-573","factDimensions":{"xbrl:concept":"us-gaap:RelatedPartyTransactionAmountsOfTransaction","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:TitleOfIndividualAxis":"srt:BoardOfDirectorsChairmanMember","srt:CounterpartyNameAxis":"csbr:BoardMemberOneMember"},"factValues":[{"value":"36000","decimals":-3}]},{"name":"rpt:f-574","factDimensions":{"xbrl:concept":"us-gaap:RelatedPartyTransactionAmountsOfTransaction","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:TitleOfIndividualAxis":"srt:BoardOfDirectorsChairmanMember","srt:CounterpartyNameAxis":"csbr:BoardMemberOneMember"},"factValues":[{"value":"54000","decimals":-3}]},{"name":"rpt:f-575","factDimensions":{"xbrl:concept":"us-gaap:RelatedPartyTransactionAmountsOfTransaction","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:CounterpartyNameAxis":"csbr:BoardMemberTwoMember","srt:TitleOfIndividualAxis":"srt:BoardOfDirectorsChairmanMember"},"factValues":[{"value":"17000","decimals":-3}]},{"name":"rpt:f-576","factDimensions":{"xbrl:concept":"us-gaap:RelatedPartyTransactionAmountsOfTransaction","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:CounterpartyNameAxis":"csbr:BoardMemberTwoMember","srt:TitleOfIndividualAxis":"srt:BoardOfDirectorsChairmanMember"},"factValues":[{"value":"5500","decimals":-2}]},{"name":"rpt:f-577","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeasesTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"LeasesThe Company accounts for its leases under ASC 842.\u00a0Under this guidance, arrangements meeting the definition of a lease are classified as operating or financing leases, and are recorded on the consolidated balance sheet as both an operating lease ROU asset and operating lease liability, calculated by discounting fixed lease payments over the lease term at the rate implicit in the lease or the Company\u2019s incremental borrowing rate. Lease liabilities are increased by interest and reduced by payments each period, and the right of use asset is amortized over the lease term. For operating leases, interest on the lease liability and the amortization of the right of use asset result in straight-line rent expense over the lease term. Variable lease expenses, if any, are recorded when incurred. The Company has elected to apply the short-term lease exemption practical expedient for each class of underlying assets and excludes short-term leases having initial terms of 12 months or less. The Company recognizes rent <div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">expense on a straight-line basis over the lease term for these short-term leases. The Company has determined that no material embedded leases exist. Under ASC 842, the Company determines if an arrangement is a lease at inception. ROU assets and liabilities are recognized at commencement date based on the present value of remaining lease payments over the lease term. For this purpose, the Company considers only payments that are fixed and determinable at the time of commencement. As the Company's leases do not provide an implicit rate, the Company uses an incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments.</span></div><div style=\"text-align:justify;text-indent:9pt\"><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%\">Operating Leases</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:13.5pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company currently leases certain office equipment and its office and laboratory facilities under non-cancelable operating leases. Rent expense for operating leases is recognized on a straight-line basis over the lease term from the lease commencement date through the scheduled expiration date. Rent expenses totaled $1.9 million and $1.3 million for the years ended April\u00a030, 2022 and 2021, respectively. </span></div><div style=\"text-align:justify;text-indent:15.75pt\"><span><br/></span></div><div style=\"text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company leases the following facilities:</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"padding-left:18pt;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%\">\u2022</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\">One University Plaza, Suite 307, Hackensack, New Jersey 07601, which, since November 2011, serves as the Company\u2019s corporate headquarters. The lease was renewed during fiscal 2022 and expires in November 2026. The Company recognized $88,000 and $91,000 of rent expense relative to this lease for fiscal 2022 and 2021, respectively.</span></div><div style=\"padding-left:18pt;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%\">\u2022</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\">1330 Piccard Drive Suite 025, Rockville, MD 20850, which consists of laboratory and office space where the Company conducts operations related to its primary service offerings. The Company executed this lease (the \"Original Premises\") on January 11, 2017. The operating commencement date was August 11, 2017. This lease originally expired in August 2028.</span></div><div style=\"padding-left:54pt;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%\">\u25e6</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.46pt\">On March 30, 2020, the Company executed the first amendment to this lease to expand the existing premises at 1330 Piccard Drive, Suite 025 (\"Expansion Premises\") to add on Suites 050 and 104. This amendment also extended the current lease term by six months. The Expansion Premises operating lease commencement date was June 1, 2020 and, under the amendment, both leases expire February 28, 2029.</span></div><div style=\"padding-left:54pt;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%\">\u25e6</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.46pt\">In accordance with ASC 842, the Company evaluated the first amendment and also performed a reassessment of the existing lease for Suite 025 to determine the impact of the six-month term extension. As a result of this assessment, the Company recognized an additional operating ROU asset and related operating lease liability for Suite 025 of $118,000 and $125,000, respectively, as well as an incremental net rent expense of $8,000 during the three months ended July 31, 2020. The Company did not recognize the incremental rental expense under this amendment during fiscal 2020 as the Expansion Premises lease commencement date was during fiscal 2021.</span></div><div style=\"padding-left:54pt;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%\">\u25e6</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.46pt\">Upon the Expansion Premises operating lease commencement date (June 1, 2020), the Company recognized an operating ROU asset and related operating lease liability for Suites 050 and 104 of $3.8\u00a0million, each, respectively.</span></div><div style=\"padding-left:54pt;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%\">\u25e6</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.46pt\">On December 22, 2020, the Company executed the second amendment to this lease to expand the existing premises at 1330 Piccard Drive, Suites 025, 050, and 104 (\"Additional Expansion Premises\") and add on Suite 201. The Additional Expansion Premises operating lease commencement date was April 1, 2021 and, under the second amendment, reaffirms that all three leases expire February 28, 2029. Upon the Additional Expansion Premises operating lease commencement date (April 1, 2021), the Company also recognized an operating ROU asset and related operating lease liability for Suite 201 of $3.3\u00a0million, each, respectively. </span></div><div style=\"padding-left:54pt;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%\">\u25e6</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.46pt\">For the leases related to the premises at Piccard Drive, the Company recognized $1.7\u00a0million and $1.2\u00a0million of rental expense for fiscal 2022 and 2021, respectively.</span></div><div style=\"padding-left:18pt;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%\">\u2022</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\">1405 Research Boulevard, Suite 125, Rockville, Maryland 20850 (\u201cNew Location\u201d), which consisted of laboratory and office space where the Company conducted operations related to its primary service offerings. The Company executed this lease on November\u00a01, 2018. The operating commencement date was January\u00a017, 2019. This lease was set to expire in\u00a0April 2024. The Company terminated this lease on June 30, 2020 and transitioned its activities from this location to the Expansion Premises, as defined above, during the first quarter of fiscal 2021. Upon lease termination, the Company recognized a decrease in the related operating ROU asset and operating lease liability of approximately $850,000 and $926,000, respectively, as well as a gain on lease termination of $76,000.  The Company recognized zero\u00a0and\u00a0$43,000\u00a0of rental expense for fiscal 2022 and 2021, respectively.</span></div><div style=\"padding-left:18pt;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%\">\u2022</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\">VIA LEONE XIII, 14, Milan, Italy, which consists of laboratory and office space where the Company conducts operations related to its flow cytometry service offerings. The Company executed the lease for its laboratory space in June 2021, and commenced occupancy during the three months ended October 31, 2021. This lease expires May 2023. The Company executed the lease for its office space on October 1, 2021. This lease expires September 2027. </span></div><div style=\"padding-left:54pt;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%\">\u25e6</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.46pt\">The Company recognized an operating ROU asset and related operating lease liability for the lab and office space of $205,000 each, respectively.</span></div><div style=\"padding-left:54pt;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%\">\u25e6</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.46pt\">The Company recognized rental costs associated with these leases of $81,000 and zero for fiscal 2022 and 2021, respectively.</span></div><div style=\"text-align:justify;text-indent:4.5pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\"> ROU assets and lease liabilities related to our current operating leases are as follows (in thousands):</span></div><div style=\"text-align:justify;text-indent:9pt\"><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:5pt;text-align:center;text-indent:9pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:77.631%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:48.805%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:23.947%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:23.948%\"></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%\">April 30, 2022</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%\">April 30, 2021</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 lease right-of-use assets, net<br/></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,230\u00a0</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=\"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,521\u00a0</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%\">Current portion of operating lease liabilities<br/></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,054\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></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%\">818\u00a0</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%\">Non-current portion of 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%\">8,412\u00a0</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%\">8,783\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div style=\"text-align:justify\"><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%\">As of April 30, 2022, the weighted average remaining operating lease term and the weighted average discount rate were\u00a06.7 years and\u00a05.73%, respectively.  </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%\">Future minimum lease payments due each fiscal year as follows (in thousands):</span></div><div><span><br/></span></div><div style=\"margin-top:5pt;text-align:center;text-indent:9pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:54.385%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:74.168%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:23.632%\"></td><td style=\"width:0.1%\"></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 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,735\u00a0</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%\">2,809\u00a0</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%\">2,848\u00a0</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%\">2,895\u00a0</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%\">2027</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,860\u00a0</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%\">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%\">5,164\u00a0</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%\">\u00a0Total undiscounted liabilities </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%\">19,311\u00a0</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%\">Less: Imputed interest </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%\">(9,845)</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%\">Present value of minimum lease payments</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%\">9,466\u00a0</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><div style=\"text-align:justify\"><span><br/></span></div><div style=\"padding-left:13.5pt;text-align:justify\"><span><br/></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%\">Refer to Note 4, Property and Equipment, for more information on financing leases.</span></div>","language":"en-us"}]},{"name":"rpt:f-578","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1900000","decimals":-5}]},{"name":"rpt:f-579","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1300000","decimals":-5}]},{"name":"rpt:f-580","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:CorporateHeadquartersMember"},"factValues":[{"value":"88000","decimals":-3}]},{"name":"rpt:f-581","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:CorporateHeadquartersMember"},"factValues":[{"value":"91000","decimals":-3}]},{"name":"rpt:f-582","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseRenewalTerm","xbrl:period":"2020-03-31T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P6M"}]},{"name":"rpt:f-583","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseRenewalTerm","xbrl:period":"2020-03-31T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P6M"}]},{"name":"rpt:f-584","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseRightOfUseAsset","xbrl:period":"2020-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:RockvilleMDMember"},"factValues":[{"value":"118000","decimals":-3}]},{"name":"rpt:f-585","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiability","xbrl:period":"2020-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:RockvilleMDMember"},"factValues":[{"value":"125000","decimals":-3}]},{"name":"rpt:f-586","factDimensions":{"xbrl:concept":"csbr:OperatingLeaseIncrementalRentExpense","xbrl:period":"2020-05-01T00:00:00/2020-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:RockvilleMDMember"},"factValues":[{"value":"8000","decimals":-3}]},{"name":"rpt:f-587","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseRightOfUseAsset","xbrl:period":"2020-06-02T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:RockvilleMDMember"},"factValues":[{"value":"3800000","decimals":-5}]},{"name":"rpt:f-588","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiability","xbrl:period":"2021-04-02T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3300000","decimals":-5}]},{"name":"rpt:f-589","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:RockvilleMDMember"},"factValues":[{"value":"1700000","decimals":-5}]},{"name":"rpt:f-590","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:RockvilleMDMember"},"factValues":[{"value":"1200000","decimals":-5}]},{"name":"rpt:f-591","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseRightOfUseAsset","xbrl:period":"2020-07-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:RockvilleMDNewLocationMember"},"factValues":[{"value":"850000","decimals":-3}]},{"name":"rpt:f-592","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiability","xbrl:period":"2020-07-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:RockvilleMDNewLocationMember"},"factValues":[{"value":"926000","decimals":-3}]},{"name":"rpt:f-593","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnTerminationOfLease","xbrl:period":"2020-06-30T00:00:00/2020-07-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:RockvilleMDNewLocationMember"},"factValues":[{"value":"76000","decimals":-3}]},{"name":"rpt:f-594","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:RockvilleMDNewLocationMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-595","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:RockvilleMDNewLocationMember"},"factValues":[{"value":"43000","decimals":-3}]},{"name":"rpt:f-596","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiability","xbrl:period":"2020-03-31T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:MilanItalyMember"},"factValues":[{"value":"205000","decimals":-3}]},{"name":"rpt:f-597","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseRightOfUseAsset","xbrl:period":"2020-03-31T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:MilanItalyMember"},"factValues":[{"value":"205000","decimals":-3}]},{"name":"rpt:f-598","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:MilanItalyMember"},"factValues":[{"value":"81000","decimals":-3}]},{"name":"rpt:f-599","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:MilanItalyMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-600","factDimensions":{"xbrl:concept":"csbr:AssetsAndLiabilitiesLesseeTableTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"ROU assets and lease liabilities related to our current operating leases are as follows (in thousands):<div style=\"text-align:justify;text-indent:9pt\"><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:5pt;text-align:center;text-indent:9pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:77.631%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:48.805%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:23.947%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:23.948%\"></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%\">April 30, 2022</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%\">April 30, 2021</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 lease right-of-use assets, net<br/></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,230\u00a0</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=\"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,521\u00a0</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%\">Current portion of operating lease liabilities<br/></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,054\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></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%\">818\u00a0</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%\">Non-current portion of 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%\">8,412\u00a0</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%\">8,783\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-601","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseRightOfUseAsset","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8230000","decimals":-3}]},{"name":"rpt:f-602","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseRightOfUseAsset","xbrl:period":"2020-05-02T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8521000","decimals":-3}]},{"name":"rpt:f-603","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiabilityCurrent","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1054000","decimals":-3}]},{"name":"rpt:f-604","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiabilityCurrent","xbrl:period":"2020-05-02T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"818000","decimals":-3}]},{"name":"rpt:f-605","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiabilityNoncurrent","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8412000","decimals":-3}]},{"name":"rpt:f-606","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiabilityNoncurrent","xbrl:period":"2020-05-02T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8783000","decimals":-3}]},{"name":"rpt:f-607","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P6Y8M12D"}]},{"name":"rpt:f-608","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.0573","decimals":4}]},{"name":"rpt:f-609","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Future minimum lease payments due each fiscal year as follows (in thousands):</span></div><div><span><br/></span></div><div style=\"margin-top:5pt;text-align:center;text-indent:9pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:54.385%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:74.168%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:23.632%\"></td><td style=\"width:0.1%\"></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 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,735\u00a0</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%\">2,809\u00a0</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%\">2,848\u00a0</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%\">2,895\u00a0</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%\">2027</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,860\u00a0</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%\">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%\">5,164\u00a0</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%\">\u00a0Total undiscounted liabilities </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%\">19,311\u00a0</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%\">Less: Imputed interest </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%\">(9,845)</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%\">Present value of minimum lease payments</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%\">9,466\u00a0</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>","language":"en-us"}]},{"name":"rpt:f-610","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2735000","decimals":-3}]},{"name":"rpt:f-611","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2809000","decimals":-3}]},{"name":"rpt:f-612","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2848000","decimals":-3}]},{"name":"rpt:f-613","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2895000","decimals":-3}]},{"name":"rpt:f-614","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2860000","decimals":-3}]},{"name":"rpt:f-615","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5164000","decimals":-3}]},{"name":"rpt:f-616","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"19311000","decimals":-3}]},{"name":"rpt:f-617","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9845000","decimals":-3}]},{"name":"rpt:f-618","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiability","xbrl:period":"2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9466000","decimals":-3}]}]}}