|
EHR Licensing
|
This Complete EHR is 2011 Edition compliant and has been certified by an ONC-ACB in accordance with the applicable certification criteria adopted by the Secretary of the U.S. Department of Health and Human Services. This certification does not represent an endorsement by the U.S. Department of Health and Human Services or guarantee the receipt of incentive payments. Vendor: Open Dental Software. Date Certified: 6/6/2013. Product Version:13.1. Certification ID number: 08182011-1177-6. Clinical Quality Measures Certified: NQF0013, NQF0018, NQF0024, NQF0028, NQF0038, NQF0041, NQF0043, NQF0061, NQF0421. No additional software used. |
http://www.ada.org/sections/professionalResources/pdfs/arra_hitech_ehr.pdf
Using a certified software will allow some providers to receive incentive payments of approximately $60,000 total over 5 years. Most ordinary dental offices, however, will not qualify for government incentives. The incentives mostly apply to pediatrics, community health centers, federally qualified health centers, rural health clinics, etc. To qualify, the provider must see at least 30% Medicaid patients and must meet other specific qualification criteria which can be found here: http://www.cms.gov/EHRIncentivePrograms/
The fee for the Open Dental EHR is $60/provider/month in addition to the ordinary monthly support Fees. The purpose of the fees is to help cover the significant initial and ongoing costs of recertification as well as to support development of features that will allow providers to more easily meet Meaningful Use (MU). As the incentive program winds down in a few years, we plan to phase out these extra fees.
For year one, with Medicaid, you only need to purchase a certified EHR, but you do not need to actually use it. A signed contract indicating that the provider has purchased EHR software is sufficient. This is explained in section 5 of this document: http://www.cms.gov/Final_Rule.pdf. So you will purchase version 11.0, 12.4, or 13.1, but you will use any version of Open Dental (or even hold off on using it until year two, if you wish).
Starting in year two, when you need to demonstrate Meaningful Use (MU), you will need to only use a certified version of Open Dental. Versions may not be certified immediately, so you will need to be careful when you upgrade. Currently, only versions 11.0, 12.4, and 13.1 are certified.
Purchase
Download and fill out this form
EHR_PurchaseForm.doc
After submitting the form, it may take up to a full business day of back and forth communication before you will be able to proceed to full setup.
Setup
After purchase, follow these steps to get the EHR module functional. Some steps can be done ahead of time if desired.
1. Go to Setup, Show Features. Check the EHR box at the bottom. Click OK twice and restart the program.
2. Go to Setup, EHR, Quarterly Keys. Enter the quarterly key that we supplied to you.
3. Make sure that every provider (dentist) is attached to a user. This is done in the Security window. Double click on a user and then select a provider from the list to attach to that user. Providers will be logging in to use the CPOE window as well as to run EHR reports. Once every provider is attached to a user, exit the security window. You can double check your entries in the Providers window, where more people will be able to see the links between users and providers.
4. In the Providers window, look in the Patients count column. Make sure that all patients are assigned to a provider that will be using the EHR. If there are patients assigned to other providers, you will not be able to access the EHR module for those patients. Reassign patients to other primary providers if necessary using the tool on the right side of the Providers window.
5. In the Provider Edit window for each provider, at the middle left, enter the provider EHR Keys that we supplied to you.
Submitting to CMS
To obtain your Certification ID number when filling out your incentive form, go to the CMS website http://onc-chpl.force.com/ehrcert. Click "2011 Edition". Click "Ambulatory Practice Type". Search for Open Dental. Add to Cart on either 11.0 or 12.4. Click "Get CMS EHR Certification ID". The Certification ID that you get should be one of the following:
Version 11.0: 30000004QGKAEAI
Version 12.4: A000001D5DYJEAR
Version 13.1: (not yet posted to the CMS website)
EHR Consultants
There are EHR Consulting Companies that specialize in assisting customers with choosing EHR software, implementing it, and negotiating the incentive process.
Eligibility
Existing customers may use these queries to help answer eligibility questions:
/*EHR query split by provider */
SET @FromDate='2011-01-01' , @ToDate='2011-03-31';
/*Percent of appointments by insurance carrier, for each provider, and the medicaid percentages for a time period to determine EHR eligibility (this query works for current Open Dental users as well as post conversion and trial conversions: if there was no claim for a particular procedure, assumes if patient has insurance currently that the patient had it at time of appointment): Count and % of appointments (or dates where procedures were completed) by carrier over given period, adds up to more or less than 100% because there can be more than one carrier per patient and because non insurance patients are not on the list (although their appointments are part of the denominator for the % appointments) */
/*Adjust above Dates AS needed*/
SELECT A.ProvNum,A.CarrierName,A.GroupName,COUNT(DISTINCT A.PatNum) AS 'Patients',
COUNT(DISTINCT A.ProcDate,A.PatNum,A.ProvNum) AS Appointments,
FORMAT((COUNT(DISTINCT A.ProcDate,A.PatNum,A.ProvNum)/(SELECT COUNT(DISTINCT B.ProcDate,B.PatNum,B.ProvNum)
FROM (
/*Where claim exists, considered an encounter for carrier on the claim*/
SELECT ca.CarrierName AS CarrierName,ip.GroupName,pl.PatNum,pl.ProcDate,pl.ProvNum
FROM procedurelog pl
INNER JOIN claimproc cp ON cp.ProcNum=pl.ProcNum
INNER JOIN claim cl ON cl.ClaimNum=cp.ClaimNum AND cl.ClaimType!='PreAuth'
INNER JOIN insplan ip ON ip.PlanNum=cl.PlanNum
INNER JOIN carrier ca ON ca.CarrierNum=ip.CarrierNum
INNER JOIN inssub ib ON ib.InsSubNum=cl.InsSubNum
WHERE pl.ProcDate BETWEEN @FromDate AND @ToDate
AND pl.ProcStatus=2/*Complete*/
UNION ALL
/*Where claims do NOT exist but insurance currently does
Could count visit twice if patient currently has more than one ins plan*/
SELECT ca.CarrierName AS CarrierName,ip.GroupName,pl.PatNum,pl.ProcDate,pl.ProvNum
FROM procedurelog pl
INNER JOIN patplan pp ON pp.PatNum=pl.PatNum
INNER JOIN inssub ib ON pp.InsSubNum=ib.InsSubNum
INNER JOIN insplan ip ON ib.PlanNum=ip.PlanNum
INNER JOIN carrier ca ON ca.CarrierNum=ip.CarrierNum
LEFT JOIN claimproc cp ON cp.ProcNum=pl.ProcNum
WHERE pl.ProcDate BETWEEN @FromDate AND @ToDate
AND pl.ProcStatus=2/*Complete*/
AND (ISNULL(cp.ProcNum) OR cp.ClaimNum=0)/*No claim attached to this procedure*/
UNION ALL
/*Where claims do NOT exist AND insurance currently does NOT exist*/
SELECT 'NoIns' AS CarrierName,'N/A' AS GroupName,pl.PatNum,pl.ProcDate,pl.ProvNum
FROM procedurelog pl
LEFT JOIN claimproc cp ON cp.ProcNum=pl.ProcNum
LEFT JOIN patplan pp ON pp.PatNum=pl.PatNum/*No patplan entry=no current ins*/
WHERE pl.ProcDate BETWEEN @FromDate AND @ToDate
AND pl.ProcStatus=2/*Complete*/
AND (ISNULL(cp.ProcNum) OR cp.ClaimNum=0)/*No claim attached to this procedure*/
AND ISNULL(pp.PatNum)/*No current insurance plan for this patient*/
) B WHERE B.ProvNum=A.ProvNum))*100,1) AS '% of visits (by Provider)'
FROM (
/*Where claim exists, considered an encounter for carrier on the claim*/
SELECT ca.CarrierName AS CarrierName,ip.GroupName,pl.PatNum,pl.ProcDate,pl.ProvNum
FROM procedurelog pl
INNER JOIN claimproc cp ON cp.ProcNum=pl.ProcNum
INNER JOIN claim cl ON cl.ClaimNum=cp.ClaimNum AND cl.ClaimType!='PreAuth'
INNER JOIN insplan ip ON ip.PlanNum=cl.PlanNum
INNER JOIN carrier ca ON ca.CarrierNum=ip.CarrierNum
INNER JOIN inssub ib ON ib.InsSubNum=cl.InsSubNum
WHERE pl.ProcDate BETWEEN @FromDate AND @ToDate
AND pl.ProcStatus=2/*Complete*/
UNION ALL
/*Where claims do NOT exist but insurance currently does
Could count visit twice if patient currently has more than one ins plan*/
SELECT ca.CarrierName AS CarrierName,ip.GroupName,pl.PatNum,pl.ProcDate,pl.ProvNum
FROM procedurelog pl
INNER JOIN patplan pp ON pp.PatNum=pl.PatNum
INNER JOIN inssub ib ON pp.InsSubNum=ib.InsSubNum
INNER JOIN insplan ip ON ib.PlanNum=ip.PlanNum
INNER JOIN carrier ca ON ca.CarrierNum=ip.CarrierNum
LEFT JOIN claimproc cp ON cp.ProcNum=pl.ProcNum
WHERE pl.ProcDate BETWEEN @FromDate AND @ToDate
AND pl.ProcStatus=2/*Complete*/
AND (ISNULL(cp.ProcNum) OR cp.ClaimNum=0)/*No claim attached to this procedure*/
UNION ALL
/*Where claims do NOT exist AND insurance currently does NOT exist*/
SELECT 'NoIns' AS CarrierName,'N/A' AS GroupName,pl.PatNum,pl.ProcDate,pl.ProvNum
FROM procedurelog pl
LEFT JOIN claimproc cp ON cp.ProcNum=pl.ProcNum
LEFT JOIN patplan pp ON pp.PatNum=pl.PatNum/*No patplan entry=no current ins*/
WHERE pl.ProcDate BETWEEN @FromDate AND @ToDate
AND pl.ProcStatus=2/*Complete*/
AND (ISNULL(cp.ProcNum) OR cp.ClaimNum=0)/*No claim attached to this procedure*/
AND ISNULL(pp.PatNum)/*No current insurance plan for this patient*/
) A
GROUP BY A.ProvNum,A.CarrierName,A.GroupName
ORDER BY A.ProvNum,A.CarrierName,A.GroupName;
This query will show encounter details like procedure date and procedure fees for the encounters that compose the above query results:
/*EHR query split by provider and encounter */
SET @FromDate='2013-01-05' , @ToDate='2013-01-07';/*<----Adjust Dates AS needed*/
/*Provider,Carrier,Patient,Subscriber ID, and Date of Service in Date Range with Procedure Fees.
There may or may not be a claim for the procedures with the given carrier, proc fees, and date of service.
We have to include procedures completed in the date range if the patient currently has an insurance plan,
but may or may not have had it at the time of the procedures. A patient may also have more than one
insurance carrier, as in primary and secondary insurance. In this case, the procedure fees will appear in the
$ProcFees_ column for both insurance carrier. There may be more than one subscriberID in a concatenated list of ID's. If there is not a claim for the procedures and the patient does not currently have insurance, the carrier
name will be 'NoIns' and the SubscriberIDs will be N/A.*/
SELECT B.ProvNum,B.CarrierName,B.GroupName,B.PatNum,B.SubscriberIDs,B.ProcDate,
SUM(pl.ProcFee*(pl.UnitQty+pl.BaseUnits)) AS $ProcFees_,
SUM(B.InsPayAmt) AS $InsPayAmt_
FROM (
SELECT A.ProvNum,A.CarrierName,A.GroupName,A.PatNum,
GROUP_CONCAT(DISTINCT A.SubscriberID) AS SubscriberIDs,
A.ProcDate,A.ProcNum,SUM(A.InsPayAmt) AS InsPayAmt
FROM (
/*Where claim exists, considered an encounter for carrier on the claim*/
SELECT ca.CarrierName AS CarrierName,ip.GroupName,pl.PatNum,pl.ProcDate,pl.ProvNum,
ib.SubscriberID AS SubscriberID,pl.ProcNum,cp.InsPayAmt AS InsPayAmt
FROM procedurelog pl
INNER JOIN claimproc cp ON cp.ProcNum=pl.ProcNum
INNER JOIN claim cl ON cl.ClaimNum=cp.ClaimNum AND cl.ClaimType!='PreAuth'
INNER JOIN insplan ip ON ip.PlanNum=cl.PlanNum
INNER JOIN carrier ca ON ca.CarrierNum=ip.CarrierNum
INNER JOIN inssub ib ON ib.InsSubNum=cl.InsSubNum
WHERE pl.ProcDate BETWEEN @FromDate AND @ToDate
AND pl.ProcStatus=2/*Complete*/
UNION ALL
/*Where claims do NOT exist but insurance currently does*/
SELECT ca.CarrierName AS CarrierName,ip.GroupName,pl.PatNum,pl.ProcDate,pl.ProvNum,
ib.SubscriberID AS SubscriberID,pl.ProcNum,0 AS InsPayAmt
FROM procedurelog pl
INNER JOIN patplan pp ON pp.PatNum=pl.PatNum
INNER JOIN inssub ib ON pp.InsSubNum=ib.InsSubNum
INNER JOIN insplan ip ON ib.PlanNum=ip.PlanNum
INNER JOIN carrier ca ON ca.CarrierNum=ip.CarrierNum
LEFT JOIN claimproc cp ON cp.ProcNum=pl.ProcNum
WHERE pl.ProcDate BETWEEN @FromDate AND @ToDate
AND pl.ProcStatus=2/*Complete*/
AND (ISNULL(cp.ProcNum) OR cp.ClaimNum=0)/*No claim attached to this procedure*/
UNION ALL
/*Where claims do NOT exist AND insurance currently does NOT exist*/
SELECT 'NoIns' AS CarrierName,'N/A' AS GroupName,pl.PatNum,pl.ProcDate,pl.ProvNum,
'N/A' AS SubscriberID,pl.ProcNum,0 /*No InsPayAmt*/
FROM procedurelog pl
LEFT JOIN claimproc cp ON cp.ProcNum=pl.ProcNum
LEFT JOIN patplan pp ON pp.PatNum=pl.PatNum/*No patplan entry=no current ins*/
WHERE pl.ProcDate BETWEEN @FromDate AND @ToDate
AND pl.ProcStatus=2/*Complete*/
AND (ISNULL(cp.ProcNum) OR cp.ClaimNum=0)/*No claim attached to this procedure*/
AND ISNULL(pp.PatNum)/*No current insurance plan for this patient*/
) A
GROUP BY A.ProvNum,A.CarrierName,A.PatNum,A.ProcDate,A.ProcNum
) B
INNER JOIN procedurelog pl ON pl.ProcNum=B.ProcNum
GROUP BY B.ProvNum,B.CarrierName,B.PatNum,B.ProcDate
ORDER BY B.ProvNum,B.CarrierName,B.ProcDate;
Usage
See EHR Usage.
|