<?xml version="1.0" encoding="US-ASCII"?>
<!-- Generated by CompSci Transform (tm) - http://www.compsciresources.com -->
<!-- Created: Tue Aug 04 13:01:59 EDT 2020 -->
<xbrl xmlns="http://www.xbrl.org/2003/instance" xmlns:xl="http://www.xbrl.org/2003/XLink" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dei="http://xbrl.sec.gov/dei/2019-01-31" xmlns:us-gaap="http://fasb.org/us-gaap/2020-01-31" xmlns:us-types="http://fasb.org/us-types/2020-01-31" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:compsci="http://compsciresources.com" xmlns:oprx="http://OPRX/20200630" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:srt="http://fasb.org/srt/2020-01-31" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance">
  <link:schemaRef xlink:type="simple" xlink:href="oprx-20200630.xsd"/>
  <context id="c0_From1Jan2020To30Jun2020">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
    </entity>
    <period>
      <startDate>2020-01-01</startDate>
      <endDate>2020-06-30</endDate>
    </period>
  </context>
  <context id="c1_AsOf3Aug2020">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
    </entity>
    <period>
      <instant>2020-08-03</instant>
    </period>
  </context>
  <context id="c2_AsOf30Jun2020">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
    </entity>
    <period>
      <instant>2020-06-30</instant>
    </period>
  </context>
  <context id="c3_AsOf31Dec2019">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
    </entity>
    <period>
      <instant>2019-12-31</instant>
    </period>
  </context>
  <context id="c4_From1Apr2020To30Jun2020">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
    </entity>
    <period>
      <startDate>2020-04-01</startDate>
      <endDate>2020-06-30</endDate>
    </period>
  </context>
  <context id="c5_From1Apr2019To30Jun2019">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
    </entity>
    <period>
      <startDate>2019-04-01</startDate>
      <endDate>2019-06-30</endDate>
    </period>
  </context>
  <context id="c6_From1Jan2019To30Jun2019">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
    </entity>
    <period>
      <startDate>2019-01-01</startDate>
      <endDate>2019-06-30</endDate>
    </period>
  </context>
  <context id="c7_AsOf31Dec2019_CommonStockMember">
    <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>2019-12-31</instant>
    </period>
  </context>
  <context id="c8_AsOf31Dec2019_AdditionalPaidInCapitalMember">
    <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>2019-12-31</instant>
    </period>
  </context>
  <context id="c9_AsOf31Dec2019_RetainedEarningsMember">
    <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>2019-12-31</instant>
    </period>
  </context>
  <context id="c10_From1Jan2020To31Mar2020_CommonStockMember">
    <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>2020-01-01</startDate>
      <endDate>2020-03-31</endDate>
    </period>
  </context>
  <context id="c11_From1Jan2020To31Mar2020_AdditionalPaidInCapitalMember">
    <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>2020-01-01</startDate>
      <endDate>2020-03-31</endDate>
    </period>
  </context>
  <context id="c12_From1Jan2020To31Mar2020">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
    </entity>
    <period>
      <startDate>2020-01-01</startDate>
      <endDate>2020-03-31</endDate>
    </period>
  </context>
  <context id="c13_From1Jan2020To31Mar2020_RetainedEarningsMember">
    <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>2020-01-01</startDate>
      <endDate>2020-03-31</endDate>
    </period>
  </context>
  <context id="c14_AsOf31Mar2020_CommonStockMember">
    <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-03-31</instant>
    </period>
  </context>
  <context id="c15_AsOf31Mar2020_AdditionalPaidInCapitalMember">
    <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-03-31</instant>
    </period>
  </context>
  <context id="c16_AsOf31Mar2020_RetainedEarningsMember">
    <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-03-31</instant>
    </period>
  </context>
  <context id="c17_AsOf31Mar2020">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
    </entity>
    <period>
      <instant>2020-03-31</instant>
    </period>
  </context>
  <context id="c18_From1Apr2020To30Jun2020_CommonStockMember">
    <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>2020-04-01</startDate>
      <endDate>2020-06-30</endDate>
    </period>
  </context>
  <context id="c19_From1Apr2020To30Jun2020_AdditionalPaidInCapitalMember">
    <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>2020-04-01</startDate>
      <endDate>2020-06-30</endDate>
    </period>
  </context>
  <context id="c20_From1Apr2020To30Jun2020_RetainedEarningsMember">
    <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>2020-04-01</startDate>
      <endDate>2020-06-30</endDate>
    </period>
  </context>
  <context id="c21_AsOf30Jun2020_CommonStockMember">
    <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-06-30</instant>
    </period>
  </context>
  <context id="c22_AsOf30Jun2020_AdditionalPaidInCapitalMember">
    <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-06-30</instant>
    </period>
  </context>
  <context id="c23_AsOf30Jun2020_RetainedEarningsMember">
    <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-06-30</instant>
    </period>
  </context>
  <context id="c24_AsOf31Dec2018_CommonStockMember">
    <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>2018-12-31</instant>
    </period>
  </context>
  <context id="c25_AsOf31Dec2018_AdditionalPaidInCapitalMember">
    <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>2018-12-31</instant>
    </period>
  </context>
  <context id="c26_AsOf31Dec2018_RetainedEarningsMember">
    <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>2018-12-31</instant>
    </period>
  </context>
  <context id="c27_AsOf31Dec2018">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
    </entity>
    <period>
      <instant>2018-12-31</instant>
    </period>
  </context>
  <context id="c28_From1Jan2019To31Mar2019_RetainedEarningsMember">
    <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>2019-01-01</startDate>
      <endDate>2019-03-31</endDate>
    </period>
  </context>
  <context id="c29_From1Jan2019To31Mar2019">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
    </entity>
    <period>
      <startDate>2019-01-01</startDate>
      <endDate>2019-03-31</endDate>
    </period>
  </context>
  <context id="c30_From1Jan2019To31Mar2019_CommonStockMember">
    <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>2019-01-01</startDate>
      <endDate>2019-03-31</endDate>
    </period>
  </context>
  <context id="c31_From1Jan2019To31Mar2019_AdditionalPaidInCapitalMember">
    <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>2019-01-01</startDate>
      <endDate>2019-03-31</endDate>
    </period>
  </context>
  <context id="c32_AsOf31Mar2019_CommonStockMember">
    <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>2019-03-31</instant>
    </period>
  </context>
  <context id="c33_AsOf31Mar2019_AdditionalPaidInCapitalMember">
    <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>2019-03-31</instant>
    </period>
  </context>
  <context id="c34_AsOf31Mar2019_RetainedEarningsMember">
    <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>2019-03-31</instant>
    </period>
  </context>
  <context id="c35_AsOf31Mar2019">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
    </entity>
    <period>
      <instant>2019-03-31</instant>
    </period>
  </context>
  <context id="c36_From1Apr2019To30Jun2019_CommonStockMember">
    <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>2019-04-01</startDate>
      <endDate>2019-06-30</endDate>
    </period>
  </context>
  <context id="c37_From1Apr2019To30Jun2019_AdditionalPaidInCapitalMember">
    <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>2019-04-01</startDate>
      <endDate>2019-06-30</endDate>
    </period>
  </context>
  <context id="c38_From1Apr2019To30Jun2019_RetainedEarningsMember">
    <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>2019-04-01</startDate>
      <endDate>2019-06-30</endDate>
    </period>
  </context>
  <context id="c39_AsOf30Jun2019_CommonStockMember">
    <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>2019-06-30</instant>
    </period>
  </context>
  <context id="c40_AsOf30Jun2019_AdditionalPaidInCapitalMember">
    <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>2019-06-30</instant>
    </period>
  </context>
  <context id="c41_AsOf30Jun2019_RetainedEarningsMember">
    <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>2019-06-30</instant>
    </period>
  </context>
  <context id="c42_AsOf30Jun2019">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
    </entity>
    <period>
      <instant>2019-06-30</instant>
    </period>
  </context>
  <context id="c43_From1Jan2019To30Jun2019_DirectorMember">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
      <segment>
        <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:DirectorMember</xbrldi:explicitMember>
      </segment>
    </entity>
    <period>
      <startDate>2019-01-01</startDate>
      <endDate>2019-06-30</endDate>
    </period>
  </context>
  <context id="c44_From1Jan2019To31Mar2019_DirectorMember">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
      <segment>
        <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:DirectorMember</xbrldi:explicitMember>
      </segment>
    </entity>
    <period>
      <startDate>2019-01-01</startDate>
      <endDate>2019-03-31</endDate>
    </period>
  </context>
  <context id="c45_From1Jan2020To31Mar2020_DirectorMember">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
      <segment>
        <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:DirectorMember</xbrldi:explicitMember>
      </segment>
    </entity>
    <period>
      <startDate>2020-01-01</startDate>
      <endDate>2020-03-31</endDate>
    </period>
  </context>
  <context id="c46_From1Jan2020To31Mar2020_BoardOfDirectorsChairmanMember_DirectorMember">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
      <segment>
        <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">srt:BoardOfDirectorsChairmanMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:DirectorMember</xbrldi:explicitMember>
      </segment>
    </entity>
    <period>
      <startDate>2020-01-01</startDate>
      <endDate>2020-03-31</endDate>
    </period>
  </context>
  <context id="c47_From1Jan2020To30Jun2020_BoardOfDirectorsChairmanMember_DirectorMember">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
      <segment>
        <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">srt:BoardOfDirectorsChairmanMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:DirectorMember</xbrldi:explicitMember>
      </segment>
    </entity>
    <period>
      <startDate>2020-01-01</startDate>
      <endDate>2020-06-30</endDate>
    </period>
  </context>
  <context id="c48_From1Jan2020To30Jun2020_DirectorMember">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
      <segment>
        <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">srt:DirectorMember</xbrldi:explicitMember>
      </segment>
    </entity>
    <period>
      <startDate>2020-01-01</startDate>
      <endDate>2020-06-30</endDate>
    </period>
  </context>
  <context id="c49_From1Jan2019To31Mar2019_IndependentDirectorOneMember">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
      <segment>
        <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">oprx:IndependentDirectorOneMember</xbrldi:explicitMember>
      </segment>
    </entity>
    <period>
      <startDate>2019-01-01</startDate>
      <endDate>2019-03-31</endDate>
    </period>
  </context>
  <context id="c50_From1Jan2019To30Jun2019_IndependentDirectorOneMember">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
      <segment>
        <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionsByRelatedPartyAxis">oprx:IndependentDirectorOneMember</xbrldi:explicitMember>
      </segment>
    </entity>
    <period>
      <startDate>2019-01-01</startDate>
      <endDate>2019-06-30</endDate>
    </period>
  </context>
  <context id="c51_From1Jan2020To30Jun2020_StockCompensationPlanMember">
    <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>2020-01-01</startDate>
      <endDate>2020-06-30</endDate>
    </period>
  </context>
  <context id="c52_From1Jan2019To30Jun2019_StockCompensationPlanMember">
    <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>2019-01-01</startDate>
      <endDate>2019-06-30</endDate>
    </period>
  </context>
  <context id="c53_From1Jan2020To30Jun2020_RestrictedStockMember">
    <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>2020-01-01</startDate>
      <endDate>2020-06-30</endDate>
    </period>
  </context>
  <context id="c54_From1Jan2019To30Jun2019_RestrictedStockMember">
    <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>2019-01-01</startDate>
      <endDate>2019-06-30</endDate>
    </period>
  </context>
  <context id="c55_From1Apr2020To30Jun2020_StockOptionMember">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
      <segment>
        <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:StockOptionMember</xbrldi:explicitMember>
      </segment>
    </entity>
    <period>
      <startDate>2020-04-01</startDate>
      <endDate>2020-06-30</endDate>
    </period>
  </context>
  <context id="c56_From1Jan2020To30Jun2020_RestrictedStockMember">
    <entity>
      <identifier scheme="http://www.sec.gov/CIK">0001448431</identifier>
      <segment>
        <xbrldi:explicitMember dimension="us-gaap:DerivativeInstrumentRiskAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
      </segment>
    </entity>
    <period>
      <startDate>2020-01-01</startDate>
      <endDate>2020-06-30</endDate>
    </period>
  </context>
  <context id="c57_From1Apr2020To30Jun2020_RestrictedStockMember">
    <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>2020-04-01</startDate>
      <endDate>2020-06-30</endDate>
    </period>
  </context>
  <context id="c58_From2Jul2020To31Jul2020_SubsequentEventMember">
    <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>2020-07-02</startDate>
      <endDate>2020-07-31</endDate>
    </period>
  </context>
  <unit id="shares">
    <measure>xbrli:shares</measure>
  </unit>
  <unit id="usd">
    <measure>iso4217:USD</measure>
  </unit>
  <unit id="usdPershares">
    <divide>
      <unitNumerator>
        <measure>iso4217:USD</measure>
      </unitNumerator>
      <unitDenominator>
        <measure>xbrli:shares</measure>
      </unitDenominator>
    </divide>
  </unit>
  <unit id="pure">
    <measure>xbrli:pure</measure>
  </unit>
  <link:footnoteLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
    <link:loc xlink:type="locator" xlink:label="_ShortTermLeaseCost-c4_From1Apr2020To30Jun2020_usd" xlink:href="#_ShortTermLeaseCost-c4_From1Apr2020To30Jun2020_usd"/>
    <link:footnote xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:label="ftnt_0" xml:lang="en-US">Short-term lease cost includes any lease with a term of less than 12 months.</link:footnote>
    <link:footnoteArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" xlink:from="_ShortTermLeaseCost-c4_From1Apr2020To30Jun2020_usd" xlink:to="ftnt_0" order="1"/>
    <link:loc xlink:type="locator" xlink:label="_ShortTermLeaseCost-c0_From1Jan2020To30Jun2020_usd" xlink:href="#_ShortTermLeaseCost-c0_From1Jan2020To30Jun2020_usd"/>
    <link:footnoteArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" xlink:from="_ShortTermLeaseCost-c0_From1Jan2020To30Jun2020_usd" xlink:to="ftnt_0" order="1"/>
    <link:loc xlink:type="locator" xlink:label="_ShortTermLeaseCost-c5_From1Apr2019To30Jun2019_usd" xlink:href="#_ShortTermLeaseCost-c5_From1Apr2019To30Jun2019_usd"/>
    <link:footnoteArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" xlink:from="_ShortTermLeaseCost-c5_From1Apr2019To30Jun2019_usd" xlink:to="ftnt_0" order="1"/>
    <link:loc xlink:type="locator" xlink:label="_ShortTermLeaseCost-c6_From1Jan2019To30Jun2019_usd" xlink:href="#_ShortTermLeaseCost-c6_From1Jan2019To30Jun2019_usd"/>
    <link:footnoteArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" xlink:from="_ShortTermLeaseCost-c6_From1Jan2019To30Jun2019_usd" xlink:to="ftnt_0" order="1"/>
    <link:loc xlink:type="locator" xlink:label="_OperatingLeasesFutureMinimumPaymentsDueCurrent-c2_AsOf30Jun2020_usd" xlink:href="#_OperatingLeasesFutureMinimumPaymentsDueCurrent-c2_AsOf30Jun2020_usd"/>
    <link:footnote xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:label="ftnt_1" xml:lang="en-US">For the six-month period beginning July 1, 2020.</link:footnote>
