<?xml version="1.0" encoding="utf-8"?>
<FilingSummary xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Version>2.4.1.9</Version>
  <ProcessingTime />
  <ReportFormat>Html</ReportFormat>
  <ContextCount>173</ContextCount>
  <ElementCount>259</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>41</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>4</UnitCount>
  <MyReports>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>001 - Document - Document and Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/DocumentAndEntityInformation</Role>
      <ShortName>Document and Entity Information</ShortName>
    </Report>
    <Report>
      <IsDefault>true</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>002 - Statement - Balance Sheets (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/BalanceSheetsUnaudited</Role>
      <ShortName>Balance Sheets (Unaudited)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>003 - Statement - Balance Sheets (Unaudited) (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/BalanceSheetsUnauditedParenthetical</Role>
      <ShortName>Balance Sheets (Unaudited) (Parenthetical)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>004 - Statement - Consolidated Statements of Operations (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/ConsolidatedStatementsOfOperationsUnaudited</Role>
      <ShortName>Consolidated Statements of Operations (Unaudited)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>005 - Statement - Consolidated Statement of Stockholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/ConsolidatedStatementOfStockholdersEquity</Role>
      <ShortName>Consolidated Statement of Stockholders' Equity</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>006 - Statement - Consolidated Statements of Cash Flows (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/ConsolidatedStatementsOfCashFlowsUnaudited</Role>
      <ShortName>Consolidated Statements of Cash Flows (Unaudited)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>007 - Disclosure - Nature of Business And Basis Of Presentation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/NatureOfBusinessAndBasisOfPresentation</Role>
      <ShortName>Nature of Business And Basis Of Presentation</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>008 - Disclosure - Stockholders Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/StockholdersEquity</Role>
      <ShortName>Stockholders Equity</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>009 - Disclosure - Share Based Payments   Options</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/ShareBasedPaymentsOptions</Role>
      <ShortName>Share Based Payments   Options</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>010 - Disclosure - Summary of Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/SummaryOfSignificantAccountingPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>011 - Disclosure - Prepaid Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/PrepaidExpenses</Role>
      <ShortName>Prepaid Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>012 - Disclosure - Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/Contingencies</Role>
      <ShortName>Contingencies</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>013 - Disclosure - Restatement</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/Restatement</Role>
      <ShortName>Restatement</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>014 - Disclosure - Property and Equipment</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/PropertyAndEquipment</Role>
      <ShortName>Property and Equipment</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>015 - Disclosure - Web Based Technology</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/WebBasedTechnology</Role>
      <ShortName>Web Based Technology</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>016 - Disclosure - Patent and Trademarks</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/PatentAndTrademarks</Role>
      <ShortName>Patent and Trademarks</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>017 - Disclosure - Deferred Revenue</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/DeferredRevenue</Role>
      <ShortName>Deferred Revenue</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>018 - Disclosure - Related Party Transactions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/RelatedPartyTransactions</Role>
      <ShortName>Related Party Transactions</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>019 - Disclosure - Preferred Stock</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/PreferredStock</Role>
      <ShortName>Preferred Stock</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>020 - Disclosure - Stock Options and Warrants</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/StockOptionsAndWarrants</Role>
      <ShortName>Stock Options and Warrants</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>021 - Disclosure - Warrants</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/Warrants</Role>
      <ShortName>Warrants</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>022 - Disclosure - Operating Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/OperatingLeases</Role>
      <ShortName>Operating Leases</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>023 - Disclosure - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/IncomeTaxes</Role>
      <ShortName>Income Taxes</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>024 - Disclosure - Major Customers</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/MajorCustomers</Role>
      <ShortName>Major Customers</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>025 - Disclosure - Subsequent Events</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/SubsequentEvents</Role>
      <ShortName>Subsequent Events</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>026 - Disclosure - Summary of Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/SummaryofSignificantAccountingPoliciesPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies (Policies)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>027 - Disclosure - Summary of Significant Accounting Policies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/SummaryofSignificantAccountingPoliciesTables</Role>
      <ShortName>Summary of Significant Accounting Policies (Tables)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>028 - Disclosure - Prepaid Expenses (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/PrepaidExpensesTables</Role>
      <ShortName>Prepaid Expenses (Tables)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>029 - Disclosure - Property and Equipment (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/PropertyandEquipmentTables</Role>
      <ShortName>Property and Equipment (Tables)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>030 - Disclosure - Web Based Technology (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/WebBasedTechnologyTables</Role>
      <ShortName>Web Based Technology (Tables)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>031 - Disclosure - Restatement (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/RestatementTables</Role>
      <ShortName>Restatement (Tables)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>032 - Disclosure - Patent and Trademarks (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/PatentandTrademarksTables</Role>
      <ShortName>Patent and Trademarks (Tables)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>033 - Disclosure - Stock Options and Warrants (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/StockOptionsAndWarrantsTables</Role>
      <ShortName>Stock Options and Warrants (Tables)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>034 - Disclosure - Warrants (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/WarrantsTables</Role>
      <ShortName>Warrants (Tables)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>035 - Disclosure - Operating Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/OperatingLeasesTables</Role>
      <ShortName>Operating Leases (Tables)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>036 - Disclosure - Major Customers (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/MajorCustomersTables</Role>
      <ShortName>Major Customers (Tables)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>037 - Disclosure - Income Taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/IncomeTaxesTables</Role>
      <ShortName>Income Taxes (Tables)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>038 - Disclosure - Nature of Business (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/NatureOfBusinessDetails</Role>
      <ShortName>Nature of Business (Details)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>039 - Disclosure - Stockholders Equity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/StockholdersEquityDetails</Role>
      <ShortName>Stockholders Equity (Details)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>040 - Disclosure - Share Based Payments   Options (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/ShareBasedPaymentsOptionsDetails</Role>
      <ShortName>Share Based Payments   Options (Details)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>041 - Disclosure - Summary of Significant Accounting Policies (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/SummaryofSignificantAccountingPoliciesDetails</Role>
      <ShortName>Summary of Significant Accounting Policies (Details)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>042 - Disclosure - Summary of Significant Accounting Policies (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/SummaryOfSignificantAccountingPoliciesDetailsTextual</Role>
      <ShortName>Summary of Significant Accounting Policies (Details Textual)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>043 - Disclosure - Contingencies (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/ContingenciesDetails</Role>
      <ShortName>Contingencies (Details)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>044 - Disclosure - Restatement (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/RestatementDetails</Role>
      <ShortName>Restatement (Details)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>045 - Disclosure - Prepaid Expenses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/PrepaidExpensesDetails</Role>
      <ShortName>Prepaid Expenses (Details)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>046 - Disclosure - Property and Equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/PropertyandEquipmentDetails</Role>
      <ShortName>Property and Equipment (Details)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>047 - Disclosure - Property and Equipment (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/PropertyAndEquipmentDetailsTextual</Role>
      <ShortName>Property and Equipment (Details Textual)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>048 - Disclosure - Web Based Technology (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/WebBasedTechnologyDetails</Role>
      <ShortName>Web Based Technology (Details)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>049 - Disclosure - Web Based Technology (Details Textuals)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/WebBasedTechnologyDetailsTextuals</Role>
      <ShortName>Web Based Technology (Details Textuals)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>050 - Disclosure - Patent and Trademarks (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/PatentandTrademarksDetails</Role>
      <ShortName>Patent and Trademarks (Details)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>051 - Disclosure - Patent and Trademarks (Details Textuals)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/PatentAndTrademarksDetailsTextuals</Role>
      <ShortName>Patent and Trademarks (Details Textuals)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>052 - Disclosure - Deferred Revenue (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/DeferredRevenueDetails</Role>
      <ShortName>Deferred Revenue (Details)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>053 - Disclosure - Related Party Transactions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/RelatedPartyTransactionsDetails</Role>
      <ShortName>Related Party Transactions (Details)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>054 - Disclosure - Preferred Stock (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/PreferredStockdetails</Role>
      <ShortName>Preferred Stock (Details)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>055 - Disclosure - Stock Options and Warrants (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/StockOptionsAndWarrantsDetails</Role>
      <ShortName>Stock Options and Warrants (Details)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>056 - Disclosure - Stock Options and Warrants (Detail Textuals)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/StockOptionsAndWarrantsDetailTextuals</Role>
      <ShortName>Stock Options and Warrants (Detail Textuals)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>057 - Disclosure - Warrants (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/WarrantsDetails</Role>
      <ShortName>Warrants (Details)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>058 - Disclosure - Warrants (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/WarrantsDetails1</Role>
      <ShortName>Warrants (Details 1)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>059 - Disclosure - Warrants (Details Textuals)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/WarrantsDetailsTextuals</Role>
      <ShortName>Warrants (Details Textuals)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>060 - Disclosure - Operating Leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/OperatingLeasesDetails</Role>
      <ShortName>Operating Leases (Details)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>061 - Disclosure - Major Customers (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/MajorCustomersDetails</Role>
      <ShortName>Major Customers (Details)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>062 - Disclosure - Major Customers (Detail Textuals)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/MajorCustomersDetailTextuals</Role>
      <ShortName>Major Customers (Detail Textuals)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>063 - Disclosure - Income Taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/IncomeTaxesDetails</Role>
      <ShortName>Income Taxes (Details)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>064 - Disclosure - Income Taxes (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/IncomeTaxesDetails1</Role>
      <ShortName>Income Taxes (Details 1)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>065 - Disclosure - Income Taxes (Detail Textuals)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/IncomeTaxesDetailTextuals</Role>
      <ShortName>Income Taxes (Detail Textuals)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>066 - Disclosure - Subsequent Events (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://OPRX/role/SubsequentEventsDetails</Role>
      <ShortName>Subsequent Events (Details)</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <Logs>
    <Log type="Info">Element invest_InvestmentWarrantsExercisePrice had a mix of decimals attribute values: 0 2.</Log>
    <Log type="Info">Element oprx_PatentRights had a mix of decimals attribute values: 0 3.</Log>
    <Log type="Info">Element oprx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentWeightedAverageExercise had a mix of decimals attribute values: 0 2.</Log>
    <Log type="Info">Element oprx_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentWeightedAverageGranted had a mix of decimals attribute values: 0 2.</Log>
    <Log type="Info">Element us-gaap_DebtInstrumentConvertibleConversionPrice1 had a mix of decimals attribute values: 0 2.</Log>
    <Log type="Info">Element us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice had a mix of decimals attribute values: 0 2.</Log>
    <Log type="Info">Columns in Cash Flows statement 'Consolidated Statements of Cash Flows (Unaudited) (USD $)' have maximum duration 364 days and at least 27 values. Shorter duration columns must have at least one fourth (6) as many values. Column '1/1/2013 - 9/30/2013' is shorter (272 days) and has only 5 values, so it is being removed.</Log>
    <Log type="Info">Columns in Cash Flows statement 'Consolidated Statements of Cash Flows (Unaudited) (USD $)' have maximum duration 364 days and at least 27 values. Shorter duration columns must have at least one fourth (6) as many values. Column '1/1/2014 - 9/30/2014' is shorter (272 days) and has only 5 values, so it is being removed.</Log>
    <Log type="Info">Columns in Cash Flows statement 'Consolidated Statements of Cash Flows (Unaudited) (USD $)' have maximum duration 364 days and at least 27 values. Shorter duration columns must have at least one fourth (6) as many values. Column '1/1/2014 - 6/30/2014' is shorter (180 days) and has only 5 values, so it is being removed.</Log>
    <Log type="Info">Columns in Cash Flows statement 'Consolidated Statements of Cash Flows (Unaudited) (USD $)' have maximum duration 364 days and at least 27 values. Shorter duration columns must have at least one fourth (6) as many values. Column '7/1/2013 - 9/30/2013' is shorter (91 days) and has only 1 values, so it is being removed.</Log>
    <Log type="Info">Columns in Cash Flows statement 'Consolidated Statements of Cash Flows (Unaudited) (USD $)' have maximum duration 364 days and at least 27 values. Shorter duration columns must have at least one fourth (6) as many values. Column '4/1/2014 - 6/30/2014' is shorter (90 days) and has only 2 values, so it is being removed.</Log>
    <Log type="Info">Columns in Cash Flows statement 'Consolidated Statements of Cash Flows (Unaudited) (USD $)' have maximum duration 364 days and at least 27 values. Shorter duration columns must have at least one fourth (6) as many values. Column '7/1/2014 - 9/30/2014' is shorter (91 days) and has only 1 values, so it is being removed.</Log>
    <Log type="Info">Process Flow-Through: 002 - Statement - Balance Sheets (Unaudited)</Log>
    <Log type="Info">	Process Flow-Through: Removing column 'Sep. 30, 2014'</Log>
    <Log type="Info">	Process Flow-Through: Removing column 'Jun. 30, 2014'</Log>
    <Log type="Info">	Process Flow-Through: Removing column 'Mar. 31, 2014'</Log>
    <Log type="Info">	Process Flow-Through: Removing column 'Sep. 30, 2013'</Log>
    <Log type="Info">	Process Flow-Through: Removing column 'Dec. 31, 2012'</Log>
    <Log type="Info">Process Flow-Through: 003 - Statement - Balance Sheets (Unaudited) (Parenthetical)</Log>
    <Log type="Info">	Process Flow-Through: Removing column 'Oct. 31, 2014'</Log>
    <Log type="Info">Process Flow-Through: 004 - Statement - Consolidated Statements of Operations (Unaudited)</Log>
    <Log type="Info">	Process Flow-Through: Removing column '3 Months Ended
Sep. 30, 2014'</Log>
    <Log type="Info">	Process Flow-Through: Removing column '3 Months Ended
Jun. 30, 2014'</Log>
    <Log type="Info">	Process Flow-Through: Removing column '3 Months Ended
Sep. 30, 2013'</Log>
    <Log type="Info">	Process Flow-Through: Removing column '6 Months Ended
Jun. 30, 2014'</Log>
    <Log type="Info">	Process Flow-Through: Removing column '9 Months Ended
Sep. 30, 2014'</Log>
    <Log type="Info">	Process Flow-Through: Removing column '9 Months Ended
Sep. 30, 2013'</Log>
    <Log type="Info">Process Flow-Through: 006 - Statement - Consolidated Statements of Cash Flows (Unaudited)</Log>
  </Logs>
  <InputFiles>
    <File>oprx-20150331.xml</File>
    <File>oprx-20150331.xsd</File>
    <File>oprx-20150331_cal.xml</File>
    <File>oprx-20150331_def.xml</File>
    <File>oprx-20150331_lab.xml</File>
    <File>oprx-20150331_pre.xml</File>
  </InputFiles>
  <SupplementalFiles />
  <BaseTaxonomies />
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
