<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2022"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:oprx="http://www.optimizerx.com/20220930"
  xmlns:us-gaap="http://fasb.org/us-gaap/2022"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="oprx-20220930.xsd" xlink:type="simple"/>
    <context id="c0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="c1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
        </entity>
        <period>
            <instant>2022-11-03</instant>
        </period>
    </context>
    <context id="c2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
        </entity>
        <period>
            <instant>2022-09-30</instant>
        </period>
    </context>
    <context id="c3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="c5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="c6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="c7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c10">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="c11">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="c12">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="c13">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="c14">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="c15">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="c16">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="c17">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="c18">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="c19">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="c20">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
        </entity>
        <period>
            <instant>2022-03-31</instant>
        </period>
    </context>
    <context id="c21">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="c22">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="c23">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="c24">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="c25">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="c26">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="c27">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="c28">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="c29">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="c30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="c31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="c32">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="c33">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="c34">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="c35">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-09-30</instant>
        </period>
    </context>
    <context id="c36">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-09-30</instant>
        </period>
    </context>
    <context id="c37">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-09-30</instant>
        </period>
    </context>
    <context id="c38">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-09-30</instant>
        </period>
    </context>
    <context id="c39">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c40">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c41">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c42">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="c43">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="c44">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="c45">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="c46">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="c47">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="c48">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="c49">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="c50">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="c51">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c52">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c53">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c54">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c55">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c56">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c57">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c58">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="c59">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="c60">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="c61">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="c62">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="c63">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="c64">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="c65">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="c66">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AssetAcquisitionAxis">us-gaap:SeriesOfIndividuallyImmaterialAssetAcquisitionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-04-14</endDate>
        </period>
    </context>
    <context id="c67">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
        </entity>
        <period>
            <instant>2022-04-14</instant>
        </period>
    </context>
    <context id="c68">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-04-14</endDate>
        </period>
    </context>
    <context id="c69">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">oprx:EvinceMedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-04-14</instant>
        </period>
    </context>
    <context id="c70">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">oprx:EvinceMedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-04-14</endDate>
        </period>
    </context>
    <context id="c71">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">oprx:LifeScienceCompaniesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="c72">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">oprx:LifeScienceCompaniesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="c73">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">oprx:LifeScienceCompaniesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="c74">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">oprx:LifeScienceCompaniesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="c75">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">oprx:OtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="c76">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">oprx:OtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="c77">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">oprx:OtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="c78">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">oprx:OtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="c79">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="c80">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="c81">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="c82">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="c83">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">oprx:TwoZeroOneThreeEquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="c84">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">oprx:TwoZeroOneThreeEquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="c85">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">oprx:TwoZeroOneThreeEquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="c86">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">oprx:TwoZeroOneThreeEquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c87">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">oprx:TwoZeroOneThreeEquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="c88">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">oprx:TwoZeroOneThreeEquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="c89">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-03-01</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="c90">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="c91">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="c92">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="c93">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="c94">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-09-30</endDate>
        </period>
    </context>
    <context id="c95">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="c96">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-09-29</endDate>
        </period>
    </context>
    <context id="c97">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-10-01</startDate>
            <endDate>2022-10-31</endDate>
        </period>
    </context>
    <context id="c98">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-10-31</instant>
        </period>
    </context>
    <context id="c99">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-11-01</startDate>
            <endDate>2022-11-08</endDate>
        </period>
    </context>
    <context id="c100">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-11-08</instant>
        </period>
    </context>
    <unit id="shares">
        <measure>shares</measure>
    </unit>
    <unit id="usd">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="usdPershares">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="pure">
        <measure>pure</measure>
    </unit>
    <dei:DocumentType contextRef="c0">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport contextRef="c0">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate contextRef="c0">2022-09-30</dei:DocumentPeriodEndDate>
    <dei:DocumentFiscalYearFocus contextRef="c0">2022</dei:DocumentFiscalYearFocus>
    <dei:DocumentTransitionReport contextRef="c0">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="c0">001-38543</dei:EntityFileNumber>
    <dei:EntityIncorporationStateCountryCode contextRef="c0">NV</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="c0">26-1265381</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="c0">400 Water Street</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2 contextRef="c0">Suite 200</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown contextRef="c0">Rochester</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="c0">MI</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="c0">48307</dei:EntityAddressPostalZipCode>
    <dei:Security12bTitle contextRef="c0">Common Stock, par value $0.001</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="c0">OPRX</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="c0">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus contextRef="c0">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="c0">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="c0">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="c0">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="c0">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany contextRef="c0">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding contextRef="c1" decimals="INF" unitRef="shares">17152717</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c2" decimals="0" unitRef="usd">41329020</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c3" decimals="0" unitRef="usd">84681770</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:ShortTermInvestments contextRef="c2" decimals="0" unitRef="usd">37468889</us-gaap:ShortTermInvestments>
    <us-gaap:AccountsReceivableNetCurrent contextRef="c2" decimals="0" unitRef="usd">17813708</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="c3" decimals="0" unitRef="usd">24800585</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:PrepaidExpenseCurrent contextRef="c2" decimals="0" unitRef="usd">2722987</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:PrepaidExpenseCurrent contextRef="c3" decimals="0" unitRef="usd">5630655</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:AssetsCurrent contextRef="c2" decimals="0" unitRef="usd">99334604</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="c3" decimals="0" unitRef="usd">115113010</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="c2" decimals="0" unitRef="usd">144084</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="c3" decimals="0" unitRef="usd">143818</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Goodwill contextRef="c2" decimals="0" unitRef="usd">22673820</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c3" decimals="0" unitRef="usd">14740031</us-gaap:Goodwill>
    <us-gaap:OtherIntangibleAssetsNet contextRef="c2" decimals="0" unitRef="usd">13452893</us-gaap:OtherIntangibleAssetsNet>
    <us-gaap:OtherIntangibleAssetsNet contextRef="c3" decimals="0" unitRef="usd">10646654</us-gaap:OtherIntangibleAssetsNet>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="c2" decimals="0" unitRef="usd">255161</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="c3" decimals="0" unitRef="usd">328820</us-gaap:OperatingLeaseRightOfUseAsset>
    <oprx:OtherAssetsAndDeposits contextRef="c2" decimals="0" unitRef="usd">12859</oprx:OtherAssetsAndDeposits>
    <oprx:OtherAssetsAndDeposits contextRef="c3" decimals="0" unitRef="usd">12859</oprx:OtherAssetsAndDeposits>
    <us-gaap:OtherAssets contextRef="c2" decimals="0" unitRef="usd">36394733</us-gaap:OtherAssets>
    <us-gaap:OtherAssets contextRef="c3" decimals="0" unitRef="usd">25728364</us-gaap:OtherAssets>
    <us-gaap:Assets contextRef="c2" decimals="0" unitRef="usd">135873421</us-gaap:Assets>
    <us-gaap:Assets contextRef="c3" decimals="0" unitRef="usd">140985192</us-gaap:Assets>
    <us-gaap:AccountsPayableTradeCurrent contextRef="c2" decimals="0" unitRef="usd">1000625</us-gaap:AccountsPayableTradeCurrent>
    <us-gaap:AccountsPayableTradeCurrent contextRef="c3" decimals="0" unitRef="usd">606808</us-gaap:AccountsPayableTradeCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="c2" decimals="0" unitRef="usd">1699558</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="c3" decimals="0" unitRef="usd">2902836</us-gaap:AccruedLiabilitiesCurrent>
    <oprx:RevenueSharePayableCurrent contextRef="c2" decimals="0" unitRef="usd">2673622</oprx:RevenueSharePayableCurrent>
    <oprx:RevenueSharePayableCurrent contextRef="c3" decimals="0" unitRef="usd">4378216</oprx:RevenueSharePayableCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="c2" decimals="0" unitRef="usd">87448</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="c3" decimals="0" unitRef="usd">90982</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:DeferredRevenueCurrent contextRef="c2" decimals="0" unitRef="usd">673214</us-gaap:DeferredRevenueCurrent>
    <us-gaap:DeferredRevenueCurrent contextRef="c3" decimals="0" unitRef="usd">1389907</us-gaap:DeferredRevenueCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="c2" decimals="0" unitRef="usd">6134467</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="c3" decimals="0" unitRef="usd">9368749</us-gaap:LiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="c2" decimals="0" unitRef="usd">166751</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="c3" decimals="0" unitRef="usd">236726</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:Liabilities contextRef="c2" decimals="0" unitRef="usd">6301218</us-gaap:Liabilities>
    <us-gaap:Liabilities contextRef="c3" decimals="0" unitRef="usd">9605475</us-gaap:Liabilities>
    <us-gaap:PreferredStockParOrStatedValuePerShare contextRef="c2" decimals="3" unitRef="usdPershares">0.001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare contextRef="c3" decimals="3" unitRef="usdPershares">0.001</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized contextRef="c2" decimals="0" unitRef="shares">10000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized contextRef="c3" decimals="0" unitRef="shares">10000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:CommonStockParOrStatedValuePerShare contextRef="c2" decimals="3" unitRef="usdPershares">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare contextRef="c3" decimals="3" unitRef="usdPershares">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized contextRef="c2" decimals="0" unitRef="shares">166666667</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized contextRef="c3" decimals="0" unitRef="shares">166666667</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued contextRef="c2" decimals="0" unitRef="shares">18261239</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding contextRef="c2" decimals="0" unitRef="shares">18261239</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued contextRef="c3" decimals="0" unitRef="shares">17860975</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding contextRef="c3" decimals="0" unitRef="shares">17860975</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue contextRef="c2" decimals="0" unitRef="usd">18261</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue contextRef="c3" decimals="0" unitRef="usd">17861</us-gaap:CommonStockValue>
    <us-gaap:TreasuryStockValue contextRef="c2" decimals="0" unitRef="usd">706</us-gaap:TreasuryStockValue>
    <us-gaap:AdditionalPaidInCapital contextRef="c2" decimals="0" unitRef="usd">175920910</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital contextRef="c3" decimals="0" unitRef="usd">166615514</us-gaap:AdditionalPaidInCapital>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="c2" decimals="0" unitRef="usd">-46366262</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="c3" decimals="0" unitRef="usd">-35253658</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity contextRef="c2" decimals="0" unitRef="usd">129572203</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c3" decimals="0" unitRef="usd">131379717</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="c2" decimals="0" unitRef="usd">135873421</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="c3" decimals="0" unitRef="usd">140985192</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:Revenues contextRef="c4" decimals="0" unitRef="usd">15085504</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c5" decimals="0" unitRef="usd">16124951</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c0" decimals="0" unitRef="usd">42795699</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c6" decimals="0" unitRef="usd">40979801</us-gaap:Revenues>
    <us-gaap:CostOfRevenue contextRef="c4" decimals="0" unitRef="usd">5664733</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="c5" decimals="0" unitRef="usd">7047832</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="c0" decimals="0" unitRef="usd">16283307</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue contextRef="c6" decimals="0" unitRef="usd">17733400</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit contextRef="c4" decimals="0" unitRef="usd">9420771</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="c5" decimals="0" unitRef="usd">9077119</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="c0" decimals="0" unitRef="usd">26512392</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="c6" decimals="0" unitRef="usd">23246401</us-gaap:GrossProfit>
    <us-gaap:SalariesWagesAndOfficersCompensation contextRef="c4" decimals="0" unitRef="usd">5088955</us-gaap:SalariesWagesAndOfficersCompensation>
    <us-gaap:SalariesWagesAndOfficersCompensation contextRef="c5" decimals="0" unitRef="usd">4619320</us-gaap:SalariesWagesAndOfficersCompensation>
    <us-gaap:SalariesWagesAndOfficersCompensation contextRef="c0" decimals="0" unitRef="usd">15376370</us-gaap:SalariesWagesAndOfficersCompensation>
    <us-gaap:SalariesWagesAndOfficersCompensation contextRef="c6" decimals="0" unitRef="usd">12106933</us-gaap:SalariesWagesAndOfficersCompensation>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c4" decimals="0" unitRef="usd">4277241</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c5" decimals="0" unitRef="usd">1008007</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c0" decimals="0" unitRef="usd">11476662</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c6" decimals="0" unitRef="usd">2612198</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense contextRef="c4" decimals="0" unitRef="usd">3811334</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense contextRef="c5" decimals="0" unitRef="usd">3411602</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense contextRef="c0" decimals="0" unitRef="usd">11085750</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense contextRef="c6" decimals="0" unitRef="usd">8787250</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingExpenses contextRef="c4" decimals="0" unitRef="usd">13177530</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses contextRef="c5" decimals="0" unitRef="usd">9038929</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses contextRef="c0" decimals="0" unitRef="usd">37938782</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses contextRef="c6" decimals="0" unitRef="usd">23506381</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss contextRef="c4" decimals="0" unitRef="usd">-3756759</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c5" decimals="0" unitRef="usd">38190</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c0" decimals="0" unitRef="usd">-11426390</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c6" decimals="0" unitRef="usd">-259980</us-gaap:OperatingIncomeLoss>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c4" decimals="0" unitRef="usd">289967</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c5" decimals="0" unitRef="usd">1704</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c0" decimals="0" unitRef="usd">313786</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c6" decimals="0" unitRef="usd">14597</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c4" decimals="0" unitRef="usd">-3466792</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c5" decimals="0" unitRef="usd">39894</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c0" decimals="0" unitRef="usd">-11112604</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c6" decimals="0" unitRef="usd">-245383</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:NetIncomeLoss contextRef="c4" decimals="0" unitRef="usd">-3466792</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c5" decimals="0" unitRef="usd">39894</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c0" decimals="0" unitRef="usd">-11112604</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c6" decimals="0" unitRef="usd">-245383</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c4" decimals="0" unitRef="shares">17981184</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c5" decimals="0" unitRef="shares">17639346</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c0" decimals="0" unitRef="shares">17994288</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c6" decimals="0" unitRef="shares">17028762</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c4" decimals="0" unitRef="shares">17981184</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c5" decimals="0" unitRef="shares">18198412</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c0" decimals="0" unitRef="shares">17994288</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c6" decimals="0" unitRef="shares">17028762</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic contextRef="c4" decimals="2" unitRef="usdPershares">-0.19</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic contextRef="c0" decimals="2" unitRef="usdPershares">-0.62</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic contextRef="c6" decimals="2" unitRef="usdPershares">-0.01</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted contextRef="c4" decimals="2" unitRef="usdPershares">-0.19</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted contextRef="c0" decimals="2" unitRef="usdPershares">-0.62</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted contextRef="c6" decimals="2" unitRef="usdPershares">-0.01</us-gaap:EarningsPerShareDiluted>
    <us-gaap:SharesOutstanding contextRef="c7" decimals="INF" unitRef="shares">17860975</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c7" decimals="0" unitRef="usd">17861</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c9" decimals="0" unitRef="usd">166615514</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c10" decimals="0" unitRef="usd">-35253658</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c3" decimals="0" unitRef="usd">131379717</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="c11" decimals="INF" unitRef="shares">28006</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c11" decimals="0" unitRef="usd">28</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c13" decimals="0" unitRef="usd">258100</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c15" decimals="0" unitRef="usd">258128</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross contextRef="c11" decimals="INF" unitRef="shares">13627</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross contextRef="c11" decimals="0" unitRef="usd">14</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross contextRef="c13" decimals="0" unitRef="usd">-14</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation contextRef="c13" decimals="0" unitRef="usd">3174098</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation contextRef="c15" decimals="0" unitRef="usd">3174098</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:NetIncomeLoss contextRef="c14" decimals="0" unitRef="usd">-3761098</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c15" decimals="0" unitRef="usd">-3761098</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding contextRef="c16" decimals="INF" unitRef="shares">17902608</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c16" decimals="0" unitRef="usd">17903</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c18" decimals="0" unitRef="usd">170047698</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c19" decimals="0" unitRef="usd">-39014756</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c20" decimals="0" unitRef="usd">131050845</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="c21" decimals="INF" unitRef="shares">43701</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c21" decimals="0" unitRef="usd">44</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c23" decimals="0" unitRef="usd">572303</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c25" decimals="0" unitRef="usd">572347</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions contextRef="c21" decimals="INF" unitRef="shares">240741</us-gaap:StockIssuedDuringPeriodSharesAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions contextRef="c21" decimals="0" unitRef="usd">241</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions contextRef="c23" decimals="0" unitRef="usd">9374214</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions contextRef="c25" decimals="0" unitRef="usd">9374455</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodShares contextRef="c22" decimals="INF" unitRef="shares">-12868</us-gaap:StockRepurchasedAndRetiredDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c22" decimals="0" unitRef="usd">13</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c23" decimals="0" unitRef="usd">321041</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c25" decimals="0" unitRef="usd">321054</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation contextRef="c23" decimals="0" unitRef="usd">4025323</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation contextRef="c25" decimals="0" unitRef="usd">4025323</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:NetIncomeLoss contextRef="c24" decimals="0" unitRef="usd">-3884714</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c25" decimals="0" unitRef="usd">-3884714</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding contextRef="c26" decimals="INF" unitRef="shares">18187050</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c26" decimals="0" unitRef="usd">18188</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding contextRef="c27" decimals="INF" unitRef="shares">-12868</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c27" decimals="0" unitRef="usd">-13</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c28" decimals="0" unitRef="usd">183698497</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c29" decimals="0" unitRef="usd">-42899470</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c30" decimals="0" unitRef="usd">140817202</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="c31" decimals="INF" unitRef="shares">68751</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c31" decimals="0" unitRef="usd">68</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c33" decimals="0" unitRef="usd">219561</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c4" decimals="0" unitRef="usd">219629</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross contextRef="c31" decimals="INF" unitRef="shares">5438</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross contextRef="c31" decimals="0" unitRef="usd">5</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross contextRef="c33" decimals="0" unitRef="usd">-34565</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross contextRef="c4" decimals="0" unitRef="usd">-34560</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodShares contextRef="c32" decimals="INF" unitRef="shares">-693246</us-gaap:StockRepurchasedAndRetiredDuringPeriodShares>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c32" decimals="0" unitRef="usd">693</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c33" decimals="0" unitRef="usd">12239824</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockRepurchasedDuringPeriodValue contextRef="c4" decimals="0" unitRef="usd">12240517</us-gaap:StockRepurchasedDuringPeriodValue>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation contextRef="c33" decimals="0" unitRef="usd">4277241</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation contextRef="c4" decimals="0" unitRef="usd">4277241</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:NetIncomeLoss contextRef="c34" decimals="0" unitRef="usd">-3466792</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c4" decimals="0" unitRef="usd">-3466792</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding contextRef="c35" decimals="INF" unitRef="shares">18261239</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c35" decimals="0" unitRef="usd">18261</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding contextRef="c36" decimals="INF" unitRef="shares">-706114</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c36" decimals="0" unitRef="usd">-706</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c37" decimals="0" unitRef="usd">175920910</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c38" decimals="0" unitRef="usd">-46366262</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c2" decimals="0" unitRef="usd">129572203</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding contextRef="c39" decimals="INF" unitRef="shares">15223340</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c39" decimals="0" unitRef="usd">15223</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c40" decimals="0" unitRef="usd">85590428</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c41" decimals="0" unitRef="usd">-35631737</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c42" decimals="0" unitRef="usd">49973914</us-gaap:StockholdersEquity>
    <oprx:PublicOfferingOfCommonSharesNetOfOfferingCostsinShares contextRef="c43" decimals="INF" unitRef="shares">1523750</oprx:PublicOfferingOfCommonSharesNetOfOfferingCostsinShares>
    <oprx:PublicOfferingOfCommonSharesNetOfOfferingCosts contextRef="c43" decimals="0" unitRef="usd">1524</oprx:PublicOfferingOfCommonSharesNetOfOfferingCosts>
    <oprx:PublicOfferingOfCommonSharesNetOfOfferingCosts contextRef="c44" decimals="0" unitRef="usd">70670012</oprx:PublicOfferingOfCommonSharesNetOfOfferingCosts>
    <oprx:PublicOfferingOfCommonSharesNetOfOfferingCosts contextRef="c46" decimals="0" unitRef="usd">70671536</oprx:PublicOfferingOfCommonSharesNetOfOfferingCosts>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices contextRef="c43" decimals="INF" unitRef="shares">2695</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices contextRef="c43" decimals="0" unitRef="usd">3</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices contextRef="c44" decimals="0" unitRef="usd">124991</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices contextRef="c46" decimals="0" unitRef="usd">124994</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="c43" decimals="INF" unitRef="shares">510803</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c43" decimals="0" unitRef="usd">511</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c44" decimals="0" unitRef="usd">1119500</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c46" decimals="0" unitRef="usd">1120011</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation contextRef="c44" decimals="0" unitRef="usd">582159</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation contextRef="c46" decimals="0" unitRef="usd">582159</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:NetIncomeLoss contextRef="c45" decimals="0" unitRef="usd">-637377</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c46" decimals="0" unitRef="usd">-637377</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding contextRef="c47" decimals="INF" unitRef="shares">17260588</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c47" decimals="0" unitRef="usd">17261</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c48" decimals="0" unitRef="usd">158087090</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c49" decimals="0" unitRef="usd">-36269114</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c50" decimals="0" unitRef="usd">121835237</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices contextRef="c51" decimals="INF" unitRef="shares">2035</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices contextRef="c51" decimals="0" unitRef="usd">2</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices contextRef="c52" decimals="0" unitRef="usd">125089</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices contextRef="c54" decimals="0" unitRef="usd">125091</us-gaap:StockIssuedDuringPeriodValueIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="c51" decimals="INF" unitRef="shares">232806</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c51" decimals="0" unitRef="usd">232</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c52" decimals="0" unitRef="usd">1590535</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c54" decimals="0" unitRef="usd">1590767</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation contextRef="c52" decimals="0" unitRef="usd">771947</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation contextRef="c54" decimals="0" unitRef="usd">771947</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:NetIncomeLoss contextRef="c53" decimals="0" unitRef="usd">352100</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c54" decimals="0" unitRef="usd">352100</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding contextRef="c55" decimals="INF" unitRef="shares">17495429</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c55" decimals="0" unitRef="usd">17495</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c56" decimals="0" unitRef="usd">160574661</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c57" decimals="0" unitRef="usd">-35917014</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c58" decimals="0" unitRef="usd">124675142</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="c59" decimals="INF" unitRef="shares">232340</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c59" decimals="0" unitRef="usd">233</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c60" decimals="0" unitRef="usd">1094464</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c5" decimals="0" unitRef="usd">1094697</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation contextRef="c60" decimals="0" unitRef="usd">1008007</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation contextRef="c5" decimals="0" unitRef="usd">1008007</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:NetIncomeLoss contextRef="c61" decimals="0" unitRef="usd">39894</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c5" decimals="0" unitRef="usd">39894</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding contextRef="c62" decimals="INF" unitRef="shares">17727769</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c62" decimals="0" unitRef="usd">17728</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c63" decimals="0" unitRef="usd">162677132</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c64" decimals="0" unitRef="usd">-35877120</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c65" decimals="0" unitRef="usd">126817740</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="c0" decimals="0" unitRef="usd">-11112604</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c6" decimals="0" unitRef="usd">-245383</us-gaap:NetIncomeLoss>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c0" decimals="0" unitRef="usd">1565484</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization contextRef="c6" decimals="0" unitRef="usd">1580173</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:ShareBasedCompensation contextRef="c0" decimals="0" unitRef="usd">11476662</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation contextRef="c6" decimals="0" unitRef="usd">2362113</us-gaap:ShareBasedCompensation>
    <oprx:StockIssuedForBoardService contextRef="c6" decimals="0" unitRef="usd">250085</oprx:StockIssuedForBoardService>
    <oprx:ProvisionForLossOnAccountsReceivable contextRef="c0" decimals="0" unitRef="usd">132727</oprx:ProvisionForLossOnAccountsReceivable>
    <oprx:ProvisionForLossOnAccountsReceivable contextRef="c6" decimals="0" unitRef="usd">60000</oprx:ProvisionForLossOnAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="c0" decimals="0" unitRef="usd">-6854150</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="c6" decimals="0" unitRef="usd">2921824</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <oprx:LeaseLiabilitiesArisingFromRightOfUseAssets contextRef="c0" decimals="0" unitRef="usd">2199333</oprx:LeaseLiabilitiesArisingFromRightOfUseAssets>
    <oprx:LeaseLiabilitiesArisingFromRightOfUseAssets contextRef="c6" decimals="0" unitRef="usd">1891900</oprx:LeaseLiabilitiesArisingFromRightOfUseAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="c0" decimals="0" unitRef="usd">393817</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="c6" decimals="0" unitRef="usd">153395</us-gaap:IncreaseDecreaseInAccountsPayable>
    <oprx:IncreaseDecreaseInRevenueSharePayable contextRef="c0" decimals="0" unitRef="usd">-1704593</oprx:IncreaseDecreaseInRevenueSharePayable>
    <oprx:IncreaseDecreaseInRevenueSharePayable contextRef="c6" decimals="0" unitRef="usd">-1078777</oprx:IncreaseDecreaseInRevenueSharePayable>
    <us-gaap:IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities contextRef="c0" decimals="0" unitRef="usd">-1237839</us-gaap:IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities contextRef="c6" decimals="0" unitRef="usd">-53710</us-gaap:IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability contextRef="c0" decimals="0" unitRef="usd">150</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInDeferredRevenue contextRef="c0" decimals="0" unitRef="usd">-716693</us-gaap:IncreaseDecreaseInDeferredRevenue>
    <us-gaap:IncreaseDecreaseInDeferredRevenue contextRef="c6" decimals="0" unitRef="usd">62610</us-gaap:IncreaseDecreaseInDeferredRevenue>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="c0" decimals="0" unitRef="usd">7850594</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="c6" decimals="0" unitRef="usd">2060582</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c0" decimals="0" unitRef="usd">64667</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c6" decimals="0" unitRef="usd">62565</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="c0" decimals="0" unitRef="usd">2000000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireShortTermInvestments contextRef="c0" decimals="0" unitRef="usd">37468889</us-gaap:PaymentsToAcquireShortTermInvestments>
    <us-gaap:PaymentsToAcquireIntangibleAssets contextRef="c0" decimals="0" unitRef="usd">158321</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToAcquireIntangibleAssets contextRef="c6" decimals="0" unitRef="usd">324413</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="c0" decimals="0" unitRef="usd">-39691877</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="c6" decimals="0" unitRef="usd">-386978</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromIssuanceOfCommonStock contextRef="c6" decimals="0" unitRef="usd">70671536</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="c0" decimals="0" unitRef="usd">12561571</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:ProceedsFromStockOptionsExercised contextRef="c0" decimals="0" unitRef="usd">1050104</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised contextRef="c6" decimals="0" unitRef="usd">3805475</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities contextRef="c6" decimals="0" unitRef="usd">1610813</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="c0" decimals="0" unitRef="usd">-11511467</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="c6" decimals="0" unitRef="usd">72866198</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="c0" decimals="0" unitRef="usd">-43352750</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="c6" decimals="0" unitRef="usd">74539802</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c3" decimals="0" unitRef="usd">84681770</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c42" decimals="0" unitRef="usd">10516776</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c2" decimals="0" unitRef="usd">41329020</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c65" decimals="0" unitRef="usd">85056578</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <oprx:ReductionOfEvinceMedPurchasePriceForAmountsPreviouslyPaid contextRef="c0" decimals="0" unitRef="usd">708334</oprx:ReductionOfEvinceMedPurchasePriceForAmountsPreviouslyPaid>
    <oprx:SharesIssuedInConnectionWithAcquisitions contextRef="c0" decimals="0" unitRef="usd">9374455</oprx:SharesIssuedInConnectionWithAcquisitions>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock contextRef="c0">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;NOTE 1 &#x2013; NATURE OF BUSINESS AND BASIS OF