<!-- [WMV5][XcpuxYn59dz7vgYynUDuwG7r97K2jUTysl7vcz0lJt/tSeJz73kx1cLt0ZFF2SK/vxBCY0vdSrY3zgwHHioNV2cohiuDFf+hwvm7ENIq/CcPNpwjKdmt1EcmBHkr6foMD5oHHdVe9KIhM06LBoW5eCRPOehyshGnJWU55iSyesHC1TY82oQXnn/40yz+qQggEF1nL9RiGJT47JkGBUrmHKjtypMTx92MvcFHSZIuSkaJfuEYJrbRWW6GT5tOQuoNcrx8/1ilLdc=] CSR-->
    <link:footnoteArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" xlink:from="_OperatingLeasesFutureMinimumPaymentsDueCurrent-c2_AsOf30Jun2020_usd" xlink:to="ftnt_1" order="1"/>
  </link:footnoteLink>
  <dei:AmendmentFlag contextRef="c0_From1Jan2020To30Jun2020">false</dei:AmendmentFlag>
  <dei:CurrentFiscalYearEndDate contextRef="c0_From1Jan2020To30Jun2020">--12-31</dei:CurrentFiscalYearEndDate>
  <dei:DocumentFiscalPeriodFocus contextRef="c0_From1Jan2020To30Jun2020">Q2</dei:DocumentFiscalPeriodFocus>
  <dei:DocumentFiscalYearFocus contextRef="c0_From1Jan2020To30Jun2020">2020</dei:DocumentFiscalYearFocus>
  <dei:DocumentPeriodEndDate contextRef="c0_From1Jan2020To30Jun2020">2020-06-30</dei:DocumentPeriodEndDate>
  <dei:DocumentType contextRef="c0_From1Jan2020To30Jun2020">10-Q</dei:DocumentType>
  <dei:EntityCentralIndexKey contextRef="c0_From1Jan2020To30Jun2020">0001448431</dei:EntityCentralIndexKey>
  <dei:EntityCurrentReportingStatus contextRef="c0_From1Jan2020To30Jun2020">Yes</dei:EntityCurrentReportingStatus>
  <dei:EntityEmergingGrowthCompany contextRef="c0_From1Jan2020To30Jun2020">false</dei:EntityEmergingGrowthCompany>
  <dei:EntityFileNumber contextRef="c0_From1Jan2020To30Jun2020">001-38543</dei:EntityFileNumber>
  <dei:EntityFilerCategory contextRef="c0_From1Jan2020To30Jun2020">Non-accelerated Filer</dei:EntityFilerCategory>
  <dei:EntityIncorporationStateCountryCode contextRef="c0_From1Jan2020To30Jun2020">NV</dei:EntityIncorporationStateCountryCode>
  <dei:EntityInteractiveDataCurrent contextRef="c0_From1Jan2020To30Jun2020">Yes</dei:EntityInteractiveDataCurrent>
  <dei:EntityRegistrantName contextRef="c0_From1Jan2020To30Jun2020">OptimizeRx Corp</dei:EntityRegistrantName>
  <dei:EntityShellCompany contextRef="c0_From1Jan2020To30Jun2020">false</dei:EntityShellCompany>
  <dei:EntitySmallBusiness contextRef="c0_From1Jan2020To30Jun2020">true</dei:EntitySmallBusiness>
  <dei:EntityCommonStockSharesOutstanding unitRef="shares" contextRef="c1_AsOf3Aug2020" decimals="INF">14816861</dei:EntityCommonStockSharesOutstanding>
  <us-gaap:CashAndCashEquivalentsAtCarryingValue unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">14114294</us-gaap:CashAndCashEquivalentsAtCarryingValue>
  <us-gaap:CashAndCashEquivalentsAtCarryingValue unitRef="usd" contextRef="c3_AsOf31Dec2019" decimals="0">18852680</us-gaap:CashAndCashEquivalentsAtCarryingValue>
  <us-gaap:AccountsReceivableNetCurrent unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">10805191</us-gaap:AccountsReceivableNetCurrent>
  <us-gaap:AccountsReceivableNetCurrent unitRef="usd" contextRef="c3_AsOf31Dec2019" decimals="0">7418025</us-gaap:AccountsReceivableNetCurrent>
  <us-gaap:PrepaidExpenseCurrent unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">2701249</us-gaap:PrepaidExpenseCurrent>
  <us-gaap:PrepaidExpenseCurrent unitRef="usd" contextRef="c3_AsOf31Dec2019" decimals="0">871043</us-gaap:PrepaidExpenseCurrent>
  <us-gaap:AssetsCurrent unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">27620734</us-gaap:AssetsCurrent>
  <us-gaap:AssetsCurrent unitRef="usd" contextRef="c3_AsOf31Dec2019" decimals="0">27141748</us-gaap:AssetsCurrent>
  <us-gaap:PropertyPlantAndEquipmentNet unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">156550</us-gaap:PropertyPlantAndEquipmentNet>
  <us-gaap:PropertyPlantAndEquipmentNet unitRef="usd" contextRef="c3_AsOf31Dec2019" decimals="0">176014</us-gaap:PropertyPlantAndEquipmentNet>
  <us-gaap:Goodwill unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">14740031</us-gaap:Goodwill>
  <us-gaap:Goodwill unitRef="usd" contextRef="c3_AsOf31Dec2019" decimals="0">14740031</us-gaap:Goodwill>
  <oprx:TechnologyAssetsNet unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">5722762</oprx:TechnologyAssetsNet>
  <oprx:TechnologyAssetsNet unitRef="usd" contextRef="c3_AsOf31Dec2019" decimals="0">6238453</oprx:TechnologyAssetsNet>
  <us-gaap:FiniteLivedIntangibleAssetsNet unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">2442409</us-gaap:FiniteLivedIntangibleAssetsNet>
  <us-gaap:FiniteLivedIntangibleAssetsNet unitRef="usd" contextRef="c3_AsOf31Dec2019" decimals="0">2550587</us-gaap:FiniteLivedIntangibleAssetsNet>
  <us-gaap:OtherIntangibleAssetsNet unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">4835327</us-gaap:OtherIntangibleAssetsNet>
  <us-gaap:OtherIntangibleAssetsNet unitRef="usd" contextRef="c3_AsOf31Dec2019" decimals="0">5151102</us-gaap:OtherIntangibleAssetsNet>
  <us-gaap:OperatingLeaseRightOfUseAsset unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">503506</us-gaap:OperatingLeaseRightOfUseAsset>
  <us-gaap:OperatingLeaseRightOfUseAsset unitRef="usd" contextRef="c3_AsOf31Dec2019" decimals="0">559863</us-gaap:OperatingLeaseRightOfUseAsset>
  <oprx:OtherAssetsAndDeposits unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">35943</oprx:OtherAssetsAndDeposits>
  <oprx:OtherAssetsAndDeposits unitRef="usd" contextRef="c3_AsOf31Dec2019" decimals="0">80727</oprx:OtherAssetsAndDeposits>
  <us-gaap:OtherAssets unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">28279978</us-gaap:OtherAssets>
  <us-gaap:OtherAssets unitRef="usd" contextRef="c3_AsOf31Dec2019" decimals="0">29320763</us-gaap:OtherAssets>
  <us-gaap:Assets unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">56057262</us-gaap:Assets>
  <us-gaap:Assets unitRef="usd" contextRef="c3_AsOf31Dec2019" decimals="0">56638525</us-gaap:Assets>
  <us-gaap:AccountsPayableTradeCurrent unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">496742</us-gaap:AccountsPayableTradeCurrent>
  <us-gaap:AccountsPayableTradeCurrent unitRef="usd" contextRef="c3_AsOf31Dec2019" decimals="0">492995</us-gaap:AccountsPayableTradeCurrent>
  <us-gaap:AccruedLiabilitiesCurrent unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">2044335</us-gaap:AccruedLiabilitiesCurrent>
  <us-gaap:AccruedLiabilitiesCurrent unitRef="usd" contextRef="c3_AsOf31Dec2019" decimals="0">1800635</us-gaap:AccruedLiabilitiesCurrent>
  <oprx:RevenueSharePayableCurrent unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">3496489</oprx:RevenueSharePayableCurrent>
  <oprx:RevenueSharePayableCurrent unitRef="usd" contextRef="c3_AsOf31Dec2019" decimals="0">1618438</oprx:RevenueSharePayableCurrent>
  <us-gaap:OperatingLeaseLiabilityCurrent unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">119512</us-gaap:OperatingLeaseLiabilityCurrent>
  <us-gaap:OperatingLeaseLiabilityCurrent unitRef="usd" contextRef="c3_AsOf31Dec2019" decimals="0">115431</us-gaap:OperatingLeaseLiabilityCurrent>
  <oprx:CurrentPortionOfContingentPurchasePricePayable unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">5360812</oprx:CurrentPortionOfContingentPurchasePricePayable>
  <oprx:CurrentPortionOfContingentPurchasePricePayable unitRef="usd" contextRef="c3_AsOf31Dec2019" decimals="0">1500000</oprx:CurrentPortionOfContingentPurchasePricePayable>
  <us-gaap:DeferredRevenueCurrent unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">648692</us-gaap:DeferredRevenueCurrent>
  <us-gaap:DeferredRevenueCurrent unitRef="usd" contextRef="c3_AsOf31Dec2019" decimals="0">580014</us-gaap:DeferredRevenueCurrent>
  <us-gaap:LiabilitiesCurrent unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">12166582</us-gaap:LiabilitiesCurrent>
  <us-gaap:LiabilitiesCurrent unitRef="usd" contextRef="c3_AsOf31Dec2019" decimals="0">6107513</us-gaap:LiabilitiesCurrent>
  <us-gaap:OperatingLeaseLiabilityNoncurrent unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">387654</us-gaap:OperatingLeaseLiabilityNoncurrent>
  <us-gaap:OperatingLeaseLiabilityNoncurrent unitRef="usd" contextRef="c3_AsOf31Dec2019" decimals="0">448753</us-gaap:OperatingLeaseLiabilityNoncurrent>
  <us-gaap:ContingentConsiderationClassifiedAsEquityFairValueDisclosure unitRef="usd" contextRef="c3_AsOf31Dec2019" decimals="0">5220000</us-gaap:ContingentConsiderationClassifiedAsEquityFairValueDisclosure>
  <us-gaap:LiabilitiesNoncurrent unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">387654</us-gaap:LiabilitiesNoncurrent>
  <us-gaap:LiabilitiesNoncurrent unitRef="usd" contextRef="c3_AsOf31Dec2019" decimals="0">5668753</us-gaap:LiabilitiesNoncurrent>
  <us-gaap:Liabilities unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">12554236</us-gaap:Liabilities>
  <us-gaap:Liabilities unitRef="usd" contextRef="c3_AsOf31Dec2019" decimals="0">11776266</us-gaap:Liabilities>
  <us-gaap:CommitmentsAndContingencies unitRef="usd" contextRef="c2_AsOf30Jun2020" xs:nil="true"/>
  <us-gaap:CommitmentsAndContingencies unitRef="usd" contextRef="c3_AsOf31Dec2019" xs:nil="true"/>
  <us-gaap:PreferredStockValue unitRef="usd" contextRef="c2_AsOf30Jun2020" xs:nil="true"/>
  <us-gaap:PreferredStockValue unitRef="usd" contextRef="c3_AsOf31Dec2019" xs:nil="true"/>
  <us-gaap:CommonStockValue unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">14753</us-gaap:CommonStockValue>
  <us-gaap:CommonStockValue unitRef="usd" contextRef="c3_AsOf31Dec2019" decimals="0">14601</us-gaap:CommonStockValue>
  <us-gaap:AdditionalPaidInCapital unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">80194282</us-gaap:AdditionalPaidInCapital>
  <us-gaap:AdditionalPaidInCapital unitRef="usd" contextRef="c3_AsOf31Dec2019" decimals="0">78272268</us-gaap:AdditionalPaidInCapital>
  <us-gaap:RetainedEarningsAccumulatedDeficit unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">-36706009</us-gaap:RetainedEarningsAccumulatedDeficit>
  <us-gaap:RetainedEarningsAccumulatedDeficit unitRef="usd" contextRef="c3_AsOf31Dec2019" decimals="0">-33424610</us-gaap:RetainedEarningsAccumulatedDeficit>
  <us-gaap:StockholdersEquity unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">43503026</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity unitRef="usd" contextRef="c3_AsOf31Dec2019" decimals="0">44862259</us-gaap:StockholdersEquity>
  <us-gaap:LiabilitiesAndStockholdersEquity unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">56057262</us-gaap:LiabilitiesAndStockholdersEquity>
  <us-gaap:LiabilitiesAndStockholdersEquity unitRef="usd" contextRef="c3_AsOf31Dec2019" decimals="0">56638525</us-gaap:LiabilitiesAndStockholdersEquity>
  <us-gaap:PreferredStockParOrStatedValuePerShare unitRef="usdPershares" contextRef="c2_AsOf30Jun2020" decimals="3">0.001</us-gaap:PreferredStockParOrStatedValuePerShare>
  <us-gaap:PreferredStockParOrStatedValuePerShare unitRef="usdPershares" contextRef="c3_AsOf31Dec2019" decimals="3">0.001</us-gaap:PreferredStockParOrStatedValuePerShare>
  <us-gaap:PreferredStockSharesAuthorized unitRef="shares" contextRef="c2_AsOf30Jun2020" decimals="INF">10000000</us-gaap:PreferredStockSharesAuthorized>
  <us-gaap:PreferredStockSharesAuthorized unitRef="shares" contextRef="c3_AsOf31Dec2019" decimals="INF">10000000</us-gaap:PreferredStockSharesAuthorized>
  <us-gaap:PreferredStockSharesIssued unitRef="shares" contextRef="c2_AsOf30Jun2020" xs:nil="true"/>
  <us-gaap:PreferredStockSharesIssued unitRef="shares" contextRef="c3_AsOf31Dec2019" xs:nil="true"/>
  <us-gaap:PreferredStockSharesOutstanding unitRef="shares" contextRef="c2_AsOf30Jun2020" xs:nil="true"/>
  <us-gaap:PreferredStockSharesOutstanding unitRef="shares" contextRef="c3_AsOf31Dec2019" xs:nil="true"/>
  <us-gaap:CommonStockParOrStatedValuePerShare unitRef="usdPershares" contextRef="c2_AsOf30Jun2020" decimals="3">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
  <us-gaap:CommonStockParOrStatedValuePerShare unitRef="usdPershares" contextRef="c3_AsOf31Dec2019" decimals="3">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
  <us-gaap:CommonStockSharesAuthorized unitRef="shares" contextRef="c2_AsOf30Jun2020" decimals="INF">500000000</us-gaap:CommonStockSharesAuthorized>
  <us-gaap:CommonStockSharesAuthorized unitRef="shares" contextRef="c3_AsOf31Dec2019" decimals="INF">500000000</us-gaap:CommonStockSharesAuthorized>
  <us-gaap:CommonStockSharesOutstanding unitRef="shares" contextRef="c2_AsOf30Jun2020" decimals="INF">14752600</us-gaap:CommonStockSharesOutstanding>
  <us-gaap:CommonStockSharesOutstanding unitRef="shares" contextRef="c3_AsOf31Dec2019" decimals="INF">14600579</us-gaap:CommonStockSharesOutstanding>
  <us-gaap:CommonStockSharesIssued unitRef="shares" contextRef="c2_AsOf30Jun2020" decimals="INF">14752600</us-gaap:CommonStockSharesIssued>
  <us-gaap:CommonStockSharesIssued unitRef="shares" contextRef="c3_AsOf31Dec2019" decimals="INF">14600579</us-gaap:CommonStockSharesIssued>
  <us-gaap:Revenues unitRef="usd" contextRef="c4_From1Apr2020To30Jun2020" decimals="0">8783230</us-gaap:Revenues>
  <us-gaap:Revenues unitRef="usd" contextRef="c5_From1Apr2019To30Jun2019" decimals="0">7006291</us-gaap:Revenues>
  <us-gaap:Revenues unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" decimals="0">16367832</us-gaap:Revenues>
  <us-gaap:Revenues unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">12215725</us-gaap:Revenues>
  <us-gaap:CostOfRevenue unitRef="usd" contextRef="c4_From1Apr2020To30Jun2020" decimals="0">3639016</us-gaap:CostOfRevenue>
  <us-gaap:CostOfRevenue unitRef="usd" contextRef="c5_From1Apr2019To30Jun2019" decimals="0">2687143</us-gaap:CostOfRevenue>
  <us-gaap:CostOfRevenue unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" decimals="0">6880779</us-gaap:CostOfRevenue>
  <us-gaap:CostOfRevenue unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">4270623</us-gaap:CostOfRevenue>
  <us-gaap:GrossProfit unitRef="usd" contextRef="c4_From1Apr2020To30Jun2020" decimals="0">5144214</us-gaap:GrossProfit>
  <us-gaap:GrossProfit unitRef="usd" contextRef="c5_From1Apr2019To30Jun2019" decimals="0">4319148</us-gaap:GrossProfit>
  <us-gaap:GrossProfit unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" decimals="0">9487053</us-gaap:GrossProfit>
  <us-gaap:GrossProfit unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">7945102</us-gaap:GrossProfit>
  <us-gaap:OperatingExpenses unitRef="usd" contextRef="c4_From1Apr2020To30Jun2020" decimals="0">6200027</us-gaap:OperatingExpenses>
  <us-gaap:OperatingExpenses unitRef="usd" contextRef="c5_From1Apr2019To30Jun2019" decimals="0">3839105</us-gaap:OperatingExpenses>
  <us-gaap:OperatingExpenses unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" decimals="0">12802118</us-gaap:OperatingExpenses>
  <us-gaap:OperatingExpenses unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">7332894</us-gaap:OperatingExpenses>
  <us-gaap:OperatingIncomeLoss unitRef="usd" contextRef="c4_From1Apr2020To30Jun2020" decimals="0">-1055813</us-gaap:OperatingIncomeLoss>
  <us-gaap:OperatingIncomeLoss unitRef="usd" contextRef="c5_From1Apr2019To30Jun2019" decimals="0">480043</us-gaap:OperatingIncomeLoss>
  <us-gaap:OperatingIncomeLoss unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" decimals="0">-3315065</us-gaap:OperatingIncomeLoss>
  <us-gaap:OperatingIncomeLoss unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">612208</us-gaap:OperatingIncomeLoss>
  <us-gaap:InvestmentIncomeInterest unitRef="usd" contextRef="c4_From1Apr2020To30Jun2020" decimals="0">8345</us-gaap:InvestmentIncomeInterest>
  <us-gaap:InvestmentIncomeInterest unitRef="usd" contextRef="c5_From1Apr2019To30Jun2019" decimals="0">33574</us-gaap:InvestmentIncomeInterest>
  <us-gaap:InvestmentIncomeInterest unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" decimals="0">63666</us-gaap:InvestmentIncomeInterest>
  <us-gaap:InvestmentIncomeInterest unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">55938</us-gaap:InvestmentIncomeInterest>
  <oprx:ChangeInFairValueOfContingentConsideration unitRef="usd" contextRef="c4_From1Apr2020To30Jun2020" decimals="0">-30000</oprx:ChangeInFairValueOfContingentConsideration>
  <oprx:ChangeInFairValueOfContingentConsideration unitRef="usd" contextRef="c5_From1Apr2019To30Jun2019" decimals="0">-107000</oprx:ChangeInFairValueOfContingentConsideration>
  <oprx:ChangeInFairValueOfContingentConsideration unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" decimals="0">-30000</oprx:ChangeInFairValueOfContingentConsideration>
  <oprx:ChangeInFairValueOfContingentConsideration unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">-255000</oprx:ChangeInFairValueOfContingentConsideration>
  <us-gaap:OtherNonoperatingIncomeExpense unitRef="usd" contextRef="c4_From1Apr2020To30Jun2020" decimals="0">-21655</us-gaap:OtherNonoperatingIncomeExpense>
  <us-gaap:OtherNonoperatingIncomeExpense unitRef="usd" contextRef="c5_From1Apr2019To30Jun2019" decimals="0">-73426</us-gaap:OtherNonoperatingIncomeExpense>
  <us-gaap:OtherNonoperatingIncomeExpense unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" decimals="0">33666</us-gaap:OtherNonoperatingIncomeExpense>
  <us-gaap:OtherNonoperatingIncomeExpense unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">-199062</us-gaap:OtherNonoperatingIncomeExpense>
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest unitRef="usd" contextRef="c4_From1Apr2020To30Jun2020" decimals="0">-1077468</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest unitRef="usd" contextRef="c5_From1Apr2019To30Jun2019" decimals="0">406617</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" decimals="0">-3281399</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">413146</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
  <us-gaap:IncomeTaxExpenseBenefit unitRef="usd" contextRef="c4_From1Apr2020To30Jun2020" xs:nil="true"/>
  <us-gaap:IncomeTaxExpenseBenefit unitRef="usd" contextRef="c5_From1Apr2019To30Jun2019" xs:nil="true"/>
  <us-gaap:IncomeTaxExpenseBenefit unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" xs:nil="true"/>
  <us-gaap:IncomeTaxExpenseBenefit unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" xs:nil="true"/>
  <us-gaap:NetIncomeLoss unitRef="usd" contextRef="c4_From1Apr2020To30Jun2020" decimals="0">-1077468</us-gaap:NetIncomeLoss>
  <us-gaap:NetIncomeLoss unitRef="usd" contextRef="c5_From1Apr2019To30Jun2019" decimals="0">406617</us-gaap:NetIncomeLoss>
  <us-gaap:NetIncomeLoss unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" decimals="0">-3281399</us-gaap:NetIncomeLoss>
  <us-gaap:NetIncomeLoss unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">413146</us-gaap:NetIncomeLoss>
  <us-gaap:WeightedAverageNumberOfSharesIssuedBasic unitRef="shares" contextRef="c4_From1Apr2020To30Jun2020" decimals="INF">14667216</us-gaap:WeightedAverageNumberOfSharesIssuedBasic>
  <us-gaap:WeightedAverageNumberOfSharesIssuedBasic unitRef="shares" contextRef="c5_From1Apr2019To30Jun2019" decimals="INF">12743379</us-gaap:WeightedAverageNumberOfSharesIssuedBasic>
  <us-gaap:WeightedAverageNumberOfSharesIssuedBasic unitRef="shares" contextRef="c0_From1Jan2020To30Jun2020" decimals="INF">14638359</us-gaap:WeightedAverageNumberOfSharesIssuedBasic>
  <us-gaap:WeightedAverageNumberOfSharesIssuedBasic unitRef="shares" contextRef="c6_From1Jan2019To30Jun2019" decimals="INF">12412442</us-gaap:WeightedAverageNumberOfSharesIssuedBasic>
  <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding unitRef="shares" contextRef="c4_From1Apr2020To30Jun2020" decimals="INF">14667216</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
  <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding unitRef="shares" contextRef="c5_From1Apr2019To30Jun2019" decimals="INF">13806761</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
  <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding unitRef="shares" contextRef="c0_From1Jan2020To30Jun2020" decimals="INF">14638359</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
  <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding unitRef="shares" contextRef="c6_From1Jan2019To30Jun2019" decimals="INF">13467562</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
  <us-gaap:EarningsPerShareBasic unitRef="usdPershares" contextRef="c4_From1Apr2020To30Jun2020" decimals="2">-0.07</us-gaap:EarningsPerShareBasic>
  <us-gaap:EarningsPerShareBasic unitRef="usdPershares" contextRef="c5_From1Apr2019To30Jun2019" decimals="2">0.03</us-gaap:EarningsPerShareBasic>
  <us-gaap:EarningsPerShareBasic unitRef="usdPershares" contextRef="c0_From1Jan2020To30Jun2020" decimals="2">-0.22</us-gaap:EarningsPerShareBasic>
  <us-gaap:EarningsPerShareBasic unitRef="usdPershares" contextRef="c6_From1Jan2019To30Jun2019" decimals="2">0.03</us-gaap:EarningsPerShareBasic>
  <us-gaap:EarningsPerShareDiluted unitRef="usdPershares" contextRef="c4_From1Apr2020To30Jun2020" decimals="2">-0.07</us-gaap:EarningsPerShareDiluted>
  <us-gaap:EarningsPerShareDiluted unitRef="usdPershares" contextRef="c5_From1Apr2019To30Jun2019" decimals="2">0.03</us-gaap:EarningsPerShareDiluted>
  <us-gaap:EarningsPerShareDiluted unitRef="usdPershares" contextRef="c0_From1Jan2020To30Jun2020" decimals="2">-0.22</us-gaap:EarningsPerShareDiluted>
  <us-gaap:EarningsPerShareDiluted unitRef="usdPershares" contextRef="c6_From1Jan2019To30Jun2019" decimals="2">0.03</us-gaap:EarningsPerShareDiluted>
  <us-gaap:SharesOutstanding unitRef="shares" contextRef="c7_AsOf31Dec2019_CommonStockMember" decimals="INF">14600579</us-gaap:SharesOutstanding>
  <us-gaap:StockholdersEquity unitRef="usd" contextRef="c7_AsOf31Dec2019_CommonStockMember" decimals="0">14601</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity unitRef="usd" contextRef="c8_AsOf31Dec2019_AdditionalPaidInCapitalMember" decimals="0">78272268</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity unitRef="usd" contextRef="c9_AsOf31Dec2019_RetainedEarningsMember" decimals="0">-33424610</us-gaap:StockholdersEquity>
  <oprx:StockIssuedDuringPeriodSharesIssuedAsBoardCompensationShares unitRef="shares" contextRef="c10_From1Jan2020To31Mar2020_CommonStockMember" decimals="INF">11136</oprx:StockIssuedDuringPeriodSharesIssuedAsBoardCompensationShares>
  <oprx:SharesIssuedAsBoardCompensationValue unitRef="usd" contextRef="c10_From1Jan2020To31Mar2020_CommonStockMember" decimals="0">11</oprx:SharesIssuedAsBoardCompensationValue>
  <oprx:SharesIssuedAsBoardCompensationValue unitRef="usd" contextRef="c11_From1Jan2020To31Mar2020_AdditionalPaidInCapitalMember" decimals="0">99989</oprx:SharesIssuedAsBoardCompensationValue>
  <oprx:SharesIssuedAsBoardCompensationValue unitRef="usd" contextRef="c12_From1Jan2020To31Mar2020" decimals="0">100000</oprx:SharesIssuedAsBoardCompensationValue>
  <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised unitRef="shares" contextRef="c10_From1Jan2020To31Mar2020_CommonStockMember" decimals="INF">35032</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised unitRef="usd" contextRef="c10_From1Jan2020To31Mar2020_CommonStockMember" decimals="0">35</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised unitRef="usd" contextRef="c11_From1Jan2020To31Mar2020_AdditionalPaidInCapitalMember" decimals="0">112117</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised unitRef="usd" contextRef="c12_From1Jan2020To31Mar2020" decimals="0">112152</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation unitRef="usd" contextRef="c11_From1Jan2020To31Mar2020_AdditionalPaidInCapitalMember" decimals="0">754512</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation unitRef="usd" contextRef="c12_From1Jan2020To31Mar2020" decimals="0">754512</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
  <us-gaap:NetIncomeLoss unitRef="usd" contextRef="c13_From1Jan2020To31Mar2020_RetainedEarningsMember" decimals="0">-2203931</us-gaap:NetIncomeLoss>
  <us-gaap:NetIncomeLoss unitRef="usd" contextRef="c12_From1Jan2020To31Mar2020" decimals="0">-2203931</us-gaap:NetIncomeLoss>
  <us-gaap:SharesOutstanding unitRef="shares" contextRef="c14_AsOf31Mar2020_CommonStockMember" decimals="INF">14646747</us-gaap:SharesOutstanding>
  <us-gaap:StockholdersEquity unitRef="usd" contextRef="c14_AsOf31Mar2020_CommonStockMember" decimals="0">14647</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity unitRef="usd" contextRef="c15_AsOf31Mar2020_AdditionalPaidInCapitalMember" decimals="0">79238886</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity unitRef="usd" contextRef="c16_AsOf31Mar2020_RetainedEarningsMember" decimals="0">-35628541</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity unitRef="usd" contextRef="c17_AsOf31Mar2020" decimals="0">43624992</us-gaap:StockholdersEquity>
  <oprx:StockIssuedDuringPeriodSharesIssuedAsBoardCompensationShares unitRef="shares" contextRef="c18_From1Apr2020To30Jun2020_CommonStockMember" decimals="INF">7748</oprx:StockIssuedDuringPeriodSharesIssuedAsBoardCompensationShares>
  <oprx:SharesIssuedAsBoardCompensationValue unitRef="usd" contextRef="c18_From1Apr2020To30Jun2020_CommonStockMember" decimals="0">8</oprx:SharesIssuedAsBoardCompensationValue>
  <oprx:SharesIssuedAsBoardCompensationValue unitRef="usd" contextRef="c19_From1Apr2020To30Jun2020_AdditionalPaidInCapitalMember" decimals="0">100019</oprx:SharesIssuedAsBoardCompensationValue>
  <oprx:SharesIssuedAsBoardCompensationValue unitRef="usd" contextRef="c4_From1Apr2020To30Jun2020" decimals="0">100027</oprx:SharesIssuedAsBoardCompensationValue>
  <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised unitRef="shares" contextRef="c18_From1Apr2020To30Jun2020_CommonStockMember" decimals="INF">55731</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised unitRef="usd" contextRef="c18_From1Apr2020To30Jun2020_CommonStockMember" decimals="0">56</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised unitRef="usd" contextRef="c19_From1Apr2020To30Jun2020_AdditionalPaidInCapitalMember" decimals="0">174775</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised unitRef="usd" contextRef="c4_From1Apr2020To30Jun2020" decimals="0">174831</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
  <oprx:StockIssuedDuringPeriodSharesIssuedAsBoardCompensation unitRef="usd" contextRef="c18_From1Apr2020To30Jun2020_CommonStockMember" decimals="0">42374</oprx:StockIssuedDuringPeriodSharesIssuedAsBoardCompensation>
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation unitRef="usd" contextRef="c18_From1Apr2020To30Jun2020_CommonStockMember" decimals="0">42</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation unitRef="usd" contextRef="c19_From1Apr2020To30Jun2020_AdditionalPaidInCapitalMember" decimals="0">680602</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation unitRef="usd" contextRef="c4_From1Apr2020To30Jun2020" decimals="0">680644</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
  <us-gaap:NetIncomeLoss unitRef="usd" contextRef="c20_From1Apr2020To30Jun2020_RetainedEarningsMember" decimals="0">-1077468</us-gaap:NetIncomeLoss>
  <us-gaap:SharesOutstanding unitRef="shares" contextRef="c21_AsOf30Jun2020_CommonStockMember" decimals="INF">14752600</us-gaap:SharesOutstanding>
  <us-gaap:StockholdersEquity unitRef="usd" contextRef="c21_AsOf30Jun2020_CommonStockMember" decimals="0">14753</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity unitRef="usd" contextRef="c22_AsOf30Jun2020_AdditionalPaidInCapitalMember" decimals="0">80194282</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity unitRef="usd" contextRef="c23_AsOf30Jun2020_RetainedEarningsMember" decimals="0">-36706009</us-gaap:StockholdersEquity>
  <us-gaap:SharesOutstanding unitRef="shares" contextRef="c24_AsOf31Dec2018_CommonStockMember" decimals="INF">12038618</us-gaap:SharesOutstanding>
  <us-gaap:StockholdersEquity unitRef="usd" contextRef="c24_AsOf31Dec2018_CommonStockMember" decimals="0">12039</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity unitRef="usd" contextRef="c25_AsOf31Dec2018_AdditionalPaidInCapitalMember" decimals="0">48725211</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity unitRef="usd" contextRef="c26_AsOf31Dec2018_RetainedEarningsMember" decimals="0">-30278805</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity unitRef="usd" contextRef="c27_AsOf31Dec2018" decimals="0">18458445</us-gaap:StockholdersEquity>
  <oprx:StockIssuedDuringPeriodCumulativeEffectOfChangeInAccountingPrincipleRelatedToRevenueRecognition unitRef="usd" contextRef="c28_From1Jan2019To31Mar2019_RetainedEarningsMember" decimals="0">-3229</oprx:StockIssuedDuringPeriodCumulativeEffectOfChangeInAccountingPrincipleRelatedToRevenueRecognition>
  <oprx:StockIssuedDuringPeriodCumulativeEffectOfChangeInAccountingPrincipleRelatedToRevenueRecognition unitRef="usd" contextRef="c29_From1Jan2019To31Mar2019" decimals="0">-3229</oprx:StockIssuedDuringPeriodCumulativeEffectOfChangeInAccountingPrincipleRelatedToRevenueRecognition>
  <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited unitRef="shares" contextRef="c30_From1Jan2019To31Mar2019_CommonStockMember" decimals="INF">130001</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited>
  <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardForfeitures unitRef="usd" contextRef="c30_From1Jan2019To31Mar2019_CommonStockMember" decimals="0">130</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardForfeitures>
  <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardForfeitures unitRef="usd" contextRef="c31_From1Jan2019To31Mar2019_AdditionalPaidInCapitalMember" decimals="0">-130</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardForfeitures>
  <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised unitRef="shares" contextRef="c30_From1Jan2019To31Mar2019_CommonStockMember" decimals="INF">101878</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised unitRef="usd" contextRef="c30_From1Jan2019To31Mar2019_CommonStockMember" decimals="0">102</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised unitRef="usd" contextRef="c31_From1Jan2019To31Mar2019_AdditionalPaidInCapitalMember" decimals="0">343683</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised unitRef="usd" contextRef="c29_From1Jan2019To31Mar2019" decimals="0">343785</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
  <oprx:StockIssuedDuringPeriodSharesIssuedAsBoardCompensationShares unitRef="shares" contextRef="c30_From1Jan2019To31Mar2019_CommonStockMember" decimals="INF">8336</oprx:StockIssuedDuringPeriodSharesIssuedAsBoardCompensationShares>
  <oprx:SharesIssuedAsBoardCompensationValue unitRef="usd" contextRef="c30_From1Jan2019To31Mar2019_CommonStockMember" decimals="0">8</oprx:SharesIssuedAsBoardCompensationValue>
  <oprx:SharesIssuedAsBoardCompensationValue unitRef="usd" contextRef="c31_From1Jan2019To31Mar2019_AdditionalPaidInCapitalMember" decimals="0">106026</oprx:SharesIssuedAsBoardCompensationValue>
  <oprx:SharesIssuedAsBoardCompensationValue unitRef="usd" contextRef="c29_From1Jan2019To31Mar2019" decimals="0">106034</oprx:SharesIssuedAsBoardCompensationValue>
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation unitRef="usd" contextRef="c31_From1Jan2019To31Mar2019_AdditionalPaidInCapitalMember" decimals="0">530312</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation unitRef="usd" contextRef="c29_From1Jan2019To31Mar2019" decimals="0">530312</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
  <us-gaap:NetIncomeLoss unitRef="usd" contextRef="c28_From1Jan2019To31Mar2019_RetainedEarningsMember" decimals="0">6529</us-gaap:NetIncomeLoss>
  <us-gaap:NetIncomeLoss unitRef="usd" contextRef="c29_From1Jan2019To31Mar2019" decimals="0">6529</us-gaap:NetIncomeLoss>
  <us-gaap:SharesOutstanding unitRef="shares" contextRef="c32_AsOf31Mar2019_CommonStockMember" decimals="INF">12278833</us-gaap:SharesOutstanding>
  <us-gaap:StockholdersEquity unitRef="usd" contextRef="c32_AsOf31Mar2019_CommonStockMember" decimals="0">12279</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity unitRef="usd" contextRef="c33_AsOf31Mar2019_AdditionalPaidInCapitalMember" decimals="0">49705102</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity unitRef="usd" contextRef="c34_AsOf31Mar2019_RetainedEarningsMember" decimals="0">-30275505</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity unitRef="usd" contextRef="c35_AsOf31Mar2019" decimals="0">19441876</us-gaap:StockholdersEquity>
  <us-gaap:StockIssuedDuringPeriodSharesNewIssues unitRef="shares" contextRef="c36_From1Apr2019To30Jun2019_CommonStockMember" decimals="INF">1769275</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
  <us-gaap:StockIssuedDuringPeriodValueNewIssues unitRef="usd" contextRef="c36_From1Apr2019To30Jun2019_CommonStockMember" decimals="0">1769</us-gaap:StockIssuedDuringPeriodValueNewIssues>
  <us-gaap:StockIssuedDuringPeriodValueNewIssues unitRef="usd" contextRef="c37_From1Apr2019To30Jun2019_AdditionalPaidInCapitalMember" decimals="0">21302057</us-gaap:StockIssuedDuringPeriodValueNewIssues>
  <us-gaap:StockIssuedDuringPeriodValueNewIssues unitRef="usd" contextRef="c5_From1Apr2019To30Jun2019" decimals="0">21303826</us-gaap:StockIssuedDuringPeriodValueNewIssues>
  <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised unitRef="shares" contextRef="c36_From1Apr2019To30Jun2019_CommonStockMember" decimals="INF">60295</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised unitRef="usd" contextRef="c36_From1Apr2019To30Jun2019_CommonStockMember" decimals="0">61</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised unitRef="usd" contextRef="c37_From1Apr2019To30Jun2019_AdditionalPaidInCapitalMember" decimals="0">214253</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised unitRef="usd" contextRef="c5_From1Apr2019To30Jun2019" decimals="0">214314</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
  <oprx:StockIssuedDuringPeriodSharesIssuedAsBoardCompensationShares unitRef="shares" contextRef="c36_From1Apr2019To30Jun2019_CommonStockMember" decimals="INF">8336</oprx:StockIssuedDuringPeriodSharesIssuedAsBoardCompensationShares>
  <oprx:SharesIssuedAsBoardCompensationValue unitRef="usd" contextRef="c36_From1Apr2019To30Jun2019_CommonStockMember" decimals="0">8</oprx:SharesIssuedAsBoardCompensationValue>
  <oprx:SharesIssuedAsBoardCompensationValue unitRef="usd" contextRef="c37_From1Apr2019To30Jun2019_AdditionalPaidInCapitalMember" decimals="0">135035</oprx:SharesIssuedAsBoardCompensationValue>
  <oprx:SharesIssuedAsBoardCompensationValue unitRef="usd" contextRef="c5_From1Apr2019To30Jun2019" decimals="0">135043</oprx:SharesIssuedAsBoardCompensationValue>
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation unitRef="usd" contextRef="c37_From1Apr2019To30Jun2019_AdditionalPaidInCapitalMember" decimals="0">408087</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation unitRef="usd" contextRef="c5_From1Apr2019To30Jun2019" decimals="0">408087</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
  <us-gaap:NetIncomeLoss unitRef="usd" contextRef="c38_From1Apr2019To30Jun2019_RetainedEarningsMember" decimals="0">406617</us-gaap:NetIncomeLoss>
  <us-gaap:SharesOutstanding unitRef="shares" contextRef="c39_AsOf30Jun2019_CommonStockMember" decimals="INF">14116739</us-gaap:SharesOutstanding>
  <us-gaap:StockholdersEquity unitRef="usd" contextRef="c39_AsOf30Jun2019_CommonStockMember" decimals="0">14117</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity unitRef="usd" contextRef="c40_AsOf30Jun2019_AdditionalPaidInCapitalMember" decimals="0">71764534</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity unitRef="usd" contextRef="c41_AsOf30Jun2019_RetainedEarningsMember" decimals="0">-29868888</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity unitRef="usd" contextRef="c42_AsOf30Jun2019" decimals="0">41909763</us-gaap:StockholdersEquity>
  <us-gaap:DepreciationAndAmortization unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" decimals="0">1040463</us-gaap:DepreciationAndAmortization>
  <us-gaap:DepreciationAndAmortization unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">425873</us-gaap:DepreciationAndAmortization>
  <us-gaap:ShareBasedCompensation unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" decimals="0">1435156</us-gaap:ShareBasedCompensation>
  <us-gaap:ShareBasedCompensation unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">938399</us-gaap:ShareBasedCompensation>
  <oprx:StockIssuedForBoardServices unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" decimals="0">200027</oprx:StockIssuedForBoardServices>
  <oprx:StockIssuedForBoardServices unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">241077</oprx:StockIssuedForBoardServices>
  <oprx:ProvisionForLossOnAccountsReceivable unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" decimals="0">40000</oprx:ProvisionForLossOnAccountsReceivable>
  <us-gaap:IncreaseDecreaseInAccountsReceivable unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" decimals="0">3427166</us-gaap:IncreaseDecreaseInAccountsReceivable>
  <us-gaap:IncreaseDecreaseInAccountsReceivable unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">966658</us-gaap:IncreaseDecreaseInAccountsReceivable>
  <us-gaap:IncreaseDecreaseInPrepaidExpense unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" decimals="0">1785422</us-gaap:IncreaseDecreaseInPrepaidExpense>
  <us-gaap:IncreaseDecreaseInPrepaidExpense unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">202036</us-gaap:IncreaseDecreaseInPrepaidExpense>
  <us-gaap:IncreaseDecreaseInAccountsPayable unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" decimals="0">3747</us-gaap:IncreaseDecreaseInAccountsPayable>
  <us-gaap:IncreaseDecreaseInAccountsPayable unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">785</us-gaap:IncreaseDecreaseInAccountsPayable>
  <oprx:IncreaseDecreaseInRevenueSharePayable unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" decimals="0">-1878051</oprx:IncreaseDecreaseInRevenueSharePayable>
  <oprx:IncreaseDecreaseInRevenueSharePayable unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">-55824</oprx:IncreaseDecreaseInRevenueSharePayable>
  <us-gaap:IncreaseDecreaseInAccruedLiabilities unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" decimals="0">186682</us-gaap:IncreaseDecreaseInAccruedLiabilities>
  <us-gaap:IncreaseDecreaseInAccruedLiabilities unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">-511976</us-gaap:IncreaseDecreaseInAccruedLiabilities>
  <us-gaap:IncreaseDecreaseInDeferredRevenue unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" decimals="0">68678</us-gaap:IncreaseDecreaseInDeferredRevenue>
  <us-gaap:IncreaseDecreaseInDeferredRevenue unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">158766</us-gaap:IncreaseDecreaseInDeferredRevenue>
  <us-gaap:NetCashProvidedByUsedInOperatingActivities unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" decimals="0">-3611183</us-gaap:NetCashProvidedByUsedInOperatingActivities>
  <us-gaap:NetCashProvidedByUsedInOperatingActivities unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">808200</us-gaap:NetCashProvidedByUsedInOperatingActivities>
  <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" decimals="0">24998</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
  <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">47739</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
  <us-gaap:PaymentsToAcquireIntangibleAssets unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">1000000</us-gaap:PaymentsToAcquireIntangibleAssets>
  <us-gaap:NetCashProvidedByUsedInInvestingActivities unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" decimals="0">-24998</us-gaap:NetCashProvidedByUsedInInvestingActivities>
  <us-gaap:NetCashProvidedByUsedInInvestingActivities unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">-1047739</us-gaap:NetCashProvidedByUsedInInvestingActivities>
  <us-gaap:ProceedsFromIssuanceOfCommonStock unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" decimals="0">286983</us-gaap:ProceedsFromIssuanceOfCommonStock>
  <us-gaap:ProceedsFromIssuanceOfCommonStock unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">22163636</us-gaap:ProceedsFromIssuanceOfCommonStock>
  <us-gaap:PaymentOfFinancingAndStockIssuanceCosts unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">301711</us-gaap:PaymentOfFinancingAndStockIssuanceCosts>
  <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" decimals="0">1389188</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
  <us-gaap:NetCashProvidedByUsedInFinancingActivities unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" decimals="0">-1102205</us-gaap:NetCashProvidedByUsedInFinancingActivities>
  <us-gaap:NetCashProvidedByUsedInFinancingActivities unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">21861925</us-gaap:NetCashProvidedByUsedInFinancingActivities>
  <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" decimals="0">-4738386</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
  <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">21622386</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
  <us-gaap:CashAndCashEquivalentsAtCarryingValue unitRef="usd" contextRef="c27_AsOf31Dec2018" decimals="0">8914034</us-gaap:CashAndCashEquivalentsAtCarryingValue>
  <us-gaap:CashAndCashEquivalentsAtCarryingValue unitRef="usd" contextRef="c42_AsOf30Jun2019" decimals="0">30536420</us-gaap:CashAndCashEquivalentsAtCarryingValue>
  <us-gaap:InterestPaidNet unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" xs:nil="true"/>
  <us-gaap:InterestPaidNet unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" xs:nil="true"/>
  <us-gaap:IncomeTaxesPaid unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" xs:nil="true"/>
  <us-gaap:IncomeTaxesPaid unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" xs:nil="true"/>
  <us-gaap:ReclassificationFromAociCurrentPeriodTax unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">500000</us-gaap:ReclassificationFromAociCurrentPeriodTax>
  <oprx:NoncashEffectOfCumulativeAdjustmentsToAccumulatedDeficit unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">3229</oprx:NoncashEffectOfCumulativeAdjustmentsToAccumulatedDeficit>
  <oprx:LeaseLiabilitiesArisingFromRightOfUseAssets unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">672809</oprx:LeaseLiabilitiesArisingFromRightOfUseAssets>
  <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock contextRef="c0_From1Jan2020To30Jun2020">&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify&quot;&gt;NOTE 1 &amp;#x2013; NATURE OF BUSINESS AND BASIS
OF PRESENTATION&lt;/p&gt;&lt;br/&gt;&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0&quot;&gt;The accompanying condensed consolidated financial statements
include OptimizeRx Corporation and its wholly owned subsidiaries (collectively, the &amp;#x201c;Company&amp;#x201d;, &amp;#x201c;we&amp;#x201d;, &amp;#x201c;our&amp;#x201d;,
or &amp;#x201c;us&amp;#x201d;).&lt;/p&gt;&lt;br/&gt;&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0&quot;&gt;We are a leading provider of digital health messaging via electronic
health records (EHRs), providing a direct channel for pharmaceutical companies to communicate with healthcare providers. Our cloud-based
solution supports patient adherence to medications by providing real-time access to financial assistance, prior authorization,
education and critical clinical information. Our network is comprised of leading EHR platforms and provides more than half a million
healthcare providers access to these services within their workflow at the point of care.&lt;/p&gt;&lt;br/&gt;&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0&quot;&gt;The condensed consolidated financial statements for the three
and six months ended June 30, 2020 and 2019 are unaudited and have been prepared pursuant to the rules and regulations of the U.S.
Securities and Exchange Commission (&amp;#x201c;SEC&amp;#x201d;). In the opinion of management, all adjustments necessary to present fairly
our consolidated financial position as of June 30, 2020, and our results of operations, changes in stockholders&amp;#x2019; equity for
the three and six months ended June 30, 2020 and 2019 and the statements of cash flows for the six months ended June 30, 2020 and
2019 have been made. Those adjustments consist of normal and recurring adjustments. The condensed consolidated balance sheet as
of December 31, 2019 has been derived from the audited consolidated balance sheet as of that date.&lt;/p&gt;&lt;br/&gt;&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0&quot;&gt;Certain information and note disclosures, including a detailed
discussion about the Company&amp;#x2019;s significant accounting policies, normally included in our annual financial statements prepared
in accordance with generally accepted accounting principles (&amp;#x201c;GAAP&amp;#x201d;) have been condensed or omitted. These consolidated
condensed 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 31, 2019, as filed with the U.S. Securities and Exchange Commission
on March 26, 2020.&lt;/p&gt;&lt;br/&gt;&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0&quot;&gt;We operate in one reportable segment. The results of operations
for the three and six months ended June 30, 2020 are not necessarily indicative of the results to be expected for the full year.
Certain reclassifications have been made in the prior period&amp;#x2019;s condensed consolidated financial statements to conform to
the current period&amp;#x2019;s presentation.&lt;/p&gt;&lt;br/&gt;</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
  <us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock contextRef="c0_From1Jan2020To30Jun2020">&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0&quot;&gt;NOTE 2 &amp;#x2013; NEW ACCOUNTING STANDARDS&lt;/p&gt;&lt;br/&gt;&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0&quot;&gt;&lt;i&gt;Recently adopted&lt;/i&gt;&lt;/p&gt;&lt;br/&gt;&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0&quot;&gt;In June 2016, the Financial Accounting Standards Board (the
&amp;#x201c;FASB&amp;#x201d;) issued ASU 2016-13, Financial Instruments-Credit Losses (Topic 326): Measurement of Credit Losses on Financial
Instruments. ASU 2016-13 provides for a new impairment model that requires measurement and recognition of expected credit losses
for most financial assets and certain other instruments, including but not limited to accounts receivable and available for sale
debt securities. ASU 2016-13 was effective for the Company on January 1, 2020. 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;br/&gt;&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0&quot;&gt;In August 2019, the FASB issued ASU 2018-13, Fair Value Measurement
(Topic 820): Disclosure Framework-Changes to the Disclosure Requirements for Fair Value Measurement. ASU 2018-13 modifies the disclosure
requirements on fair value measurements and became effective for the Company on January 1, 2020. 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;br/&gt;&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0&quot;&gt;In January 2017, the FASB issued ASU 2017-04, Intangibles-Goodwill
and Other (Topic 350): Simplifying the Test for Goodwill Impairment. ASU 2017-04 simplifies the subsequent measurement of goodwill
by eliminating the second step of the goodwill impairment test. The second step measures a goodwill impairment loss by comparing
the implied fair value of a reporting unit&amp;#x2019;s goodwill with the carrying amount of that goodwill. Under ASU 2017-04, a company
will record an impairment charge based on the excess of a reporting unit&amp;#x2019;s carrying amount over its fair value. ASU 2017-04
will be applied prospectively and is effective for annual or interim goodwill impairment tests in fiscal years beginning after
December 15, 2019. Early adoption is permitted for interim or annual goodwill impairment tests performed on testing dates after
January 1, 2017. 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;br/&gt;&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify&quot;&gt;&lt;i&gt;Not yet Adopted&lt;/i&gt;&lt;/p&gt;&lt;br/&gt;&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0&quot;&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 12, 2020,
with early adoption permitted. The adoption of this standard is not expected to have a material effect on our financial position,
results of operations, or cash flows.&lt;/p&gt;&lt;br/&gt;</us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock>
  <us-gaap:LeasesOfLesseeDisclosureTextBlock contextRef="c0_From1Jan2020To30Jun2020">&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0&quot;&gt;NOTE 3 &amp;#x2013; LEASES&lt;/p&gt;&lt;br/&gt;&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0&quot;&gt;We have operating leases for office space in three multitenant
facilities with lease terms greater than 12 months, which are recorded as assets and liabilities on our balance sheet. These leases
include our corporate headquarters, located in Rochester, Michigan, a customer service facility in Cranbury, New Jersey, and a
technical facility in Zagreb, Croatia. Certain leases contain renewal options and, for the headquarters lease, we have assumed
renewal. 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 in shared office space
facilities, such as WeWork, or similar locations.&lt;/p&gt;&lt;br/&gt;&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0&quot;&gt;For the three and six months ended June 30, 2020, the Company&amp;#x2019;s
lease cost consisted of the following components, each of which is included in operating expenses within the Company&amp;#x2019;s condensed
consolidated statements of operations:&lt;/p&gt;&lt;br/&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif&quot;&gt;
&lt;tr style=&quot;vertical-align: bottom&quot;&gt;
    &lt;td&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;font-weight: bold; padding-bottom: 1.5pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td colspan=&quot;2&quot; style=&quot;font-weight: bold; text-align: center; border-bottom: Black 1.5pt solid&quot;&gt;Three&amp;#xa0;Months&lt;br/&gt; Ended
    &lt;br/&gt;
June 30, &lt;br/&gt;
2020&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt; font-weight: bold&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;font-weight: bold; padding-bottom: 1.5pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td colspan=&quot;2&quot; style=&quot;font-weight: bold; text-align: center; border-bottom: Black 1.5pt solid&quot;&gt;Six&amp;#xa0;Months&lt;br/&gt;
Ended &lt;br/&gt;
June 30, &lt;br/&gt;
2020&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt; font-weight: bold&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom&quot;&gt;
    &lt;td&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td colspan=&quot;2&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td colspan=&quot;2&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;width: 76%; text-align: left&quot;&gt;Operating lease cost&lt;/td&gt;&lt;td style=&quot;width: 1%&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;width: 1%; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;width: 9%; text-align: right&quot;&gt;32,814&lt;/td&gt;&lt;td style=&quot;width: 1%; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;width: 1%&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;width: 1%; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;width: 9%; text-align: right&quot;&gt;65,627&lt;/td&gt;&lt;td style=&quot;width: 1%; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-align: left; padding-bottom: 1.5pt&quot;&gt;Short-term lease cost (1)&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: right&quot;&gt;36,186&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: right&quot;&gt;80,815&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-align: left; padding-bottom: 4pt&quot;&gt;Total lease cost&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;69,000&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;146,442&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;br/&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0; width: 100%&quot;&gt;&lt;tr style=&quot;vertical-align: top; text-align: justify&quot;&gt;
&lt;td style=&quot;width: 0in&quot;&gt;&lt;/td&gt;&lt;td style=&quot;width: 0.25in; text-align: left&quot;&gt;(1)&lt;/td&gt;&lt;td style=&quot;text-align: justify&quot;&gt;Short-term lease cost includes any lease with a term
of less than 12 months.&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;&lt;br/&gt;&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0&quot;&gt;For the three and six months ended June 30, 2019, the Company&amp;#x2019;s
lease cost consisted of the following components, each of which is included in operating expenses within the Company&amp;#x2019;s condensed
consolidated statements of operations:&lt;/p&gt;&lt;br/&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif&quot;&gt;
&lt;tr style=&quot;vertical-align: bottom&quot;&gt;
    &lt;td&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;font-weight: bold; padding-bottom: 1.5pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td colspan=&quot;2&quot; style=&quot;font-weight: bold; text-align: center; border-bottom: Black 1.5pt solid&quot;&gt;Three&amp;#xa0;Months&lt;br/&gt; Ended &lt;br/&gt;
June 30, &lt;br/&gt;
2019&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt; font-weight: bold&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;font-weight: bold; padding-bottom: 1.5pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td colspan=&quot;2&quot; style=&quot;font-weight: bold; text-align: center; border-bottom: Black 1.5pt solid&quot;&gt;Six&amp;#xa0;Months&lt;br/&gt;
Ended &lt;br/&gt;
June 30, &lt;br/&gt;
2019&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt; font-weight: bold&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom&quot;&gt;
    &lt;td&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td colspan=&quot;2&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td colspan=&quot;2&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;width: 76%; text-align: left&quot;&gt;Operating lease cost&lt;/td&gt;&lt;td style=&quot;width: 1%&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;width: 1%; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;width: 9%; text-align: right&quot;&gt;32,591&lt;/td&gt;&lt;td style=&quot;width: 1%; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;width: 1%&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;width: 1%; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;width: 9%; text-align: right&quot;&gt;64,175&lt;/td&gt;&lt;td style=&quot;width: 1%; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-align: left; padding-bottom: 1.5pt&quot;&gt;Short-term lease cost (1)&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: right&quot;&gt;9,951&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: right&quot;&gt;18,892&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-align: left; padding-bottom: 4pt&quot;&gt;Total lease cost&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;42,542&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;83,067&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;br/&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0; width: 100%&quot;&gt;&lt;tr style=&quot;vertical-align: top; text-align: justify&quot;&gt;
&lt;td style=&quot;width: 0in&quot;&gt;&lt;/td&gt;&lt;td style=&quot;width: 0.25in; text-align: left&quot;&gt;(1)&lt;/td&gt;&lt;td style=&quot;text-align: justify&quot;&gt;Short-term lease cost includes any lease with a term
of less than 12 months.&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;&lt;br/&gt;&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0&quot;&gt;The table below presents the future minimum lease payments to
be made under operating leases as of June 30, 2020:&lt;/p&gt;&lt;br/&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif&quot;&gt;
&lt;tr style=&quot;vertical-align: bottom&quot;&gt;
    &lt;td style=&quot;text-align: left; font-weight: bold; border-bottom: Black 1.5pt solid&quot;&gt;As of June 30, 2020&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td colspan=&quot;2&quot; style=&quot;text-align: center&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom&quot;&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td colspan=&quot;2&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;width: 88%; text-align: left; text-indent: -12pt; padding-left: 12pt&quot;&gt;2020(a)&lt;/td&gt;&lt;td style=&quot;width: 1%&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;width: 1%; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;width: 9%; text-align: right&quot;&gt;69,119&lt;/td&gt;&lt;td style=&quot;width: 1%; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-align: left; text-indent: -12pt; padding-left: 12pt&quot;&gt;2021&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;140,367&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-align: left; text-indent: -12pt; padding-left: 12pt&quot;&gt;2022&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;102,367&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-align: left; text-indent: -12pt; padding-left: 12pt&quot;&gt;2023&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;99,209&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-align: left; text-indent: -12pt; padding-left: 12pt&quot;&gt;2024&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;80,375&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-align: left; padding-bottom: 1.5pt; text-indent: -12pt; padding-left: 12pt&quot;&gt;Thereafter&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: right&quot;&gt;70,224&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-align: left; text-indent: -12pt; padding-left: 12pt&quot;&gt;Total&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;561,661&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-align: left; padding-bottom: 1.5pt; text-indent: -12pt; padding-left: 12pt&quot;&gt;Less: imputed interest&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: right&quot;&gt;54,495&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-align: left; padding-bottom: 4pt; text-indent: -12pt; padding-left: 12pt&quot;&gt;Total lease liabilities&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;507,166&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;br/&gt;&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify&quot;&gt;(a) For the six-month period beginning
July 1, 2020.&lt;/p&gt;&lt;br/&gt;&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0&quot;&gt;The weighted average remaining lease term at June 30, 2020 for
operating leases is 4.7 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 $57,019 and $64,175 for the six months ending
June 30, 2020 and 2019, respectively. For the six months ended June 30, 2020 and 2019, payments on lease obligations were $68,900
and $51,937, respectively, and amortization on the right of use assets was $56,357 and $52,592, respectively.&lt;/p&gt;&lt;br/&gt;</us-gaap:LeasesOfLesseeDisclosureTextBlock>
  <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="c2_AsOf30Jun2020">P4Y255D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
  <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent unitRef="pure" contextRef="c2_AsOf30Jun2020" decimals="3">0.045</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
  <oprx:MeasurementOfLeaseLiabilities unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">57019</oprx:MeasurementOfLeaseLiabilities>
  <oprx:MeasurementOfLeaseLiabilities unitRef="usd" contextRef="c42_AsOf30Jun2019" decimals="0">64175</oprx:MeasurementOfLeaseLiabilities>
  <us-gaap:OperatingLeaseLeaseIncomeLeasePayments unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" decimals="0">68900</us-gaap:OperatingLeaseLeaseIncomeLeasePayments>
  <us-gaap:OperatingLeaseLeaseIncomeLeasePayments unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">51937</us-gaap:OperatingLeaseLeaseIncomeLeasePayments>
  <oprx:OperatingLeaseRightOfUseAssetAmortization unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" decimals="0">56357</oprx:OperatingLeaseRightOfUseAssetAmortization>
  <oprx:OperatingLeaseRightOfUseAssetAmortization unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">52592</oprx:OperatingLeaseRightOfUseAssetAmortization>
  <us-gaap:LeaseCostTableTextBlock contextRef="c0_From1Jan2020To30Jun2020">&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif&quot;&gt;
&lt;tr style=&quot;vertical-align: bottom&quot;&gt;
    &lt;td&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;font-weight: bold; padding-bottom: 1.5pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td colspan=&quot;2&quot; style=&quot;font-weight: bold; text-align: center; border-bottom: Black 1.5pt solid&quot;&gt;Three&amp;#xa0;Months&lt;br/&gt; Ended
    &lt;br/&gt;
June 30, &lt;br/&gt;
2020&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt; font-weight: bold&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;font-weight: bold; padding-bottom: 1.5pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td colspan=&quot;2&quot; style=&quot;font-weight: bold; text-align: center; border-bottom: Black 1.5pt solid&quot;&gt;Six&amp;#xa0;Months&lt;br/&gt;
Ended &lt;br/&gt;
June 30, &lt;br/&gt;
2020&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt; font-weight: bold&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom&quot;&gt;
    &lt;td&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td colspan=&quot;2&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td colspan=&quot;2&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;width: 76%; text-align: left&quot;&gt;Operating lease cost&lt;/td&gt;&lt;td style=&quot;width: 1%&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;width: 1%; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;width: 9%; text-align: right&quot;&gt;32,814&lt;/td&gt;&lt;td style=&quot;width: 1%; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;width: 1%&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;width: 1%; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;width: 9%; text-align: right&quot;&gt;65,627&lt;/td&gt;&lt;td style=&quot;width: 1%; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-align: left; padding-bottom: 1.5pt&quot;&gt;Short-term lease cost (1)&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: right&quot;&gt;36,186&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: right&quot;&gt;80,815&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-align: left; padding-bottom: 4pt&quot;&gt;Total lease cost&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;69,000&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;146,442&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif&quot;&gt;
&lt;tr style=&quot;vertical-align: bottom&quot;&gt;
    &lt;td&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;font-weight: bold; padding-bottom: 1.5pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td colspan=&quot;2&quot; style=&quot;font-weight: bold; text-align: center; border-bottom: Black 1.5pt solid&quot;&gt;Three&amp;#xa0;Months&lt;br/&gt; Ended &lt;br/&gt;
June 30, &lt;br/&gt;
2019&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt; font-weight: bold&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;font-weight: bold; padding-bottom: 1.5pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td colspan=&quot;2&quot; style=&quot;font-weight: bold; text-align: center; border-bottom: Black 1.5pt solid&quot;&gt;Six&amp;#xa0;Months&lt;br/&gt;
Ended &lt;br/&gt;
June 30, &lt;br/&gt;
2019&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt; font-weight: bold&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom&quot;&gt;
    &lt;td&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td colspan=&quot;2&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td colspan=&quot;2&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;width: 76%; text-align: left&quot;&gt;Operating lease cost&lt;/td&gt;&lt;td style=&quot;width: 1%&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;width: 1%; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;width: 9%; text-align: right&quot;&gt;32,591&lt;/td&gt;&lt;td style=&quot;width: 1%; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;width: 1%&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;width: 1%; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;width: 9%; text-align: right&quot;&gt;64,175&lt;/td&gt;&lt;td style=&quot;width: 1%; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-align: left; padding-bottom: 1.5pt&quot;&gt;Short-term lease cost (1)&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: right&quot;&gt;9,951&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: right&quot;&gt;18,892&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-align: left; padding-bottom: 4pt&quot;&gt;Total lease cost&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;42,542&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;83,067&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;font: 10pt Times New Roman, Times, Serif; margin-top: 0; margin-bottom: 0; width: 100%&quot;&gt;&lt;tr style=&quot;vertical-align: top; text-align: justify&quot;&gt;
&lt;td style=&quot;width: 0in&quot;&gt;&lt;/td&gt;&lt;td style=&quot;width: 0.25in; text-align: left&quot;&gt;(1)&lt;/td&gt;&lt;td style=&quot;text-align: justify&quot;&gt;Short-term lease cost includes any lease with a term
of less than 12 months.&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;</us-gaap:LeaseCostTableTextBlock>
  <us-gaap:OperatingLeaseCost unitRef="usd" contextRef="c4_From1Apr2020To30Jun2020" decimals="0">32814</us-gaap:OperatingLeaseCost>
  <us-gaap:OperatingLeaseCost unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" decimals="0">65627</us-gaap:OperatingLeaseCost>
  <us-gaap:ShortTermLeaseCost id="_ShortTermLeaseCost-c4_From1Apr2020To30Jun2020_usd" unitRef="usd" contextRef="c4_From1Apr2020To30Jun2020" decimals="0">36186</us-gaap:ShortTermLeaseCost>
  <us-gaap:ShortTermLeaseCost id="_ShortTermLeaseCost-c0_From1Jan2020To30Jun2020_usd" unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" decimals="0">80815</us-gaap:ShortTermLeaseCost>
  <us-gaap:LeaseCost unitRef="usd" contextRef="c4_From1Apr2020To30Jun2020" decimals="0">69000</us-gaap:LeaseCost>
  <us-gaap:LeaseCost unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" decimals="0">146442</us-gaap:LeaseCost>
  <us-gaap:OperatingLeaseCost unitRef="usd" contextRef="c5_From1Apr2019To30Jun2019" decimals="0">32591</us-gaap:OperatingLeaseCost>
  <us-gaap:OperatingLeaseCost unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">64175</us-gaap:OperatingLeaseCost>
  <us-gaap:ShortTermLeaseCost id="_ShortTermLeaseCost-c5_From1Apr2019To30Jun2019_usd" unitRef="usd" contextRef="c5_From1Apr2019To30Jun2019" decimals="0">9951</us-gaap:ShortTermLeaseCost>
  <us-gaap:ShortTermLeaseCost id="_ShortTermLeaseCost-c6_From1Jan2019To30Jun2019_usd" unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">18892</us-gaap:ShortTermLeaseCost>
  <us-gaap:LeaseCost unitRef="usd" contextRef="c5_From1Apr2019To30Jun2019" decimals="0">42542</us-gaap:LeaseCost>
  <us-gaap:LeaseCost unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">83067</us-gaap:LeaseCost>
  <us-gaap:ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock contextRef="c0_From1Jan2020To30Jun2020">&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif&quot;&gt;
&lt;tr style=&quot;vertical-align: bottom&quot;&gt;
    &lt;td style=&quot;text-align: left; font-weight: bold; border-bottom: Black 1.5pt solid&quot;&gt;As of June 30, 2020&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td colspan=&quot;2&quot; style=&quot;text-align: center&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom&quot;&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td colspan=&quot;2&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;width: 88%; text-align: left; text-indent: -12pt; padding-left: 12pt&quot;&gt;2020(a)&lt;/td&gt;&lt;td style=&quot;width: 1%&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;width: 1%; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;width: 9%; text-align: right&quot;&gt;69,119&lt;/td&gt;&lt;td style=&quot;width: 1%; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-align: left; text-indent: -12pt; padding-left: 12pt&quot;&gt;2021&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;140,367&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-align: left; text-indent: -12pt; padding-left: 12pt&quot;&gt;2022&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;102,367&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-align: left; text-indent: -12pt; padding-left: 12pt&quot;&gt;2023&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;99,209&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-align: left; text-indent: -12pt; padding-left: 12pt&quot;&gt;2024&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;80,375&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-align: left; padding-bottom: 1.5pt; text-indent: -12pt; padding-left: 12pt&quot;&gt;Thereafter&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: right&quot;&gt;70,224&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-align: left; text-indent: -12pt; padding-left: 12pt&quot;&gt;Total&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;561,661&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-align: left; padding-bottom: 1.5pt; text-indent: -12pt; padding-left: 12pt&quot;&gt;Less: imputed interest&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: right&quot;&gt;54,495&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-align: left; padding-bottom: 4pt; text-indent: -12pt; padding-left: 12pt&quot;&gt;Total lease liabilities&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;507,166&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify&quot;&gt;(a) For the six-month period beginning
July 1, 2020.&lt;/p&gt;</us-gaap:ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock>
  <us-gaap:OperatingLeasesFutureMinimumPaymentsDueCurrent id="_OperatingLeasesFutureMinimumPaymentsDueCurrent-c2_AsOf30Jun2020_usd" unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">69119</us-gaap:OperatingLeasesFutureMinimumPaymentsDueCurrent>
  <us-gaap:OperatingLeasesFutureMinimumPaymentsDueInTwoYears unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">140367</us-gaap:OperatingLeasesFutureMinimumPaymentsDueInTwoYears>
  <us-gaap:OperatingLeasesFutureMinimumPaymentsDueInThreeYears unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">102367</us-gaap:OperatingLeasesFutureMinimumPaymentsDueInThreeYears>
  <us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFourYears unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">99209</us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFourYears>
  <us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFiveYears unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">80375</us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFiveYears>
  <us-gaap:OperatingLeasesFutureMinimumPaymentsDueThereafter unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">70224</us-gaap:OperatingLeasesFutureMinimumPaymentsDueThereafter>
  <us-gaap:OperatingLeasesFutureMinimumPaymentsDue unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">561661</us-gaap:OperatingLeasesFutureMinimumPaymentsDue>
  <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">54495</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
  <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue unitRef="usd" contextRef="c2_AsOf30Jun2020" decimals="0">507166</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
  <us-gaap:StockholdersEquityNoteDisclosureTextBlock contextRef="c0_From1Jan2020To30Jun2020">&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0&quot;&gt;NOTE 4 &amp;#x2013; STOCKHOLDERS&amp;#x2019; EQUITY&lt;/p&gt;&lt;br/&gt;&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0&quot;&gt;During the quarters ended June 30, 2020, and March 31, 2020
we issued 55,731 shares and 35,032 shares of our common stock, respectively, and received proceeds of $174,775 and $112,117, respectively,
in connection with the exercise of stock options under our 2013 equity compensation plan.&lt;/p&gt;&lt;br/&gt;&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0&quot;&gt;During the quarters ended June 30, 2019 and March 31, 2019,
we issued 60,295 shares and 101,878 shares of our common stock, respectively, and received proceeds of $214,314 and $343,785, respectively,
in connection with the exercise of stock options under our 2013 equity compensation plan. We also issued 130,001 shares of our
common stock in the quarter ended March 31, 2019 in connection with restricted stock awards awarded in 2018.&lt;/p&gt;&lt;br/&gt;&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0&quot;&gt;We also issued 42,374 shares in the six months ended June 30,
2020 in connection with restricted stock awards as described in more detail in Note 5 &amp;#x2013; Stock Based Compensation.&lt;/p&gt;&lt;br/&gt;&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0&quot;&gt;Our Director Compensation Plan calls for issuance of shares
of common stock each quarter to each independent director. In 2020, we issued 11,136 shares valued at $100,000 in the quarter ended
March 31, 2020 and 7,748 shares valued at $100,027 in the quarter ended June 30, 2020. In 2019, we issued 8,336 shares each quarter,
valued at $106,834 and $135,043 for the quarters ended March 31, and June 30, respectively.&lt;/p&gt;&lt;br/&gt;&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0&quot;&gt;During the quarter ended June 30, 2019, in an underwritten primary
offering, we issued 1,769,275 shares of our common stock for gross proceeds of $23,000,575. In connection with this transaction,
we incurred equity issuance costs of $1,696,749 related to payments to the underwriter, advisors and legal fees associated with
the transaction, resulting in net proceeds to the Company of $21,303,826.&lt;/p&gt;&lt;br/&gt;</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
  <oprx:IssuedSharesOfCommonStockInConnectionWithCashlessExercise unitRef="shares" contextRef="c0_From1Jan2020To30Jun2020" decimals="INF">55731</oprx:IssuedSharesOfCommonStockInConnectionWithCashlessExercise>
  <oprx:IssuedSharesOfCommonStockInConnectionWithCashlessExercise unitRef="shares" contextRef="c12_From1Jan2020To31Mar2020" decimals="INF">35032</oprx:IssuedSharesOfCommonStockInConnectionWithCashlessExercise>
  <us-gaap:ProceedsFromIssuanceOrSaleOfEquity unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" decimals="0">174775</us-gaap:ProceedsFromIssuanceOrSaleOfEquity>
  <us-gaap:ProceedsFromIssuanceOrSaleOfEquity unitRef="usd" contextRef="c12_From1Jan2020To31Mar2020" decimals="0">112117</us-gaap:ProceedsFromIssuanceOrSaleOfEquity>
  <oprx:IssuedSharesOfCommonStockInConnectionWithCashlessExercise unitRef="shares" contextRef="c6_From1Jan2019To30Jun2019" decimals="INF">60295</oprx:IssuedSharesOfCommonStockInConnectionWithCashlessExercise>
  <oprx:IssuedSharesOfCommonStockInConnectionWithCashlessExercise unitRef="shares" contextRef="c29_From1Jan2019To31Mar2019" decimals="INF">101878</oprx:IssuedSharesOfCommonStockInConnectionWithCashlessExercise>
  <us-gaap:ProceedsFromIssuanceOrSaleOfEquity unitRef="usd" contextRef="c43_From1Jan2019To30Jun2019_DirectorMember" decimals="0">214314</us-gaap:ProceedsFromIssuanceOrSaleOfEquity>
  <us-gaap:ProceedsFromIssuanceOrSaleOfEquity unitRef="usd" contextRef="c44_From1Jan2019To31Mar2019_DirectorMember" decimals="0">343785</us-gaap:ProceedsFromIssuanceOrSaleOfEquity>
  <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross unitRef="shares" contextRef="c29_From1Jan2019To31Mar2019" decimals="INF">130001</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
  <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross unitRef="shares" contextRef="c0_From1Jan2020To30Jun2020" decimals="INF">42374</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
  <oprx:IssuedSharesOfCommonStockInConnectionWithCashlessExercise unitRef="shares" contextRef="c45_From1Jan2020To31Mar2020_DirectorMember" decimals="INF">11136</oprx:IssuedSharesOfCommonStockInConnectionWithCashlessExercise>
  <us-gaap:ProceedsFromIssuanceOrSaleOfEquity unitRef="usd" contextRef="c45_From1Jan2020To31Mar2020_DirectorMember" decimals="0">100000</us-gaap:ProceedsFromIssuanceOrSaleOfEquity>
  <oprx:IssuedSharesOfCommonStockInConnectionWithCashlessExercise unitRef="shares" contextRef="c46_From1Jan2020To31Mar2020_BoardOfDirectorsChairmanMember_DirectorMember" decimals="INF">7748</oprx:IssuedSharesOfCommonStockInConnectionWithCashlessExercise>
  <us-gaap:ProceedsFromIssuanceOrSaleOfEquity unitRef="usd" contextRef="c47_From1Jan2020To30Jun2020_BoardOfDirectorsChairmanMember_DirectorMember" decimals="0">100027</us-gaap:ProceedsFromIssuanceOrSaleOfEquity>
  <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross unitRef="shares" contextRef="c48_From1Jan2020To30Jun2020_DirectorMember" decimals="INF">8336</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
  <us-gaap:StockIssuedDuringPeriodValueOther unitRef="usd" contextRef="c49_From1Jan2019To31Mar2019_IndependentDirectorOneMember" decimals="0">106834</us-gaap:StockIssuedDuringPeriodValueOther>
  <us-gaap:StockIssuedDuringPeriodValueOther unitRef="usd" contextRef="c50_From1Jan2019To30Jun2019_IndependentDirectorOneMember" decimals="0">135043</us-gaap:StockIssuedDuringPeriodValueOther>
  <oprx:SharesOfCommonStockDescription contextRef="c6_From1Jan2019To30Jun2019">an underwritten primary offering, we issued 1,769,275 shares of our common stock for gross proceeds of $23,000,575. In connection with this transaction, we incurred equity issuance costs of $1,696,749 related to payments to the underwriter, advisors and legal fees associated with the transaction, resulting in net proceeds to the Company of $21,303,826.</oprx:SharesOfCommonStockDescription>
  <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="c0_From1Jan2020To30Jun2020">&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0&quot;&gt;NOTE 5 &amp;#x2013; STOCK BASED COMPENSATION&lt;/p&gt;&lt;br/&gt;&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0&quot;&gt;We use the fair value method to account for stock-based compensation.
We recorded $1,021,787 and $907,109 in compensation expense in the six months ended June 30, 2020 and 2019, respectively, related
to options issued under our stock-based incentive compensation plan. 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.
The fair value of these instruments was calculated using the Black-Scholes option pricing model. There is $1,867,549 of remaining
expense related to unvested options to be recognized in the future over a weighted average remaining period of approximately 1.3
years. The total intrinsic value of outstanding options at June 30, 2020 was $12,281,047.&lt;/p&gt;&lt;br/&gt;&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0&quot;&gt;The company also recorded expense related to restricted stock
awards of $413,369 and $31,290 for the six months ended June 30, 2020 and 2019, respectively. As of June 30, 2020, there was $1,039,157
of remaining expense related to unvested restricted stock awards to be recognized in the future related to 132,374 shares of restricted
stock awards that were unvested at June 30, 2020. A total of 42,374 shares related to these restricted stock awards vested in 2020
and were issued during the six months ended June 30, 2020.&lt;/p&gt;&lt;br/&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
  <us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount unitRef="usd" contextRef="c51_From1Jan2020To30Jun2020_StockCompensationPlanMember" decimals="0">1021787</us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount>
  <us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount unitRef="usd" contextRef="c52_From1Jan2019To30Jun2019_StockCompensationPlanMember" decimals="0">907109</us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount>
  <us-gaap:StockOptionPlanExpense unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" decimals="0">1867549</us-gaap:StockOptionPlanExpense>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1 contextRef="c0_From1Jan2020To30Jun2020">P1Y109D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue unitRef="usd" contextRef="c0_From1Jan2020To30Jun2020" decimals="0">12281047</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
  <us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount unitRef="usd" contextRef="c53_From1Jan2020To30Jun2020_RestrictedStockMember" decimals="0">413369</us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount>
  <us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount unitRef="usd" contextRef="c6_From1Jan2019To30Jun2019" decimals="0">31290</us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount>
  <us-gaap:StockOptionPlanExpense unitRef="usd" contextRef="c54_From1Jan2019To30Jun2019_RestrictedStockMember" decimals="0">1039157</us-gaap:StockOptionPlanExpense>
  <oprx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisable unitRef="shares" contextRef="c53_From1Jan2020To30Jun2020_RestrictedStockMember" decimals="INF">132374</oprx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisable>
  <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross unitRef="shares" contextRef="c53_From1Jan2020To30Jun2020_RestrictedStockMember" decimals="INF">42374</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
  <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="c0_From1Jan2020To30Jun2020">&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0&quot;&gt;NOTE 6 &amp;#x2013; CONTINGENCIES&lt;/p&gt;&lt;br/&gt;&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0&quot;&gt;&lt;i&gt;Litigation&lt;/i&gt;&lt;/p&gt;&lt;br/&gt;&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0&quot;&gt;The Company is not currently involved in any legal proceedings.&lt;/p&gt;&lt;br/&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
  <us-gaap:EarningsPerShareTextBlock contextRef="c0_From1Jan2020To30Jun2020">&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0&quot;&gt;NOTE 7 &amp;#x2013; EARNINGS (LOSS) PER SHARE&lt;/p&gt;&lt;br/&gt;&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0&quot;&gt;The following table sets forth the computation of basic and
diluted earnings (loss) per share.&lt;/p&gt;&lt;br/&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif&quot;&gt;
&lt;tr style=&quot;vertical-align: bottom&quot;&gt;
    &lt;td style=&quot;text-indent: -0.125in; padding-left: 0.125in; text-align: center&quot;&gt;&lt;b&gt;&amp;#xa0;&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&lt;b&gt;&amp;#xa0;&lt;/b&gt;&lt;/td&gt;
    &lt;td colspan=&quot;6&quot; style=&quot;text-align: center; border-bottom: Black 1.5pt solid&quot;&gt;&lt;b&gt;Three Months Ended &lt;br/&gt; June 30,&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&lt;b&gt;&amp;#xa0;&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&lt;b&gt;&amp;#xa0;&lt;/b&gt;&lt;/td&gt;
    &lt;td colspan=&quot;6&quot; style=&quot;text-align: center; border-bottom: Black 1.5pt solid&quot;&gt;&lt;b&gt;Six Months Ended&lt;br/&gt; June 30,&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&lt;b&gt;&amp;#xa0;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom&quot;&gt;
    &lt;td style=&quot;text-indent: -0.125in; padding-left: 0.125in; text-align: center&quot;&gt;&lt;b&gt;&amp;#xa0;&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&lt;b&gt;&amp;#xa0;&lt;/b&gt;&lt;/td&gt;
    &lt;td colspan=&quot;2&quot; style=&quot;text-align: center; border-bottom: Black 1.5pt solid&quot;&gt;&lt;b&gt;2020&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&lt;b&gt;&amp;#xa0;&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&lt;b&gt;&amp;#xa0;&lt;/b&gt;&lt;/td&gt;
    &lt;td colspan=&quot;2&quot; style=&quot;text-align: center; border-bottom: Black 1.5pt solid&quot;&gt;&lt;b&gt;2019&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&lt;b&gt;&amp;#xa0;&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&lt;b&gt;&amp;#xa0;&lt;/b&gt;&lt;/td&gt;
    &lt;td colspan=&quot;2&quot; style=&quot;text-align: center; border-bottom: Black 1.5pt solid&quot;&gt;&lt;b&gt;2020&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&lt;b&gt;&amp;#xa0;&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&lt;b&gt;&amp;#xa0;&lt;/b&gt;&lt;/td&gt;
    &lt;td colspan=&quot;2&quot; style=&quot;text-align: center; border-bottom: Black 1.5pt solid&quot;&gt;&lt;b&gt;2019&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&lt;b&gt;&amp;#xa0;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-indent: -0.125in; padding-left: 0.125in&quot;&gt;Numerator&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-indent: -0.125in; padding-left: 0.125in; width: 52%; text-align: left; padding-bottom: 4pt&quot;&gt;Net income (loss)&lt;/td&gt;&lt;td style=&quot;width: 1%; padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;width: 1%; border-bottom: Black 4pt double; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;width: 9%; border-bottom: Black 4pt double; text-align: right&quot;&gt;(1,077,468&lt;/td&gt;&lt;td style=&quot;width: 1%; padding-bottom: 4pt; text-align: left&quot;&gt;)&lt;/td&gt;&lt;td style=&quot;width: 1%; padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;width: 1%; border-bottom: Black 4pt double; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;width: 9%; border-bottom: Black 4pt double; text-align: right&quot;&gt;406,617&lt;/td&gt;&lt;td style=&quot;width: 1%; padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;width: 1%; padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;width: 1%; border-bottom: Black 4pt double; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;width: 9%; border-bottom: Black 4pt double; text-align: right&quot;&gt;(3,281,399&lt;/td&gt;&lt;td style=&quot;width: 1%; padding-bottom: 4pt; text-align: left&quot;&gt;)&lt;/td&gt;&lt;td style=&quot;width: 1%; padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;width: 1%; border-bottom: Black 4pt double; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;width: 9%; border-bottom: Black 4pt double; text-align: right&quot;&gt;413,146&lt;/td&gt;&lt;td style=&quot;width: 1%; padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-indent: -0.125in; padding-left: 0.125in&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-indent: -0.125in; padding-left: 0.125in&quot;&gt;Denominator&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-indent: -0.125in; padding-left: 0.125in&quot;&gt;Weighted average shares outstanding used in computing earnings per share&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-indent: -0.125in; padding-left: 0.25in; padding-bottom: 4pt&quot;&gt;Basic&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;14,667,216&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;12,743,379&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;14,638,359&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;12,412,442&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-indent: -0.125in; padding-left: 0.25in; text-align: left; padding-bottom: 1.5pt&quot;&gt;Effect of dilutive stock options, warrants, and unvested restricted stock awards&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: right&quot;&gt;-&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: right&quot;&gt;1,063,382&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: right&quot;&gt;-&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: right&quot;&gt;1,055,120&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-indent: -0.125in; padding-left: 0.25in; padding-bottom: 4pt&quot;&gt;Diluted&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;14,667,216&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;13,806,761&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;14,638,359&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;13,467,562&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-indent: -0.125in; padding-left: 0.125in&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-indent: -0.125in; padding-left: 0.125in&quot;&gt;Earnings (loss) per share&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-indent: -0.125in; padding-left: 0.25in; padding-bottom: 4pt&quot;&gt;Basic&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;(0.07&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;)&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;0.03&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;(0.22&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;)&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;0.03&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-indent: -0.125in; padding-left: 0.25in; padding-bottom: 4pt&quot;&gt;Diluted&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;(0.07&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;)&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;0.03&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;(0.22&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;)&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;0.03&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;br/&gt;&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify&quot;&gt;No calculation of diluted earnings per
share is included for 2020 as the effect of the calculation would be antidilutive. The number of common shares potentially issuable
upon the exercise of certain options that were excluded from the diluted loss per common share calculation in 2020 was 826,777
and 782,575 shares in the three and six months ended June 30, 2020, respectively, related to options, and 132,374 shares related
to restricted stock for the three and six months ended June 30, 2020. This results in total shares excluded from the calculation
of 959,151 and 914,949 for the three and six month periods ended June 30, 2020, respectively.&lt;/p&gt;&lt;br/&gt;</us-gaap:EarningsPerShareTextBlock>
  <oprx:DilutedLossPerCommonShare unitRef="shares" contextRef="c55_From1Apr2020To30Jun2020_StockOptionMember" decimals="INF">826777</oprx:DilutedLossPerCommonShare>
  <oprx:DilutedLossPerCommonShare unitRef="shares" contextRef="c56_From1Jan2020To30Jun2020_RestrictedStockMember" decimals="INF">782575</oprx:DilutedLossPerCommonShare>
  <oprx:DilutedLossPerCommonShare unitRef="shares" contextRef="c57_From1Apr2020To30Jun2020_RestrictedStockMember" decimals="INF">132374</oprx:DilutedLossPerCommonShare>
  <oprx:DilutedLossPerCommonShare unitRef="shares" contextRef="c53_From1Jan2020To30Jun2020_RestrictedStockMember" decimals="INF">132374</oprx:DilutedLossPerCommonShare>
  <oprx:DilutedLossPerCommonShare unitRef="shares" contextRef="c4_From1Apr2020To30Jun2020" decimals="INF">959151</oprx:DilutedLossPerCommonShare>
  <oprx:DilutedLossPerCommonShare unitRef="shares" contextRef="c0_From1Jan2020To30Jun2020" decimals="INF">914949</oprx:DilutedLossPerCommonShare>
  <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="c0_From1Jan2020To30Jun2020">&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;border-collapse: collapse; width: 100%; font: 10pt Times New Roman, Times, Serif&quot;&gt;
&lt;tr style=&quot;vertical-align: bottom&quot;&gt;
    &lt;td style=&quot;text-indent: -0.125in; padding-left: 0.125in; text-align: center&quot;&gt;&lt;b&gt;&amp;#xa0;&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&lt;b&gt;&amp;#xa0;&lt;/b&gt;&lt;/td&gt;
    &lt;td colspan=&quot;6&quot; style=&quot;text-align: center; border-bottom: Black 1.5pt solid&quot;&gt;&lt;b&gt;Three Months Ended &lt;br/&gt; June 30,&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&lt;b&gt;&amp;#xa0;&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&lt;b&gt;&amp;#xa0;&lt;/b&gt;&lt;/td&gt;
    &lt;td colspan=&quot;6&quot; style=&quot;text-align: center; border-bottom: Black 1.5pt solid&quot;&gt;&lt;b&gt;Six Months Ended&lt;br/&gt; June 30,&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&lt;b&gt;&amp;#xa0;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom&quot;&gt;
    &lt;td style=&quot;text-indent: -0.125in; padding-left: 0.125in; text-align: center&quot;&gt;&lt;b&gt;&amp;#xa0;&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&lt;b&gt;&amp;#xa0;&lt;/b&gt;&lt;/td&gt;
    &lt;td colspan=&quot;2&quot; style=&quot;text-align: center; border-bottom: Black 1.5pt solid&quot;&gt;&lt;b&gt;2020&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&lt;b&gt;&amp;#xa0;&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&lt;b&gt;&amp;#xa0;&lt;/b&gt;&lt;/td&gt;
    &lt;td colspan=&quot;2&quot; style=&quot;text-align: center; border-bottom: Black 1.5pt solid&quot;&gt;&lt;b&gt;2019&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&lt;b&gt;&amp;#xa0;&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&lt;b&gt;&amp;#xa0;&lt;/b&gt;&lt;/td&gt;
    &lt;td colspan=&quot;2&quot; style=&quot;text-align: center; border-bottom: Black 1.5pt solid&quot;&gt;&lt;b&gt;2020&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&lt;b&gt;&amp;#xa0;&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&lt;b&gt;&amp;#xa0;&lt;/b&gt;&lt;/td&gt;
    &lt;td colspan=&quot;2&quot; style=&quot;text-align: center; border-bottom: Black 1.5pt solid&quot;&gt;&lt;b&gt;2019&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&lt;b&gt;&amp;#xa0;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-indent: -0.125in; padding-left: 0.125in&quot;&gt;Numerator&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-indent: -0.125in; padding-left: 0.125in; width: 52%; text-align: left; padding-bottom: 4pt&quot;&gt;Net income (loss)&lt;/td&gt;&lt;td style=&quot;width: 1%; padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;width: 1%; border-bottom: Black 4pt double; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;width: 9%; border-bottom: Black 4pt double; text-align: right&quot;&gt;(1,077,468&lt;/td&gt;&lt;td style=&quot;width: 1%; padding-bottom: 4pt; text-align: left&quot;&gt;)&lt;/td&gt;&lt;td style=&quot;width: 1%; padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;width: 1%; border-bottom: Black 4pt double; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;width: 9%; border-bottom: Black 4pt double; text-align: right&quot;&gt;406,617&lt;/td&gt;&lt;td style=&quot;width: 1%; padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;width: 1%; padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;width: 1%; border-bottom: Black 4pt double; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;width: 9%; border-bottom: Black 4pt double; text-align: right&quot;&gt;(3,281,399&lt;/td&gt;&lt;td style=&quot;width: 1%; padding-bottom: 4pt; text-align: left&quot;&gt;)&lt;/td&gt;&lt;td style=&quot;width: 1%; padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;width: 1%; border-bottom: Black 4pt double; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;width: 9%; border-bottom: Black 4pt double; text-align: right&quot;&gt;413,146&lt;/td&gt;&lt;td style=&quot;width: 1%; padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-indent: -0.125in; padding-left: 0.125in&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-indent: -0.125in; padding-left: 0.125in&quot;&gt;Denominator&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-indent: -0.125in; padding-left: 0.125in&quot;&gt;Weighted average shares outstanding used in computing earnings per share&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-indent: -0.125in; padding-left: 0.25in; padding-bottom: 4pt&quot;&gt;Basic&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;14,667,216&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;12,743,379&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;14,638,359&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;12,412,442&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-indent: -0.125in; padding-left: 0.25in; text-align: left; padding-bottom: 1.5pt&quot;&gt;Effect of dilutive stock options, warrants, and unvested restricted stock awards&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: right&quot;&gt;-&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: right&quot;&gt;1,063,382&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: right&quot;&gt;-&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 1.5pt solid; text-align: right&quot;&gt;1,055,120&lt;/td&gt;&lt;td style=&quot;padding-bottom: 1.5pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-indent: -0.125in; padding-left: 0.25in; padding-bottom: 4pt&quot;&gt;Diluted&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;14,667,216&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;13,806,761&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;14,638,359&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;13,467,562&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-indent: -0.125in; padding-left: 0.125in&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-indent: -0.125in; padding-left: 0.125in&quot;&gt;Earnings (loss) per share&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: right&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-indent: -0.125in; padding-left: 0.25in; padding-bottom: 4pt&quot;&gt;Basic&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;(0.07&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;)&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;0.03&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;(0.22&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;)&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;0.03&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;vertical-align: bottom; &quot;&gt;
    &lt;td style=&quot;text-indent: -0.125in; padding-left: 0.25in; padding-bottom: 4pt&quot;&gt;Diluted&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;(0.07&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;)&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;0.03&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;(0.22&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;)&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt&quot;&gt;&amp;#xa0;&lt;/td&gt;
    &lt;td style=&quot;border-bottom: Black 4pt double; text-align: left&quot;&gt;$&lt;/td&gt;&lt;td style=&quot;border-bottom: Black 4pt double; text-align: right&quot;&gt;0.03&lt;/td&gt;&lt;td style=&quot;padding-bottom: 4pt; text-align: left&quot;&gt;&amp;#xa0;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
  <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic unitRef="shares" contextRef="c4_From1Apr2020To30Jun2020" decimals="INF">14667216</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
  <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic unitRef="shares" contextRef="c5_From1Apr2019To30Jun2019" decimals="INF">12743379</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
  <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic unitRef="shares" contextRef="c0_From1Jan2020To30Jun2020" decimals="INF">14638359</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
  <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic unitRef="shares" contextRef="c6_From1Jan2019To30Jun2019" decimals="INF">12412442</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
  <oprx:EffectOfDilutiveStockOptionsWarrantsAndStockGrants unitRef="shares" contextRef="c5_From1Apr2019To30Jun2019" decimals="INF">1063382</oprx:EffectOfDilutiveStockOptionsWarrantsAndStockGrants>
  <oprx:EffectOfDilutiveStockOptionsWarrantsAndStockGrants unitRef="shares" contextRef="c6_From1Jan2019To30Jun2019" decimals="INF">1055120</oprx:EffectOfDilutiveStockOptionsWarrantsAndStockGrants>
  <us-gaap:ScheduleOfSubsequentEventsTextBlock contextRef="c0_From1Jan2020To30Jun2020">&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0&quot;&gt;NOTE 8 &amp;#x2013; SUBSEQUENT EVENTS&lt;/p&gt;&lt;br/&gt;&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0&quot;&gt;In July 2020, we received proceeds of $193,768 and issued 64,261
shares of common stock in conjunction with the exercise of stock options.&lt;/p&gt;&lt;br/&gt;&lt;p style=&quot;font: 10pt Times New Roman, Times, Serif; margin: 0pt 0&quot;&gt;In accordance with ASC 855-10, we have analyzed events and transactions
that occurred subsequent to June&amp;#xa0;30, 2020 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;&lt;br/&gt;</us-gaap:ScheduleOfSubsequentEventsTextBlock>
  <oprx:ProceedsFormNetReceived unitRef="usd" contextRef="c58_From2Jul2020To31Jul2020_SubsequentEventMember" decimals="0">193768</oprx:ProceedsFormNetReceived>
  <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised unitRef="shares" contextRef="c58_From2Jul2020To31Jul2020_SubsequentEventMember" decimals="INF">64261</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
</xbrl>