PRESENTATION&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The accompanying condensed consolidated financial
statements include OptimizeRx Corporation and its wholly owned subsidiaries (collectively, the &#x201c;Company&#x201d;, &#x201c;we&#x201d;,
&#x201c;our&#x201d;, or &#x201c;us&#x201d;).&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We are a digital health technology company enabling
care-focused engagement between life sciences organizations, healthcare providers, and patients at critical junctures throughout the
patient care journey. Connecting over 60% of U.S. healthcare providers and millions of their patients through an intelligent technology
platform embedded within a proprietary point-of-care network, OptimizeRx helps patients start and stay on their medications.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The condensed consolidated financial statements
for the three and nine months ended September&#160;30, 2022 and 2021 have been prepared by us without audit pursuant to the rules and
regulations of the U.S. Securities and Exchange Commission (&#x201c;SEC&#x201d;). In the opinion of management, all adjustments necessary
to present fairly our financial position at September&#160;30, 2022, and our results of operations, changes in stockholders&#x2019; equity,
and cash flows for the nine months ended September&#160;30, 2022 and 2021, have been made. Those adjustments consist of normal and recurring
adjustments. The condensed consolidated balance sheet as of December&#160;31, 2021, has been derived from the audited condensed consolidated
balance sheet as of that date.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Certain information and note disclosures, including
a detailed discussion about the Company&#x2019;s significant accounting policies, normally included in our annual financial statements
prepared in accordance with generally accepted accounting principles have been condensed or omitted. These condensed consolidated financial
statements should be read in conjunction with a reading of the financial statements and notes thereto included in our Annual Report on
Form 10-K for the fiscal year ended December&#160;31, 2021, as filed with the U.S. Securities and Exchange Commission on February 28,
2022.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The results of operations for the nine months
ended September&#160;30, 2022, are not necessarily indicative of the results to be expected for the full year.&lt;/p&gt;</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
    <oprx:USHealthcareProvidersPercentage contextRef="c0" decimals="2" unitRef="pure">0.60</oprx:USHealthcareProvidersPercentage>
    <us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock contextRef="c0">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;NOTE 2 &#x2013; NEW ACCOUNTING STANDARDS&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In December 2019, the FASB issued ASU No. 2019-12,
&lt;i&gt;Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes&lt;/i&gt;. ASU 2019-12 is intended to improve consistent application
and simplify the accounting for income taxes. ASU 2019-12 removes certain exceptions to the general principles in Topic 740 and clarifies
and amends existing guidance. ASU 2019-12 is effective for annual and interim reporting periods beginning after December 15, 2020, with
early adoption permitted. The Company adopted this standard effective January 1, 2021. The adoption of this standard did not have a material
effect on our financial position, results of operations, or cash flows.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;i&gt;Not Yet Adopted&lt;/i&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;ASU Topic 2021-08, &lt;i&gt;Business Combinations (Topic
805), Accounting for Contract Assets and Contract Liabilities from Contracts with Customers&lt;/i&gt;, which requires contract assets and contract
liabilities acquired in a business combination to be recognized and measured by the acquirer on the acquisition date in accordance with
ASC 606, Revenue from Contracts with Customers, as if it had originated the contracts. The standard is effective for the Company&#x2019;s
fiscal year beginning January 1, 2023, with early adoption permitted. The Company is currently evaluating the effect of this pronouncement
on its Consolidated Financial Statements, but it is not expected to have a material impact.&lt;/p&gt;</us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock>
    <us-gaap:AssetAcquisitionTextBlock contextRef="c0">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;NOTE 3 - ACQUISITIONS&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On April 14, 2022, we completed the acquisition
of substantially all of the assets of EvinceMed Corp., a privately held leading provider of delivering end-to-end automation for specialty
pharmaceutical transactions. We completed the acquisition to expand the breadth of the solutions we offer our customers, particularly
where specialty medications are involved, The acquisition included the full Market Access Management Platform for supporting pharma manufacturers,
hub providers and pharmacies to improve patient access, speed to therapy and activation of affordability programs. With the EvinceMed
platform, OptimizeRx is able to help patients get access to the drugs they need by simplifying the prescribing process for specialty
medications, automating manual steps to determine drug eligibility and affordability, and introducing electronic enrollment and medical
documentation across the OptimizeRx network of electronic health record (EHR) systems, ePrescribing platforms, and account-based marketing
technologies.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The consideration was comprised of $2.0 million
in cash, the issuance of 240,741 shares of common stock valued at $9,374,455, and $708,334 of amounts previously paid. The total purchase
price was $12,082,788.54. Of the 240,741 shares of common stock, 185,185 were issued at closing and 55,556 were issued but held back
to secure potential adjustments to the purchase price that may result from the indemnification obligations of EvinceMed and the EvinceMed
shareholder indemnitors. The holdback amount will be released twelve months from the closing, subject to any adjustments for the payment
by EvinceMed and the shareholder indemnitors for its and their indemnification obligations. The purchase price was allocated to acquired
technology totaling $4,149,000 with an estimated useful life of 8 years and the remaining $7,933,789 was allocated to goodwill. Goodwill
represents the processes and synergies expected by integrating those processes with our own. The full amount of goodwill will be deductible
for tax purposes using a 15 year life. The increase in goodwill for the period is fully accounted for by this acquisition. We determined
pro forma data was immaterial for financial reporting purposes. The initial accounting is provisional and subject to change based on
the completion of formal valuations.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0; text-align: justify"&gt;Acquisition costs of approximately $22,318 were expensed
as incurred.&lt;/p&gt;</us-gaap:AssetAcquisitionTextBlock>
    <us-gaap:AssetAcquisitionConsiderationTransferredTransactionCost contextRef="c66" decimals="-5" unitRef="usd">2000000</us-gaap:AssetAcquisitionConsiderationTransferredTransactionCost>
    <oprx:IssuanceOfSharesOfCommonStock contextRef="c67" decimals="0" unitRef="shares">240741</oprx:IssuanceOfSharesOfCommonStock>
    <oprx:BusinessAcquisitionCommonStockValue contextRef="c68" decimals="0" unitRef="usd">9374455</oprx:BusinessAcquisitionCommonStockValue>
    <us-gaap:AssetAcquisitionConsiderationTransferredEquityInterestIssuedAndIssuable contextRef="c66" decimals="0" unitRef="usd">708334</us-gaap:AssetAcquisitionConsiderationTransferredEquityInterestIssuedAndIssuable>
    <oprx:PurchasePrice contextRef="c68" decimals="2" unitRef="usd">12082788.54</oprx:PurchasePrice>
    <oprx:IssuanceOfSharesOfCommonStock contextRef="c69" decimals="0" unitRef="shares">240741</oprx:IssuanceOfSharesOfCommonStock>
    <us-gaap:TemporaryEquitySharesIssued contextRef="c67" decimals="0" unitRef="shares">185185</us-gaap:TemporaryEquitySharesIssued>
    <us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued contextRef="c70" decimals="0" unitRef="shares">55556</us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued>
    <oprx:PurchasePrice contextRef="c66" decimals="0" unitRef="usd">4149000</oprx:PurchasePrice>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="c68">P8Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:GoodwillGross contextRef="c67" decimals="0" unitRef="usd">7933789</us-gaap:GoodwillGross>
    <us-gaap:AcquisitionCosts contextRef="c68" decimals="0" unitRef="usd">22318</us-gaap:AcquisitionCosts>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock contextRef="c0">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;NOTE 4 - CASH, CASH EQUIVALENTS AND SHORT-TERM
INVESTMENTS&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Cash equivalents include items almost as liquid
as cash with maturity periods of three months or less when purchased, and short-term investments include items with maturity dates between
three months and one year when purchased. We account for marketable securities in accordance with ASC 320, &#x201c;Investments - Debt Securities&#x201d;,
which require that certain debt securities be classified into one of three categories: held-to-maturity, available-for-sale, or trading
securities, and depending upon the classification, value the security at amortized cost or fair market value. At September&#160;30, 2022,
we have recorded $37.5 million of held-to-maturity United States&#x2019; Treasury Bills at amortized cost basis, that has a fair market value
of $37.5 million. Our held-to-maturity United States&#x2019; Treasury Bills have maturity dates between December 2022 and January 2023. We had
&lt;span style="-sec-ix-hidden: hidden-fact-75"&gt;no&lt;/span&gt; marketable securities at December&#160;31, 2021.&lt;/p&gt;</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:CashEquivalentsAtCarryingValue contextRef="c2" decimals="1" unitRef="usd">37.5</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:MoneyMarketFundsAtCarryingValue contextRef="c2" decimals="-5" unitRef="usd">37500000</us-gaap:MoneyMarketFundsAtCarryingValue>
    <oprx:MaturityDates contextRef="c0">January 2023</oprx:MaturityDates>
    <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="c0">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;NOTE 5 &#x2013; REVENUES&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Under ASC 606, &lt;i&gt;Revenue from Contracts with
Customers&lt;/i&gt;, we record revenue when earned, rather than when billed. From time to time, we may record revenue based on our revenue
recognition policies in advance of being able to invoice the customer, or we may invoice the customer prior to being able to recognize
the revenue. Included in accounts receivable are unbilled amounts of $3,510,698 and $2,110,865 at September&#160;30, 2022, and December&#160;31,
2021, respectively. Amounts billed in advance of revenue recognition are presented as deferred revenue on the condensed consolidated
balance sheets.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company has several signed contracts with
customers for the distribution of messaging, or other services, which include payment in advance. The payments are not recorded as revenue
until the revenue is earned under our revenue recognition policy. Deferred revenue was $673,214 and $1,389,907 as of September&#160;30,
2022 and December&#160;31, 2021, respectively. The contracts are all short term in nature and all revenue is expected to be recognized
within 12 months, or less. Following is a summary of activity for the deferred revenue account for the nine months ended September&#160;30.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 76%"&gt;Balance January 1&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;1,389,907&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;285,795&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left"&gt;Revenue recognized&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(6,013,181&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(3,361,479&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Amount collected&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;5,916,318&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;3,523,824&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td&gt;Balance March 31&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1,293,044&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;448,140&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;p style="margin: 0"/&gt;&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; width: 76%"&gt;Revenue recognized&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left; width: 1%"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; width: 9%"&gt;(7,373,802&lt;/td&gt;&lt;td style="text-align: left; width: 1%"&gt;)&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left; width: 1%"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; width: 9%"&gt;(1,962,240&lt;/td&gt;&lt;td style="text-align: left; width: 1%"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Amount collected&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;7,122,677&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;1,833,709&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Balance June 30&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1,041,919&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;319,609&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;p style="margin: 0"/&gt;&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left; width: 76%"&gt;Revenue recognized&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left; width: 1%"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; width: 9%"&gt;(9,611,912&lt;/td&gt;&lt;td style="text-align: left; width: 1%"&gt;)&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left; width: 1%"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; width: 9%"&gt;(9,689,285&lt;/td&gt;&lt;td style="text-align: left; width: 1%"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Amount collected&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;9,243,207&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;9,718,081&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-bottom: 4pt"&gt;Balance September 30&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;673,214&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;348,405&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The majority of our revenue is earned from life
sciences companies, such as pharmaceutical and biotech companies, or medical device makers. A small portion of our revenue is earned
from other sources, such as associations and technology companies. A break down is set forth in the table below.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Three Months Ended&lt;br/&gt; September 30,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Nine Months Ended&lt;br/&gt; September 30,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;Revenue from:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 52%; text-align: left; padding-left: 9pt"&gt;Life Science Companies&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;14,287,807&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;15,949,517&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;40,807,166&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;40,059,551&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-bottom: 1.5pt; padding-left: 9pt"&gt;Other&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;797,697&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;175,434&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;1,988,533&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;920,250&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 4pt; padding-left: 9pt"&gt;Total Revenue&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;15,085,504&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;16,124,951&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;42,795,699&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;40,979,801&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:ReceivablesNetCurrent contextRef="c2" decimals="0" unitRef="usd">3510698</us-gaap:ReceivablesNetCurrent>
    <us-gaap:ReceivablesNetCurrent contextRef="c3" decimals="0" unitRef="usd">2110865</us-gaap:ReceivablesNetCurrent>
    <us-gaap:DeferredRevenue contextRef="c2" decimals="0" unitRef="usd">673214</us-gaap:DeferredRevenue>
    <us-gaap:DeferredRevenue contextRef="c3" decimals="0" unitRef="usd">1389907</us-gaap:DeferredRevenue>
    <us-gaap:DeferredRevenueByArrangementDisclosureTextBlock contextRef="c0">&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 76%"&gt;Balance January 1&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;1,389,907&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;285,795&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left"&gt;Revenue recognized&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(6,013,181&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;(3,361,479&lt;/td&gt;&lt;td style="text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Amount collected&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;5,916,318&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;3,523,824&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td&gt;Balance March 31&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1,293,044&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;448,140&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;p style="margin: 0"/&gt;&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; width: 76%"&gt;Revenue recognized&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left; width: 1%"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; width: 9%"&gt;(7,373,802&lt;/td&gt;&lt;td style="text-align: left; width: 1%"&gt;)&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left; width: 1%"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; width: 9%"&gt;(1,962,240&lt;/td&gt;&lt;td style="text-align: left; width: 1%"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Amount collected&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;7,122,677&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;1,833,709&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td&gt;Balance June 30&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;1,041,919&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;$&lt;/td&gt;&lt;td style="text-align: right"&gt;319,609&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;p style="margin: 0"/&gt;&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left; width: 76%"&gt;Revenue recognized&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left; width: 1%"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; width: 9%"&gt;(9,611,912&lt;/td&gt;&lt;td style="text-align: left; width: 1%"&gt;)&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left; width: 1%"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right; width: 9%"&gt;(9,689,285&lt;/td&gt;&lt;td style="text-align: left; width: 1%"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt"&gt;Amount collected&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;9,243,207&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;9,718,081&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-bottom: 4pt"&gt;Balance September 30&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;673,214&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;348,405&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;</us-gaap:DeferredRevenueByArrangementDisclosureTextBlock>
    <us-gaap:DeferredRevenueCurrent contextRef="c3" decimals="0" unitRef="usd">1389907</us-gaap:DeferredRevenueCurrent>
    <us-gaap:DeferredRevenueCurrent contextRef="c42" decimals="0" unitRef="usd">285795</us-gaap:DeferredRevenueCurrent>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized contextRef="c15" decimals="0" unitRef="usd">-6013181</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized contextRef="c46" decimals="0" unitRef="usd">-3361479</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:UnrealizedGainLossOnInvestments contextRef="c15" decimals="0" unitRef="usd">5916318</us-gaap:UnrealizedGainLossOnInvestments>
    <us-gaap:UnrealizedGainLossOnInvestments contextRef="c46" decimals="0" unitRef="usd">3523824</us-gaap:UnrealizedGainLossOnInvestments>
    <us-gaap:DeferredRevenueCurrent contextRef="c20" decimals="0" unitRef="usd">1293044</us-gaap:DeferredRevenueCurrent>
    <us-gaap:DeferredRevenueCurrent contextRef="c50" decimals="0" unitRef="usd">448140</us-gaap:DeferredRevenueCurrent>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized contextRef="c25" decimals="0" unitRef="usd">-7373802</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized contextRef="c54" decimals="0" unitRef="usd">-1962240</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:UnrealizedGainLossOnInvestments contextRef="c25" decimals="0" unitRef="usd">7122677</us-gaap:UnrealizedGainLossOnInvestments>
    <us-gaap:UnrealizedGainLossOnInvestments contextRef="c54" decimals="0" unitRef="usd">1833709</us-gaap:UnrealizedGainLossOnInvestments>
    <us-gaap:DeferredRevenueCurrent contextRef="c30" decimals="0" unitRef="usd">1041919</us-gaap:DeferredRevenueCurrent>
    <us-gaap:DeferredRevenueCurrent contextRef="c58" decimals="0" unitRef="usd">319609</us-gaap:DeferredRevenueCurrent>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized contextRef="c4" decimals="0" unitRef="usd">-9611912</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized contextRef="c5" decimals="0" unitRef="usd">-9689285</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:UnrealizedGainLossOnInvestments contextRef="c4" decimals="0" unitRef="usd">9243207</us-gaap:UnrealizedGainLossOnInvestments>
    <us-gaap:UnrealizedGainLossOnInvestments contextRef="c5" decimals="0" unitRef="usd">9718081</us-gaap:UnrealizedGainLossOnInvestments>
    <us-gaap:DeferredRevenueCurrent contextRef="c2" decimals="0" unitRef="usd">673214</us-gaap:DeferredRevenueCurrent>
    <us-gaap:DeferredRevenueCurrent contextRef="c65" decimals="0" unitRef="usd">348405</us-gaap:DeferredRevenueCurrent>
    <us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock contextRef="c0">&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Three Months Ended&lt;br/&gt; September 30,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Nine Months Ended&lt;br/&gt; September 30,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;Revenue from:&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 52%; text-align: left; padding-left: 9pt"&gt;Life Science Companies&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;14,287,807&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;15,949,517&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;40,807,166&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;40,059,551&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-bottom: 1.5pt; padding-left: 9pt"&gt;Other&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;797,697&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;175,434&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;1,988,533&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;920,250&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 4pt; padding-left: 9pt"&gt;Total Revenue&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;15,085,504&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;16,124,951&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;42,795,699&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;40,979,801&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock>
    <us-gaap:Revenues contextRef="c71" decimals="0" unitRef="usd">14287807</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c72" decimals="0" unitRef="usd">15949517</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c73" decimals="0" unitRef="usd">40807166</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c74" decimals="0" unitRef="usd">40059551</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c75" decimals="0" unitRef="usd">797697</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c76" decimals="0" unitRef="usd">175434</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c77" decimals="0" unitRef="usd">1988533</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c78" decimals="0" unitRef="usd">920250</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c79" decimals="0" unitRef="usd">15085504</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c80" decimals="0" unitRef="usd">16124951</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c81" decimals="0" unitRef="usd">42795699</us-gaap:Revenues>
    <us-gaap:Revenues contextRef="c82" decimals="0" unitRef="usd">40979801</us-gaap:Revenues>
    <us-gaap:LesseeOperatingLeasesTextBlock contextRef="c0">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;NOTE 6 &#x2013; LEASES&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We have operating leases for office space in
two multitenant facilities with lease terms greater than 12 months, which are recorded as assets and liabilities on our condensed consolidated
balance sheets. These leases include our corporate headquarters, located in Rochester, Michigan, and a technical facility in Zagreb,
Croatia. We also had a lease on office space in Cranbury, New Jersey, which expired in January 2022. We did not renew the New Jersey
lease. For leases that contain renewal options, we have only assumed renewal for the headquarters lease. Lease-related assets, or right-of-use
assets, are recognized at the lease commencement date at amounts equal to the respective lease liabilities, adjusted for prepaid lease
payments, initial direct costs, and lease incentives received. Lease-related liabilities are recognized at the present value of the remaining
contractual fixed lease payments, discounted using our incremental borrowing rate. Amortization of the right of use assets is recognized
as non-cash lease expense on a straight-line basis over the lease term, while variable lease payments are expensed as incurred. Short
term lease costs include month to month leases and occasional rent for transient meeting and office spaces in shared office space facilities.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;For the three and nine months ended September&#160;30,
2022, the Company&#x2019;s lease cost consists of the following components, each of which is included in operating expenses within the
Company&#x2019;s condensed consolidated statements of operations:&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Three&#160;Months&lt;br/&gt;
    Ended&lt;br/&gt; September&#160;30, &lt;br/&gt;
    2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Nine&#160;Months&lt;br/&gt;
    Ended&lt;br/&gt; September&#160;30, &lt;br/&gt;
    2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 76%; text-align: left; padding-left: 0in"&gt;Operating lease cost&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;23,043&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;72,208&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt; padding-left: 0in"&gt;Short-term lease cost&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;14,653&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;36,552&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 4pt; padding-left: 0in"&gt;Total lease cost&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;37,696&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;108,760&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The table below presents the future minimum lease
payments to be made under operating leases as of September&#160;30, 2022:&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;As of September 30, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 88%; text-align: left; padding-left: 0in"&gt;2022&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;24,187&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left; padding-left: 0in"&gt;2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;96,747&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-left: 0in"&gt;2024&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;79,965&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt; padding-left: 0in"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;70,224&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-left: 0in"&gt;Total&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;271,123&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt; padding-left: 0in"&gt;Less: discount&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;16,924&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 4pt; padding-left: 0in"&gt;Total lease liabilities&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;254,199&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The weighted average remaining lease term at
September&#160;30, 2022 for operating leases is 3.0 years and the weighted average discount rate used in calculating the operating lease
asset and liability is 4.5%. Cash paid for amounts included in the measurement of lease liabilities was $66,244 and $93,596 for the nine
months ended September&#160;30, 2022 and 2021, respectively. For the nine months ended September&#160;30, 2022 and 2021, payments on
lease obligations were $75,719 and $107,136, respectively, and amortization on the right of use assets was $77,011 and $90,471, respectively.&lt;/p&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LeaseCostTableTextBlock contextRef="c0">&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Three&#160;Months&lt;br/&gt;
    Ended&lt;br/&gt; September&#160;30, &lt;br/&gt;
    2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Nine&#160;Months&lt;br/&gt;
    Ended&lt;br/&gt; September&#160;30, &lt;br/&gt;
    2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 76%; text-align: left; padding-left: 0in"&gt;Operating lease cost&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;23,043&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;72,208&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt; padding-left: 0in"&gt;Short-term lease cost&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;14,653&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;36,552&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 4pt; padding-left: 0in"&gt;Total lease cost&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;37,696&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;108,760&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseCost contextRef="c4" decimals="0" unitRef="usd">23043</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost contextRef="c0" decimals="0" unitRef="usd">72208</us-gaap:OperatingLeaseCost>
    <us-gaap:ShortTermLeaseCost contextRef="c4" decimals="0" unitRef="usd">14653</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost contextRef="c0" decimals="0" unitRef="usd">36552</us-gaap:ShortTermLeaseCost>
    <us-gaap:LeaseCost contextRef="c4" decimals="0" unitRef="usd">37696</us-gaap:LeaseCost>
    <us-gaap:LeaseCost contextRef="c0" decimals="0" unitRef="usd">108760</us-gaap:LeaseCost>
    <oprx:ScheduleOfFuturesMinimumRentalPaymentsForOperatingLeasesTableTextBlock contextRef="c0">&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; font-weight: bold; text-align: left"&gt;As of September 30, 2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 88%; text-align: left; padding-left: 0in"&gt;2022&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;24,187&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left; padding-left: 0in"&gt;2023&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;96,747&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-left: 0in"&gt;2024&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;79,965&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt; padding-left: 0in"&gt;2025&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;70,224&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-left: 0in"&gt;Total&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;271,123&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt; padding-left: 0in"&gt;Less: discount&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;16,924&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="text-align: left; padding-bottom: 4pt; padding-left: 0in"&gt;Total lease liabilities&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;254,199&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;</oprx:ScheduleOfFuturesMinimumRentalPaymentsForOperatingLeasesTableTextBlock>
    <oprx:OperatingLeaseFutureMinimumPaymentsDueInTwoYears contextRef="c2" decimals="0" unitRef="usd">24187</oprx:OperatingLeaseFutureMinimumPaymentsDueInTwoYears>
    <oprx:OperatingLeaseFutureMinimumPaymentsDueInThreeYears contextRef="c2" decimals="0" unitRef="usd">96747</oprx:OperatingLeaseFutureMinimumPaymentsDueInThreeYears>
    <oprx:OperatingLeaseFutureMinimumPaymentsDueInFourYears contextRef="c2" decimals="0" unitRef="usd">79965</oprx:OperatingLeaseFutureMinimumPaymentsDueInFourYears>
    <oprx:OperatingLeaseFutureMinimumPaymentsDueInFiveYears contextRef="c2" decimals="0" unitRef="usd">70224</oprx:OperatingLeaseFutureMinimumPaymentsDueInFiveYears>
    <oprx:OperatingLeaseFutureMinimumPaymentsDue contextRef="c2" decimals="0" unitRef="usd">271123</oprx:OperatingLeaseFutureMinimumPaymentsDue>
    <oprx:LesseeOperatingLeasesLiabilityUndiscountedExcessAmount contextRef="c2" decimals="0" unitRef="usd">16924</oprx:LesseeOperatingLeasesLiabilityUndiscountedExcessAmount>
    <oprx:LesseeOperatingLeasesLiabilityPaymentsDue contextRef="c2" decimals="0" unitRef="usd">254199</oprx:LesseeOperatingLeasesLiabilityPaymentsDue>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="c2">P3Y</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent contextRef="c2" decimals="3" unitRef="pure">0.045</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <oprx:MeasurementOfLeaseLiabilities contextRef="c0" decimals="0" unitRef="usd">66244</oprx:MeasurementOfLeaseLiabilities>
    <oprx:MeasurementOfLeaseLiabilities contextRef="c6" decimals="0" unitRef="usd">93596</oprx:MeasurementOfLeaseLiabilities>
    <us-gaap:OperatingLeaseLeaseIncomeLeasePayments contextRef="c0" decimals="0" unitRef="usd">75719</us-gaap:OperatingLeaseLeaseIncomeLeasePayments>
    <us-gaap:OperatingLeaseLeaseIncomeLeasePayments contextRef="c6" decimals="0" unitRef="usd">107136</us-gaap:OperatingLeaseLeaseIncomeLeasePayments>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense contextRef="c0" decimals="0" unitRef="usd">77011</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense contextRef="c6" decimals="0" unitRef="usd">90471</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock contextRef="c0">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;NOTE 7 &#x2013; STOCKHOLDERS&#x2019; EQUITY&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;During the quarters ended September&#160;30,
2022, June&#160;30, 2022, and March&#160;31, 2022 we issued 68,751, 43,701 and 28,006 shares of our common stock, respectively, and received
proceeds of $219,629, $572,347, and $258,128, respectively, in connection with the exercise of stock options under our 2013 equity incentive
plan.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;During the quarters ended September&#160;30,
2021, June&#160;30, 2021 and March&#160;31, 2021, we issued 232,340, 232,806 and 510,803 shares of our common stock, respectively, and
received proceeds of $1,094,697, $1,590,767, and $1,120,011 respectively, in connection with the exercise of stock options under our
2013 equity incentive plan. Of the shares issued in the quarter ended March&#160;31, 2021, a total of 368,329 shares were issued in a
cashless transaction related to 394,739 expiring options using the net settled method whereby 26,410 options were used to pay the purchase
price. The remaining 116,064 shares issued in connection with the exercise of options were all issued for cash. No shares were issued
in the quarter ended June&#160;30, 2021 in cashless transactions. Of the shares issued in the quarter ended September&#160;30, 2021,
a total of 73,501 shares were issued in a cashless transaction related to 78,334 expiring options using the net settled method whereby
4,833 options were used to pay the purchase price. The remaining 158,839 shares issued in connection with the exercise of options were
all issued for cash.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;During the quarter ended June&#160;30, 2022,
the Board authorized a share repurchase program, under which the Company may repurchase up to $20.0&#160;million of its outstanding common
stock. Through September&#160;30, 2022, we repurchased 706,114 shares of our common stock for a total of $12,561,571. These shares were
recorded as Treasury Shares using the par value method.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;During the quarter ended March&#160;31, 2021,
in an underwritten primary offering, we issued 1,523,750 shares of our common stock for gross proceeds of $75,425,625. In connection
with this transaction, we incurred equity issuance costs of $4,754,089 related to payments to the underwriter, advisors and legal fees
associated with the transaction, resulting in net proceeds to the Company of $70,671,536.&lt;/p&gt;</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues contextRef="c0" decimals="0" unitRef="shares">68751</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues contextRef="c83" decimals="0" unitRef="shares">43701</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues contextRef="c84" decimals="0" unitRef="shares">28006</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <oprx:ReceivedProceeds contextRef="c85" decimals="0" unitRef="usd">219629</oprx:ReceivedProceeds>
    <oprx:ReceivedProceeds contextRef="c83" decimals="0" unitRef="usd">572347</oprx:ReceivedProceeds>
    <oprx:ReceivedProceeds contextRef="c84" decimals="0" unitRef="usd">258128</oprx:ReceivedProceeds>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues contextRef="c85" decimals="0" unitRef="shares">232340</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues contextRef="c86" decimals="0" unitRef="shares">232806</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues contextRef="c87" decimals="0" unitRef="shares">510803</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <oprx:ReceivedProceeds contextRef="c0" decimals="0" unitRef="usd">1094697</oprx:ReceivedProceeds>
    <oprx:ReceivedProceeds contextRef="c86" decimals="0" unitRef="usd">1590767</oprx:ReceivedProceeds>
    <oprx:ReceivedProceeds contextRef="c87" decimals="0" unitRef="usd">1120011</oprx:ReceivedProceeds>
    <us-gaap:ExcessStockSharesIssued contextRef="c88" decimals="0" unitRef="shares">368329</us-gaap:ExcessStockSharesIssued>
    <oprx:CashlessTransaction contextRef="c87" decimals="0" unitRef="shares">394739</oprx:CashlessTransaction>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber contextRef="c88" decimals="0" unitRef="shares">26410</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:StockIssuedDuringPeriodSharesStockSplits contextRef="c85" decimals="0" unitRef="shares">116064</us-gaap:StockIssuedDuringPeriodSharesStockSplits>
    <oprx:CashlessTransaction contextRef="c6" decimals="0" unitRef="shares">73501</oprx:CashlessTransaction>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber contextRef="c65" decimals="0" unitRef="shares">78334</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:StockIssuedDuringPeriodSharesPurchaseOfAssets contextRef="c6" decimals="0" unitRef="shares">4833</us-gaap:StockIssuedDuringPeriodSharesPurchaseOfAssets>
    <us-gaap:StockIssuedDuringPeriodSharesStockSplits contextRef="c0" decimals="0" unitRef="shares">158839</us-gaap:StockIssuedDuringPeriodSharesStockSplits>
    <us-gaap:SecuritiesSoldUnderAgreementsToRepurchaseAverageAmountOutstanding contextRef="c90" decimals="1" unitRef="usd">20</us-gaap:SecuritiesSoldUnderAgreementsToRepurchaseAverageAmountOutstanding>
    <oprx:CommonStockRepurchased contextRef="c2" decimals="0" unitRef="shares">706114</oprx:CommonStockRepurchased>
    <us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="c0" decimals="0" unitRef="usd">12561571</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:StockIssuedDuringPeriodSharesReverseStockSplits contextRef="c89" decimals="0" unitRef="shares">1523750</us-gaap:StockIssuedDuringPeriodSharesReverseStockSplits>
    <oprx:GrossProceedsOfCommonStockAmount contextRef="c46" decimals="0" unitRef="usd">75425625</oprx:GrossProceedsOfCommonStockAmount>
    <us-gaap:PaymentsOfStockIssuanceCosts contextRef="c87" decimals="0" unitRef="usd">4754089</us-gaap:PaymentsOfStockIssuanceCosts>
    <us-gaap:LegalFees contextRef="c87" decimals="0" unitRef="usd">70671536</us-gaap:LegalFees>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="c0">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;NOTE 8 &#x2013; STOCK BASED COMPENSATION&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We use the fair value method to account for stock-based
compensation, including both options and restricted stock units. We recorded $3,624,065 and $1,711,075 in compensation expense in the
nine months ended September&#160;30, 2022 and 2021, respectively, related to options issued under our equity compensation plans. This
includes expense related to options issued in prior years for which the requisite service period for those options includes the current
period as well as options issued in the current period. During the three months ended June&#160;30, 2022, we granted certain performance
based options, the expense for which will be recorded over time once the achievement of the performance is deemed probable. There was
no expense related to these options recorded during the period. The fair value of these instruments was calculated using the Black-Scholes
option pricing model. There is $11,677,040 of remaining expense related to unvested options to be recognized in the future over a weighted
average period of 2.15 years. The total intrinsic value of outstanding options at September&#160;30, 2022 was $645,740.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We recorded $7,852,597 and $901,123 in compensation
expense related to restricted stock units in the nine months ended September&#160;30, 2022 and 2021, respectively. These units vest over
time, based on market conditions, or when certain performance requirements are met. We issued 19,065 shares during the nine months ended
September&#160;30, 2022 for restricted stock units vested. Of the $7,852,597 recorded in compensation expense, $4,560,189 is related
to market-based equity grants. There was no expense recorded in relation to the performance based grants. The expense related to the
market-based grants was calculated using a Monte Carlo simulation. There is $18,441,496 of remaining expense related to unvested restricted
stock units to be recognized in the future over a weighted average period of 2.02 years.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Our previous director&#x2019;s compensation plan
called for the issuance of fully-vested shares of common stock each quarter to each independent director. In 2021, we issued 2,695 shares
valued at $124,994 in the quarter ended March&#160;31, 2021 and 2,035 shares valued at $125,091 in the quarter ended June&#160;30, 2021.
Our current non-employee director&#x2019;s compensation program calls for the grant of restricted stock units with a one year vesting
period. Therefore, no grants of fully-vested shares were issued to our non-employee directors during the nine months ended September
30, 2022. We granted 1,670 units to our directors on September&#160;30, 2021 which were vested and issued on September 29, 2022. There
were 3,285 and 23,185 restricted stock units granted to the board of directors in the quarters ended March&#160;31, 2022 and June&#160;30,
2022, respectively, for a total value of $750,130 which will vest 12 months from the grant dates.&lt;/p&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount contextRef="c91" decimals="0" unitRef="usd">3624065</us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount>
    <us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount contextRef="c92" decimals="0" unitRef="usd">1711075</us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount>
    <us-gaap:StockOptionPlanExpense contextRef="c0" decimals="0" unitRef="usd">11677040</us-gaap:StockOptionPlanExpense>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1 contextRef="c0">P2Y1M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue contextRef="c0" decimals="0" unitRef="usd">645740</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount contextRef="c93" decimals="0" unitRef="usd">7852597</us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount>
    <us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount contextRef="c94" decimals="0" unitRef="usd">901123</us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount>
    <us-gaap:SharesIssued contextRef="c2" decimals="0" unitRef="shares">19065</us-gaap:SharesIssued>
    <oprx:CompensationExpenses contextRef="c0" decimals="0" unitRef="usd">7852597</oprx:CompensationExpenses>
    <us-gaap:EquityMethodInvestmentQuotedMarketValue contextRef="c2" decimals="0" unitRef="usd">4560189</us-gaap:EquityMethodInvestmentQuotedMarketValue>
    <us-gaap:StockOptionPlanExpense contextRef="c93" decimals="0" unitRef="usd">18441496</us-gaap:StockOptionPlanExpense>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1 contextRef="c93">P2Y7D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharesIssued contextRef="c50" decimals="0" unitRef="shares">2695</us-gaap:SharesIssued>
    <us-gaap:TreasuryStockValueAcquiredCostMethod contextRef="c46" decimals="0" unitRef="usd">124994</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:SharesIssued contextRef="c58" decimals="0" unitRef="shares">2035</us-gaap:SharesIssued>
    <us-gaap:TreasuryStockValueAcquiredCostMethod contextRef="c95" decimals="0" unitRef="usd">125091</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="c0">P1Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross contextRef="c6" decimals="0" unitRef="shares">1670</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares contextRef="c96" decimals="0" unitRef="shares">1670</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares>
    <oprx:StockIssuedDuringPeriodSharesRestrictedStocksAwardGross contextRef="c15" decimals="0" unitRef="shares">3285</oprx:StockIssuedDuringPeriodSharesRestrictedStocksAwardGross>
    <oprx:StockIssuedDuringPeriodSharesRestrictedStocksAwardGross contextRef="c90" decimals="0" unitRef="shares">23185</oprx:StockIssuedDuringPeriodSharesRestrictedStocksAwardGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue contextRef="c2" decimals="0" unitRef="usd">750130</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue>
    <oprx:ShareBasedCompensationsArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod contextRef="c0">P12M</oprx:ShareBasedCompensationsArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:EarningsPerShareTextBlock contextRef="c0">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;NOTE 9 &#x2013; EARNINGS (LOSS) PER SHARE&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Basic earnings per share (&#x201c;EPS&#x201d;)
is computed by dividing net income (loss) by the weighted average number of common shares outstanding during the period.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The number of shares related to options and restricted
stock units included in diluted EPS is based on the &#x201c;Treasury Stock Method&#x201d; prescribed in ASC 260-10, Earnings per Share.
This method assumes the theoretical repurchase of shares using proceeds of the respective stock options exercised, and for restricted
stock units, the amount of compensation cost attributed to future services which have not yet been recognized, and the amount of current
and deferred tax benefit, if any, that would be credited to additional paid in capital upon the vesting of the restricted stock units,
at a price equal to the issuer&#x2019;s average stock price during the related earnings period. Accordingly, the number of shares includable
in the calculation of EPS in respect of the stock options and restricted stock units is dependent on this average stock price and will
increase as the average stock price increases.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The following table sets forth the computation
of basic and diluted net loss per share.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Three Months Ended&lt;br/&gt; September 30,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Nine Months Ended&lt;br/&gt; September 30,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;Numerator&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 52%; text-align: left; padding-bottom: 4pt; padding-left: 9pt"&gt;Net income (loss)&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; width: 9%; text-align: right"&gt;(3,466,792&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 4pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; width: 9%; text-align: right"&gt;39,894&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; width: 9%; text-align: right"&gt;(11,112,604&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 4pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; width: 9%; text-align: right"&gt;(245,383&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 4pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: -0.125in"&gt;Denominator&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-left: 0in"&gt;Weighted average shares outstanding used in computing net loss per share&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 9pt"&gt;Basic&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;17,981,184&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;17,639,346&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;17,994,288&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;17,028,762&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt; padding-left: 9pt"&gt;Effect of dilutive stock options, warrants, and unvested restricted
    stock unit awards&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-76"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;559,066&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-77"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-78"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 4pt; padding-left: 9pt"&gt;Diluted&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;17,981,184&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;18,198,412&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;17,994,288&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;17,028,762&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 0in"&gt;Net income (loss) per share&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-bottom: 4pt; padding-left: 9pt"&gt;Basic&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;(0.19&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-79"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;(0.62&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;(0.01&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 4pt; padding-left: 9pt"&gt;Diluted&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;(0.19&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-80"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;(0.62&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;(0.01&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;No calculation of diluted earnings per share
is included for 2022 or the nine months ended September&#160;30, 2021, as the effect of the calculation would be anti-dilutive.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The number of common shares potentially issuable
upon the exercise of certain options or for unvested restricted stock unit awards are reflected in the table below.&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Three Months Ended&lt;br/&gt; September 30,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Nine Months Ended&lt;br/&gt; September 30,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-weight: bold"&gt;Weighted average number of shares for the periods ended&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 52%; padding-left: 0in"&gt;Options&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;63,471&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;445,180&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;99,587&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;406,322&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt; padding-left: 0in"&gt;Unvested restricted stock unit awards&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;43,751&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;113,886&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;76,010&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;120,509&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 4pt; padding-left: 0in"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;107,222&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;559,066&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;175,597&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;526,831&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="c0">&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Three Months Ended&lt;br/&gt; September 30,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Nine Months Ended&lt;br/&gt; September 30,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;Numerator&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 52%; text-align: left; padding-bottom: 4pt; padding-left: 9pt"&gt;Net income (loss)&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; width: 9%; text-align: right"&gt;(3,466,792&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 4pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; width: 9%; text-align: right"&gt;39,894&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; width: 9%; text-align: right"&gt;(11,112,604&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 4pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; width: 9%; text-align: right"&gt;(245,383&lt;/td&gt;&lt;td style="width: 1%; padding-bottom: 4pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: -0.125in"&gt;Denominator&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-left: 0in"&gt;Weighted average shares outstanding used in computing net loss per share&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 9pt"&gt;Basic&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;17,981,184&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;17,639,346&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;17,994,288&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;17,028,762&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt; padding-left: 9pt"&gt;Effect of dilutive stock options, warrants, and unvested restricted
    stock unit awards&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-76"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;559,066&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-77"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-78"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 4pt; padding-left: 9pt"&gt;Diluted&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;17,981,184&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;18,198,412&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;17,994,288&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;17,028,762&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-left: 0in"&gt;Net income (loss) per share&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: right"&gt;&#160;&lt;/td&gt;&lt;td style="text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding-bottom: 4pt; padding-left: 9pt"&gt;Basic&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;(0.19&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-79"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;(0.62&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;(0.01&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 4pt; padding-left: 9pt"&gt;Diluted&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;(0.19&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;&lt;div style="-sec-ix-hidden: hidden-fact-80"&gt;&#x2014;&lt;/div&gt;&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;(0.62&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;)&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;(0.01&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;)&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLossAttributableToNonredeemableNoncontrollingInterest contextRef="c4" decimals="0" unitRef="usd">-3466792</us-gaap:NetIncomeLossAttributableToNonredeemableNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNonredeemableNoncontrollingInterest contextRef="c5" decimals="0" unitRef="usd">39894</us-gaap:NetIncomeLossAttributableToNonredeemableNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNonredeemableNoncontrollingInterest contextRef="c0" decimals="0" unitRef="usd">-11112604</us-gaap:NetIncomeLossAttributableToNonredeemableNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNonredeemableNoncontrollingInterest contextRef="c6" decimals="0" unitRef="usd">-245383</us-gaap:NetIncomeLossAttributableToNonredeemableNoncontrollingInterest>
    <oprx:WeightedAverageNumberOfShareOutstandingBasic contextRef="c4" decimals="INF" unitRef="shares">17981184</oprx:WeightedAverageNumberOfShareOutstandingBasic>
    <oprx:WeightedAverageNumberOfShareOutstandingBasic contextRef="c5" decimals="INF" unitRef="shares">17639346</oprx:WeightedAverageNumberOfShareOutstandingBasic>
    <oprx:WeightedAverageNumberOfShareOutstandingBasic contextRef="c0" decimals="INF" unitRef="shares">17994288</oprx:WeightedAverageNumberOfShareOutstandingBasic>
    <oprx:WeightedAverageNumberOfShareOutstandingBasic contextRef="c6" decimals="INF" unitRef="shares">17028762</oprx:WeightedAverageNumberOfShareOutstandingBasic>
    <oprx:EffectOfDilutiveStockOptionsWarrantsAndStockGrants contextRef="c5" decimals="INF" unitRef="shares">559066</oprx:EffectOfDilutiveStockOptionsWarrantsAndStockGrants>
    <oprx:WeightedAverageNumberOfDilutedShareOutstanding contextRef="c4" decimals="INF" unitRef="shares">17981184</oprx:WeightedAverageNumberOfDilutedShareOutstanding>
    <oprx:WeightedAverageNumberOfDilutedShareOutstanding contextRef="c5" decimals="INF" unitRef="shares">18198412</oprx:WeightedAverageNumberOfDilutedShareOutstanding>
    <oprx:WeightedAverageNumberOfDilutedShareOutstanding contextRef="c0" decimals="INF" unitRef="shares">17994288</oprx:WeightedAverageNumberOfDilutedShareOutstanding>
    <oprx:WeightedAverageNumberOfDilutedShareOutstanding contextRef="c6" decimals="INF" unitRef="shares">17028762</oprx:WeightedAverageNumberOfDilutedShareOutstanding>
    <oprx:BasicinPerShare contextRef="c4" decimals="2" unitRef="usdPershares">-0.19</oprx:BasicinPerShare>
    <oprx:BasicinPerShare contextRef="c0" decimals="2" unitRef="usdPershares">-0.62</oprx:BasicinPerShare>
    <oprx:BasicinPerShare contextRef="c6" decimals="2" unitRef="usdPershares">-0.01</oprx:BasicinPerShare>
    <oprx:DilutedinPerShare contextRef="c4" decimals="2" unitRef="usdPershares">-0.19</oprx:DilutedinPerShare>
    <oprx:DilutedinPerShare contextRef="c0" decimals="2" unitRef="usdPershares">-0.62</oprx:DilutedinPerShare>
    <oprx:DilutedinPerShare contextRef="c6" decimals="2" unitRef="usdPershares">-0.01</oprx:DilutedinPerShare>
    <oprx:ScheduleOfCommonSharesPotentiallyTableTextBlock contextRef="c0">&lt;table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Three Months Ended&lt;br/&gt; September 30,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="6" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;Nine Months Ended&lt;br/&gt; September 30,&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2022&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2" style="border-bottom: Black 1.5pt solid; text-align: center"&gt;2021&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="font-weight: bold"&gt;Weighted average number of shares for the periods ended&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;
    &lt;td colspan="2"&gt;&#160;&lt;/td&gt;&lt;td&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="width: 52%; padding-left: 0in"&gt;Options&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;63,471&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;445,180&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;99,587&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;406,322&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="text-align: left; padding-bottom: 1.5pt; padding-left: 0in"&gt;Unvested restricted stock unit awards&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;43,751&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;113,886&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;76,010&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;120,509&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding-bottom: 4pt; padding-left: 0in"&gt;Total&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;107,222&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;559,066&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;175,597&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 4pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 4pt double; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 4pt double; text-align: right"&gt;526,831&lt;/td&gt;&lt;td style="padding-bottom: 4pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;</oprx:ScheduleOfCommonSharesPotentiallyTableTextBlock>
    <us-gaap:IncrementalCommonSharesAttributableToWrittenPutOptions contextRef="c4" decimals="INF" unitRef="shares">63471</us-gaap:IncrementalCommonSharesAttributableToWrittenPutOptions>
    <us-gaap:IncrementalCommonSharesAttributableToWrittenPutOptions contextRef="c5" decimals="INF" unitRef="shares">445180</us-gaap:IncrementalCommonSharesAttributableToWrittenPutOptions>
    <us-gaap:IncrementalCommonSharesAttributableToWrittenPutOptions contextRef="c0" decimals="INF" unitRef="shares">99587</us-gaap:IncrementalCommonSharesAttributableToWrittenPutOptions>
    <us-gaap:IncrementalCommonSharesAttributableToWrittenPutOptions contextRef="c6" decimals="INF" unitRef="shares">406322</us-gaap:IncrementalCommonSharesAttributableToWrittenPutOptions>
    <us-gaap:WeightedAverageNumberOfSharesRestrictedStock contextRef="c4" decimals="INF" unitRef="shares">43751</us-gaap:WeightedAverageNumberOfSharesRestrictedStock>
    <us-gaap:WeightedAverageNumberOfSharesRestrictedStock contextRef="c5" decimals="INF" unitRef="shares">113886</us-gaap:WeightedAverageNumberOfSharesRestrictedStock>
    <us-gaap:WeightedAverageNumberOfSharesRestrictedStock contextRef="c0" decimals="INF" unitRef="shares">76010</us-gaap:WeightedAverageNumberOfSharesRestrictedStock>
    <us-gaap:WeightedAverageNumberOfSharesRestrictedStock contextRef="c6" decimals="INF" unitRef="shares">120509</us-gaap:WeightedAverageNumberOfSharesRestrictedStock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="c4" decimals="INF" unitRef="shares">107222</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="c5" decimals="INF" unitRef="shares">559066</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="c0" decimals="INF" unitRef="shares">175597</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="c6" decimals="INF" unitRef="shares">526831</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="c0">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;NOTE 10 &#x2013; CONTINGENCIES&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;i&gt;&#160;&lt;/i&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;i&gt;Litigation&lt;/i&gt;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company is not currently involved in any
material legal proceedings.&lt;/p&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="c0">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;NOTE 11 &#x2013; INCOME TAXES&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;As discussed in our annual report on Form 10-K
for the year ended December&#160;31, 2021, we had net operating loss carry-forwards for federal income tax purposes of $26.4 million
as of December&#160;31, 2021. Accordingly, no federal income tax expense or benefit is recorded in the current period.&lt;/p&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards contextRef="c3" decimals="-5" unitRef="usd">26400000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:SubsequentEventsTextBlock contextRef="c0">&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;NOTE 12 &#x2013; SUBSEQUENT EVENTS&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;&lt;p style="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;In October 2022, we received proceeds of $21,674 and issued 2,084 shares
of common stock in conjunction with the exercise of stock options.&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;&lt;p style="text-align: justify; font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;During the time periods set forth below, we purchased
400,492 shares of our common stock for a weighted average price of $14.75.&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding: 0pt; font-weight: bold; border-bottom: Black 1.5pt solid"&gt;Period&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="font-weight: bold; text-align: center; border-bottom: Black 1.5pt solid"&gt;Total&lt;br/&gt;
 Number of&lt;br/&gt;
 Shares&lt;br/&gt;
 Purchased&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="font-weight: bold; text-align: center; border-bottom: Black 1.5pt solid"&gt;Average&lt;br/&gt;
 Price Paid&lt;br/&gt;
 per Share&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="font-weight: bold; text-align: center; border-bottom: Black 1.5pt solid"&gt;Total&lt;br/&gt;
 Number of&lt;br/&gt;
 Shares&lt;br/&gt;
 Purchased as&lt;br/&gt;
 Part of&lt;br/&gt;
 Publicly&lt;br/&gt;
 Announced&lt;br/&gt;
 Plans or&lt;br/&gt;
 Programs&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="font-weight: bold; text-align: center; border-bottom: Black 1.5pt solid"&gt;Maximum&lt;br/&gt;
 Number (or&lt;br/&gt;
 Approximate&lt;br/&gt;
 Dollar Value)&lt;br/&gt;
 of Shares&lt;br/&gt;
 that May &lt;br/&gt;
Yet Be&lt;br/&gt;
 Purchased&lt;br/&gt;
 Under the&lt;br/&gt;
 Plans or&lt;br/&gt;
 Programs&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding: 0pt; width: 52%"&gt;10/1/22 - 10/31/22&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;341,934&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;14.83&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;341,934&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;2,416,111&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding: 0pt"&gt;11/1/22 - 11/3/22&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;58,558&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;14.89&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;58,558&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;1,546,934&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; text-align: justify; margin: 0pt 0"&gt;In accordance with ASC 855-10, we have analyzed
events and transactions that occurred subsequent to September&#160;30, 2022 through the date these financial statements were issued and
have determined that we do not have any other material subsequent events to disclose or recognize in these financial statements.&lt;/p&gt;</us-gaap:SubsequentEventsTextBlock>
    <us-gaap:ProceedsFromFeesReceived contextRef="c97" decimals="0" unitRef="usd">21674</us-gaap:ProceedsFromFeesReceived>
    <us-gaap:CommonStockSharesIssued contextRef="c98" decimals="0" unitRef="shares">2084</us-gaap:CommonStockSharesIssued>
    <us-gaap:SharesIssuedPricePerShare contextRef="c2" decimals="0" unitRef="usdPershares">400492</us-gaap:SharesIssuedPricePerShare>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice contextRef="c2" decimals="2" unitRef="usdPershares">14.75</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <oprx:ScheduleOfTimePeriodsTableTextBlock contextRef="c0">&lt;table cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif"&gt;
  &lt;tr style="vertical-align: bottom"&gt;
    &lt;td style="padding: 0pt; font-weight: bold; border-bottom: Black 1.5pt solid"&gt;Period&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="font-weight: bold; text-align: center; border-bottom: Black 1.5pt solid"&gt;Total&lt;br/&gt;
 Number of&lt;br/&gt;
 Shares&lt;br/&gt;
 Purchased&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="font-weight: bold; text-align: center; border-bottom: Black 1.5pt solid"&gt;Average&lt;br/&gt;
 Price Paid&lt;br/&gt;
 per Share&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="font-weight: bold; text-align: center; border-bottom: Black 1.5pt solid"&gt;Total&lt;br/&gt;
 Number of&lt;br/&gt;
 Shares&lt;br/&gt;
 Purchased as&lt;br/&gt;
 Part of&lt;br/&gt;
 Publicly&lt;br/&gt;
 Announced&lt;br/&gt;
 Plans or&lt;br/&gt;
 Programs&lt;/td&gt;&lt;td style="font-weight: bold; padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td colspan="3" style="font-weight: bold; text-align: center; border-bottom: Black 1.5pt solid"&gt;Maximum&lt;br/&gt;
 Number (or&lt;br/&gt;
 Approximate&lt;br/&gt;
 Dollar Value)&lt;br/&gt;
 of Shares&lt;br/&gt;
 that May &lt;br/&gt;
Yet Be&lt;br/&gt;
 Purchased&lt;br/&gt;
 Under the&lt;br/&gt;
 Plans or&lt;br/&gt;
 Programs&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;
    &lt;td style="padding: 0pt; width: 52%"&gt;10/1/22 - 10/31/22&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;341,934&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;14.83&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;341,934&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 1%"&gt;&#160;&lt;/td&gt;
    &lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="width: 9%; text-align: right"&gt;2,416,111&lt;/td&gt;&lt;td style="width: 1%; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;tr style="vertical-align: bottom; "&gt;
    &lt;td style="padding: 0pt"&gt;11/1/22 - 11/3/22&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;58,558&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;$&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;14.89&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;58,558&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt"&gt;&#160;&lt;/td&gt;
    &lt;td style="border-bottom: Black 1.5pt solid; text-align: left"&gt;&#160;&lt;/td&gt;&lt;td style="border-bottom: Black 1.5pt solid; text-align: right"&gt;1,546,934&lt;/td&gt;&lt;td style="padding-bottom: 1.5pt; text-align: left"&gt;&#160;&lt;/td&gt;&lt;/tr&gt;
  &lt;/table&gt;&lt;p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&#160;&lt;/p&gt;</oprx:ScheduleOfTimePeriodsTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesPurchasedForAward contextRef="c97" decimals="INF" unitRef="shares">341934</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesPurchasedForAward>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased contextRef="c98" decimals="2" unitRef="usdPershares">14.83</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross contextRef="c97" decimals="INF" unitRef="shares">341934</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:SharesSubjectToMandatoryRedemptionSettlementTermsMaximumNumberOfShares contextRef="c98" decimals="INF" unitRef="shares">2416111</us-gaap:SharesSubjectToMandatoryRedemptionSettlementTermsMaximumNumberOfShares>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesPurchasedForAward contextRef="c99" decimals="INF" unitRef="shares">58558</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesPurchasedForAward>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased contextRef="c100" decimals="2" unitRef="usdPershares">14.89</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPerShareWeightedAveragePriceOfSharesPurchased>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross contextRef="c99" decimals="INF" unitRef="shares">58558</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:SharesSubjectToMandatoryRedemptionSettlementTermsMaximumNumberOfShares contextRef="c100" decimals="INF" unitRef="shares">1546934</us-gaap:SharesSubjectToMandatoryRedemptionSettlementTermsMaximumNumberOfShares>
    <dei:EntityRegistrantName contextRef="c0" id="hidden-fact-0">OptimizeRx Corp</dei:EntityRegistrantName>
    <dei:CityAreaCode contextRef="c0" id="hidden-fact-1">248</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="c0" id="hidden-fact-2">651-6568</dei:LocalPhoneNumber>
    <us-gaap:ShortTermInvestments
      contextRef="c3"
      id="hidden-fact-3"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:LiabilitiesNoncurrent
      contextRef="c2"
      id="hidden-fact-4"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:LiabilitiesNoncurrent
      contextRef="c3"
      id="hidden-fact-5"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="c2"
      id="hidden-fact-6"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="c3"
      id="hidden-fact-7"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:PreferredStockValue
      contextRef="c2"
      id="hidden-fact-8"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:PreferredStockValue
      contextRef="c3"
      id="hidden-fact-9"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:PreferredStockSharesIssued
      contextRef="c2"
      id="hidden-fact-10"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:PreferredStockSharesIssued
      contextRef="c3"
      id="hidden-fact-11"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="c2"
      id="hidden-fact-12"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="c3"
      id="hidden-fact-13"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:TreasuryStockValue
      contextRef="c3"
      id="hidden-fact-14"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="c4"
      id="hidden-fact-15"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="c5"
      id="hidden-fact-16"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="c0"
      id="hidden-fact-17"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="c6"
      id="hidden-fact-18"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:EarningsPerShareBasic
      contextRef="c5"
      id="hidden-fact-19"
      unitRef="usdPershares"
      xsi:nil="true"/>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c5"
      id="hidden-fact-20"
      unitRef="usdPershares"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="c8"
      id="hidden-fact-21"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c12"
      id="hidden-fact-22"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c14"
      id="hidden-fact-23"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="c12"
      id="hidden-fact-24"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="c14"
      id="hidden-fact-25"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="c11"
      id="hidden-fact-26"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="c12"
      id="hidden-fact-27"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:NetIncomeLoss
      contextRef="c13"
      id="hidden-fact-28"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:StockholdersEquity
      contextRef="c17"
      id="hidden-fact-29"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c22"
      id="hidden-fact-30"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c22"
      id="hidden-fact-31"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c24"
      id="hidden-fact-32"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodSharesAcquisitions
      contextRef="c22"
      id="hidden-fact-33"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="c22"
      id="hidden-fact-34"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueAcquisitions
      contextRef="c24"
      id="hidden-fact-35"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodShares
      contextRef="c21"
      id="hidden-fact-36"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="c21"
      id="hidden-fact-37"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="c24"
      id="hidden-fact-38"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="c21"
      id="hidden-fact-39"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="c22"
      id="hidden-fact-40"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="c24"
      id="hidden-fact-41"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c32"
      id="hidden-fact-42"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c32"
      id="hidden-fact-43"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c34"
      id="hidden-fact-44"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="c32"
      id="hidden-fact-45"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c32"
      id="hidden-fact-46"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="c34"
      id="hidden-fact-47"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodShares
      contextRef="c31"
      id="hidden-fact-48"
      unitRef="shares"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="c31"
      id="hidden-fact-49"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:StockRepurchasedDuringPeriodValue
      contextRef="c34"
      id="hidden-fact-50"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="c31"
      id="hidden-fact-51"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="c32"
      id="hidden-fact-52"
      unitRef="usd"
      xsi:nil="true"/>
    <oprx:PublicOfferingOfCommonSharesNetOfOfferingCosts
      contextRef="c45"
      id="hidden-fact-53"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="c45"
      id="hidden-fact-54"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c45"
      id="hidden-fact-55"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="c43"
      id="hidden-fact-56"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="c45"
      id="hidden-fact-57"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueIssuedForServices
      contextRef="c53"
      id="hidden-fact-58"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="c53"
      id="hidden-fact-59"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="c51"
      id="hidden-fact-60"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="c53"
      id="hidden-fact-61"
      unitRef="usd"
      xsi:nil="true"/>
    <oprx:StockIssuedForBoardService
      contextRef="c0"
      id="hidden-fact-62"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="c6"
      id="hidden-fact-63"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="c6"
      id="hidden-fact-64"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:PaymentsToAcquireShortTermInvestments
      contextRef="c6"
      id="hidden-fact-65"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="c0"
      id="hidden-fact-66"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="c6"
      id="hidden-fact-67"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="c0"
      id="hidden-fact-68"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:InterestPaidNet
      contextRef="c0"
      id="hidden-fact-69"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:InterestPaidNet
      contextRef="c6"
      id="hidden-fact-70"
      unitRef="usd"
      xsi:nil="true"/>
    <oprx:ReductionOfEvinceMedPurchasePriceForAmountsPreviouslyPaid
      contextRef="c6"
      id="hidden-fact-71"
      unitRef="usd"
      xsi:nil="true"/>
    <oprx:SharesIssuedInConnectionWithAcquisitions
      contextRef="c6"
      id="hidden-fact-72"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:IncomeTaxesPaid
      contextRef="c0"
      id="hidden-fact-73"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:IncomeTaxesPaid
      contextRef="c6"
      id="hidden-fact-74"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:MarketableSecurities
      contextRef="c3"
      id="hidden-fact-75"
      unitRef="usd"
      xsi:nil="true"/>
    <oprx:EffectOfDilutiveStockOptionsWarrantsAndStockGrants
      contextRef="c4"
      id="hidden-fact-76"
      unitRef="shares"
      xsi:nil="true"/>
    <oprx:EffectOfDilutiveStockOptionsWarrantsAndStockGrants
      contextRef="c0"
      id="hidden-fact-77"
      unitRef="shares"
      xsi:nil="true"/>
    <oprx:EffectOfDilutiveStockOptionsWarrantsAndStockGrants
      contextRef="c6"
      id="hidden-fact-78"
      unitRef="shares"
      xsi:nil="true"/>
    <oprx:BasicinPerShare
      contextRef="c5"
      id="hidden-fact-79"
      unitRef="usdPershares"
      xsi:nil="true"/>
    <oprx:DilutedinPerShare
      contextRef="c5"
      id="hidden-fact-80"
      unitRef="usdPershares"
      xsi:nil="true"/>
    <dei:AmendmentFlag contextRef="c0">false</dei:AmendmentFlag>
    <dei:CurrentFiscalYearEndDate contextRef="c0">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalPeriodFocus contextRef="c0">Q3</dei:DocumentFiscalPeriodFocus>
    <dei:EntityCentralIndexKey contextRef="c0">0001448431</dei:EntityCentralIndexKey>
</xbrl>
