Fee Schedule Integration Point

This web service supports the initial creation and updating of the fee schedules and the fee schedule lines. The fee schedules (roughly: procedure price lists) are used to price the claim lines.

Design Principles

This interface is implemented by web service messages:

  • If the payload contains an unknown code for an online fee schedule, it results in the creation of a new fee schedule including fee schedule lines.

  • If the payload contains a known code for an online fee schedule, the existing fee schedule including its fee schedule lines is updated (described in more detail in the below sections).

  • The fee schedule lines batch payload has a data file set web service based implementation. This implementation accommodates the loading of very large fee schedule lines, where the volume of data becomes too extensive.

  • In a fee schedule line batch request, if one or more fee schedule lines within a fee schedule cannot be created or updated because of an error, only the fee schedule lines that are functionally the same (lines that have the same values for the attributes that are specified in the Update Mechanism section) as the lines that have an error are not created or updated; other fee schedule lines within the fee schedule are created or updated.

Fee Schedule Online

Request

The HTTP PUT request to: http://[hostName]:[portNumber]/[api-context-root]/feeschedules enables external systems to create/update feeschedules along with the lines.

The following mock XML shows the structure that the application expects for loading of Fee Schedules.

  <feeSchedule
    code=""
    descr=""
    typeCode=""
    pricedMessageCode=""
    modifierEvaluationMessageCode=""
    lineConditionCode=""
    disable=""
    currencyCode=""
  >
    <modifierList
      usage=""
    >
      <modifier
        code=""
      />
    </modifierList>

  <feeScheduleLines>
    <feeScheduleLine
      startDate=""
      endDate=""
      procedureGroupCode=""
      procedureGroup2Code=""
      procedureGroup3Code=""
      contractReferenceCode=""
      providerGroupCode=""
      enabled=""
    >
      <procedure
        code=""
        flexCodeDefinitionCode=""
      />
      <procedure2
        code=""
        flexCodeDefinitionCode=""
      />
      <procedure3
        code=""
        flexCodeDefinitionCode=""
      />

      <organizationProvider
        code=""
        flexCodeDefinitionCode=""
      />
      <amountOrPercentage>
      <feeAmount currencyCode="">
        {value}
        />
        <percentage>
          value
        </percentage>
      </amountOrPercentage>
      <modifierList>
        <modifier
          code=""
        />
      </modifierList>
      <classificationList
        usage=""
      >
        <classification
          code=""
        />
      </classificationList>
    </feeScheduleLine>
  </feeScheduleLines>
</feeSchedule>

Currency

All the fee schedules that specify an amount will have the same currency: a steering currency. If the currency is not specified in the request, the default currency is set on the fee schedule.

Update Mechanism

In case of an update scenario, the fee schedule lines in the request are matched with existing fee schedule lines, based on the following attributes:

  • Procedures

  • Procedure Groups

  • Individual Provider

  • Organization Provider

  • Provider Group

  • Contract Reference

  • Modifiers

  • Classifications and Classification Usage

  • Certain Dynamic Fields

    • Which dynamic fields are part of the matching is specified in the dynamic logic function with signature Fee Schedule Line Duplicity (this function returns a list of dynamic field usage names)

Fee schedule lines in the request and existing fee schedule lines match if they have the same values for the above specified attributes. Based on the matching results, new fee schedule lines are inserted, existing fee schedule lines are updated, existing fee schedule lines are disabled, existing fee schedule lines are end dated and/or existing fee schedule lines are untouched (no changes in auditing columns):

  • The fee schedule lines in the request that do not match any of the existing fee schedule lines are inserted

  • The existing fee schedule lines that do not match any of the fee schedule lines in the request are:

    • Disabled if the Disable indicator in the request is set to Y (default value)

    • Untouched if the Disable indicator in the request is set to N

      • Setting this indicator to N provides the ability to do partial updates on a fee schedule

  • The fee schedule lines in the request that do match with one or more existing fee schedule lines are then further matched on Start Date, End Date, Amount, Percentage and Enabled Indicator to determine the appropriate action:

    • If all attributes match, the existing fee schedule line is untouched (no changes in auditing columns)

    • If the Start Date matches, but End Date, Amount, Percentage and/or Enabled Indicator do not match, the existing fee schedule line is updated with the new End Date, Amount, Percentage and/or Enabled Indicator

    • If the Start Date does not match the fee schedule line is inserted

  • The existing fee schedule lines that do match with fee schedule lines in the request on the above specified attributes (Procedures, Procedure Groups, Providers, etc), but that do not match on the Start Date are disabled, end dated or untouched based on the following checks:

    • If the Start Date of the fee schedule line is later than the earliest Start Date of the set of fee schedule lines in the request that have the same values for the above specified attributes, the fee schedule line is disabled

    • If the End Date of the fee schedule line is earlier than the earliest Start Date of the set of fee schedule lines in the request that have the same values for the above specified attributes, the fee schedule line is untouched (no changes in auditing columns)

    • If the Start Date of the fee schedule line is earlier than the earliest Start Date and the End Date of the fee schedule line is on or later than the earliest Start Date of the set of fee schedule lines in the request that have the same values for the above specified attributes, the fee schedule line is end dated one day prior to the earliest Start Date

A detailed example is provided in the 'Scenarios' section below.

Response

Response messages are created by the OHI application in response to request messages received from external interfaces. Please refer to the 'Response Messages' section in the HTTP API/IP Concepts part of the integration guide for more details.

Authorization

A grant for access restriction 'feeschedules IP’' must be provided to be able to initiate this operation.

Fee Schedule Lines Batch Request

This request enables the handling of multiple write feeschedulelines for a given fee schedule in one go. Because the volume of data can become quite extensive, the input for this process will come from a so called data file set. For more information about how to create a data file set please refer to Data File Set Integration Point.

Fee Schedule line batch elements that are contained in the datafile(s) that are part of the input data file set have the following structure - in here the <feeschedulelines> are the root element of an individual datafile.

This data file has the following structure:

<feeScheduleLines>
    <feeScheduleLine
      startDate=""
      endDate=""
      procedureGroupCode=""
      procedureGroup2Code=""
      procedureGroup3Code=""
      contractReferenceCode=""
      providerGroupCode=""
      enabled=""
      elementId=""
    >
      <procedure
        code=""
        flexCodeDefinitionCode=""
      />
      <procedure2
        code=""
        flexCodeDefinitionCode=""
      />
      <procedure3
        code=""
        flexCodeDefinitionCode=""
      />

      <organizationProvider
        code=""
        flexCodeDefinitionCode=""
      />
      <amountOrPercentage>
      <feeAmount currencyCode="">
        {value}
        />
        <percentage>
          value
        </percentage>
      </amountOrPercentage>
      <modifiers>
        <modifier
          code=""
        />
      </modifierList>
      <classifications
        usage=""
      >
        <classification
          code=""
        />
      </classificationList>
    </feeScheduleLine>
  </feeScheduleLines>

The metadata for the above structure can be accessed on the /[api-context-root]/writefeeschedules/payload/definition as swagger definition.

In the remainder of this description we assume that an input data file set containing at least one datafile with a structure as was outlined above has been created. In order to initiate the fee schedule import process a HTTP POST request to: http://[hostName]:[portNumber]/[api-context-root]/writefeeschedules has to be submitted.

 A write feeschedulelines batch (initiation) request has the following
structure:
{
"feeSchedule" : {
  "code" : "...",
  "descr" : "...",
  "typeCode" : "...",
  "pricedMessageCode" : "...",
  "modifierEvaluationMessageCode" : "...",
  "lineConditionCode" : "...",
  "disable" : "...",
  "currencyCode" : "...",
  "modifierUsage" : "...",
  "modifierList" : [{
     "code" : "...",
   }]
 },
 "dataFileSetCode" : "...",
 "responseDatafileSetCode" : "...",
 }

The response data file set code refers to the data file set that contains the datafile(s) response with feeschedulelines.

Fee Schedule lines Update Mechanism

For more specifics of how the lines are updated refer to the Update Mechanism section above

Response

As is described in Long Running Operations through REST there are multiple ways in which one can get the response/result of this long running operation. Typically though one would opt for using notification events.

A notification message can be sent out to a pre-configured endpoint. The notification endpoint can be configured on 'ohi.activityprocessing.notification.endpoint.FEE_SCH_LINE_IMPORT' or to a more generic endpoint: ohi.activityprocessing.notification.endpoint.

If the notification endpoint is configured on the specific: FEE_SCH_LINE_IMPORT, all other related properties like media type, authentication, etc. are also fetched based on FEE_SCH_LINE_IMPORT, or else defaults are used. Similarly, if the endpoint for the notification is configured without the specific code, then all other properties are fetched on a generic use case code 'ActivityNotificationClient'. Please see section Outbound RESTful Service Invocations in Integration Guide for the process and more properties.

The notification message has the common notification structure as described in the chapter Long Running Operations through REST in the Integration Guide.

The response notification includes a data file set link of the completed writefeeschedule request. This enables an integration pattern that relies on polling progress which allows the user to perform a collection queries over writefeeschedule resources.

The endpoint to which the notification is sent is expected to respond with either an HTTP 200 or 202.

The data file set holds the result of the feeschedulelines with the following mock XML structure:

 <feeScheduleLines>
    <feeScheduleLine
      elementId=""
    >
      <resultMessage
          code=""
        >
       message text
      </resultMessage>
    </feeScheduleLine>
  </feeScheduleLines>

Notes:

  • The <feeScheduleLines> element contains one or more fee schedule lines. Each fee schedule line is identified by the elementId as provided in the request message. Each fee schedule line contains one or more messages which relate to that particular fee schedule line. The response only contains <feeScheduleLine> elements for those fee schedule lines that actually generated error/info messages during processing.

Authorization

A grant for access restriction 'Fee Schedule lines Batch IP’ ' must be provided to be able to initiate this operation.

Fee Schedule Procedure

Request

The fee schedule procedure is a separate IP. It is used to update all the lines pertaining to a particular procedure/modifier combination, without being required to send in the entire set fee schedule lines every time. Since, the updates here are done in an incremental fashion per procedure so it would become cumbersome to consolidate the unchanged lines before sending in the payload which also means that the payload became too extensive. In order to avoid this we make use of this IP.

The HTTP PUT request to: http://[hostName]:[portNumber]/[api-context-root]/feescheduleprocedures enables external systems to create/update feeschedules along with the lines for a particular procedure/modifier.

The following mock XML shows the structure that the application expects for loading of Fee Schedule procedures.

<feeScheduleProcedureRequest>
  <feeSchedule
    code=""
    descr=""
    typeCode=""
    pricedMessageCode=""
    modifierEvaluationMessageCode=""
    lineConditionCode=""
    procedureGroupCode=""
    procedureGroup2Code=""
    procedureGroup3Code=""
    currencyCode=""
  >
    <procedure
      code=""
      flexCodeDefinitionCode=""
    />
    <procedure2
      code=""
      flexCodeDefinitionCode=""
    />
    <procedure3
      code=""
      flexCodeDefinitionCode=""
    />
    <modifierlist
      usage=""
    >
      <modifier
        code=""
      />
    </modifierlist>
    <feeScheduleLines>
      <feeScheduleLine
        contractReferenceCode=""
        providerGroupCode=""
        startDate=""
        endDate=""
        enabled=""
      >

        <organizationProvider
          code=""
          flexCodeDefinitionCode=""
        />
        <amountOrPercentage>
        <feeAmount currencyCode="">
          {value}
           />
        <percentage>
            value
          </percentage>
        </amountOrPercentage>
        <modifierlist>
          <modifier
            code=""
          />
        </modifierlist>
        <classificationlist
          usage=""
        >
          <classification
            code=""
          />
        </classificationlist>
      </feeScheduleLine>
    </feeScheduleLines>
  </feeSchedule>
</feeScheduleProcedureRequest>

Note that the currency is handled in the same way as in fee schedule request.

Update Mechanism

In case of an update scenario, the fee schedule lines in the request are matched with existing fee schedule lines, based on the following attributes:

  • Procedures

  • Procedure Groups

  • Individual Provider

  • Organization Provider

  • Provider Group

  • Contract Reference

  • Modifiers

  • Classifications and Classification Usage

  • Certain Dynamic Fields

    • Which dynamic fields are part of the matching is specified in the dynamic logic function with signature Fee Schedule Line Duplicity (this function returns a list of dynamic field usage names)

Fee schedule lines in the request and existing fee schedule lines match if they have the same values for the above specified attributes. Based on the matching results, new fee schedule lines are inserted, existing fee schedule lines are updated, existing fee schedule lines are disabled, existing fee schedule lines are end dated and/or existing fee schedule lines are untouched (no changes in auditing columns):

  • The fee schedule lines in the request that do not match any of the existing fee schedule lines are inserted

  • The existing fee schedule lines that do not match the Procedures and Procedure Groups of the fee schedule lines in the request are untouched

  • The fee schedule lines in the request that do match with one or more existing fee schedule lines are then further matched on Start Date, End Date, Amount, Percentage and Enabled Indicator to determine the appropriate action:

    • If all attributes match the existing fee schedule line is untouched (no changes in auditing columns)

    • If the Start Date matches, but End Date, Amount, Percentage and/or Enabled Indicator do not match, the fee existing schedule line is updated with the new End Date, Amount, Percentage and/or Enabled Indicator

    • If the Start Date does not match the fee schedule line is inserted

  • The existing fee schedule lines that do match with fee schedule lines in the request on the above specified attributes (Procedures, Procedure Groups, Providers, etc), but that do not match on the Start Date are disabled, end dated or untouched based on the following checks:

    • If the Start Date of the fee schedule line is later than the earliest Start Date of the set of fee schedule lines in the request that have the same values for the above specified attributes, the fee schedule line is disabled

    • If the End Date of the fee schedule line is earlier than the earliest Start Date of the set of fee schedule lines in the request that have the same values for the above specified attributes, the fee schedule line is untouched (no changes in auditing columns)

    • If the Start Date of the fee schedule line is earlier than the earliest Start Date and the End Date of the fee schedule line is on or later than the earliest Start Date of the set of fee schedule lines in the request that have the same values for the above specified attributes, the fee schedule line is end dated one day prior to the earliest Start Date

  • The existing fee schedule lines that do match with fee schedule lines in the request on the Procedures and Procedure Groups, but that do not match on one or more of the other attributes (Providers, Provider Group, Contract Reference, Modifiers, Classifications and Dynamic Fields) are disabled, end dated or untouched based on the following checks:

    • If the Start Date of the fee schedule line is later than the earliest Start Date of the fee schedule lines in the request, the fee schedule line is disabled

    • If the End Date of the fee schedule line is earlier than the earliest Start Date of the fee schedule lines in the request, the fee schedule line is untouched (no changes in auditing columns)

    • If the Start Date of the fee schedule line is earlier than the earliest Start Date and the End Date of the fee schedule line is on or later than the earliest Start Date of the fee schedule lines in the request, the fee schedule line is end dated one day prior to the earliest Start Date

A detailed example is provided in the 'Scenarios' section below.

Response

Response messages are created by the OHI application in response to request messages received from external interfaces. Please refer to the 'Response Messages' section in the HTTP API/IP Concepts part of the integration guide for more details.

Authorization

A grant for access restriction 'feescheduleprocedures IP' must be provided to be able to initiate this operation.

Error Messages

The following error messages that are specific to the fee schedule interface may be returned in the response messages:

Code Severity Message

PRI-IP-FESC-001

Fatal

Procedure identified by code {code} and flex code definition code {code} is unknown

PRI-IP-FESC-002

Fatal

Modifier code {code} is unknown

PRI-IP-FESC-004

Fatal

Message code {code} is unknown

PRI-IP-FESC-005

Fatal

Fee schedule type code {code} is unknown

PRI-IP-FESC-006

Fatal

Condition code {code} is unknown

PRI-IP-FESC-007

Fatal

Classification code {code} is unknown

PRI-IP-FESC-008

Fatal

Procedure group code {code} is unknown

PRI-IP-FESC-009

Fatal

Provider identified by code {code} and flex code definition code {code} is unknown

PRI-IP-FESC-010

Fatal

Provider group code {code} is unknown

PRI-IP-FESC-011

Fatal

Contract reference code {code} is unknown

CLA-HTTP-010

Fatal

Data file set code {code} is unknown

In addition, functional business rule messages may be returned as well as the standard messages related to dynamic fields and dynamic records (refer to the 'Result Messages' section in the Soap Integration Points part of the Common Features book).

Scenarios

Fee Schedule - Creating a new fee schedule

For radiology services a number of procedure codes are recognized. Some of these procedures may have a modifier dependent price. A fee schedule for radiology does not yet exist in OHI Claims and needs to be created. Batch process has been used in the below scenario, but this can also be processed through an online request if the fee schedule lines are less in number.

A new fee schedule is created as below:

Request Message

Fee Schedule Details (part of the long running process /writefeeschedules

Code Description Fee Schedule Type

RADIO_FS

Radiology fee schedule

PER_UNIT_TYPE

Fee Schedule Line Details ( part of the data file)

Procedure Code Enabled? Modifiers Amount Start date End date

CPT-77213

Y

$20

2010-01-01

CPT-77213

Y

TC

$30

2010-01-01

CPT-77213

Y

TC, 26

$40

2010-01-01

CPT-77220

Y

$120

2010-01-01

CPT-77221

Y

$200

2010-01-01

The data file is then processed by the long running process /writefeeschedules.

The following fee schedule is then stored in OHI Claims:

Fee Schedule

Code Description Fee Schedule Type

RADIO_FS

Radiology fee schedule

PER_UNIT_TYPE

Procedure Code Enabled? Modifiers Amount Start date End date

CPT-77213

Y

$20

2010-01-01

CPT-77213

Y

TC

$30

2010-01-01

CPT-77213

Y

TC, 26

$40

2010-01-01

CPT-77220

Y

$120

2010-01-01

CPT-77221

Y

$200

2010-01-01

Fee Schedule Procedure - Updating a fee schedule line (1)

The earlier created radiology fee schedule needs to be extended. In 2011 the price for procedure CPT-77221 is changed. Also, this procedure can then be billed with a modifier which should lead to a different price. The online fee schedule procedure request message is used:

Request Message

FeeScheduleProcedureRequest

Fee Schedule Code Fee Schedule Description Procedure Code

RADIO_FS

Radiology fee schedule

CPT-77221

Enabled? Modifiers Amount Start date End date

Y

$175

2011-01-01

Y

XT

$250

2011-01-01

The fee schedule, which was already stored in OHI Claims, is updated:

Fee Schedule

Code Description Fee Schedule Type

RADIO_FS

Radiology fee schedule

PER_UNIT_TYPE

Procedure Code Enabled? Modifiers Amount Start date End date

CPT-77213

Y

$20

2010-01-01

CPT-77213

Y

TC

$30

2010-01-01

CPT-77213

Y

TC, 26

$40

2010-01-01

CPT-77220

Y

$120

2010-01-01

CPT-77221

Y

$200

2010-01-01

2010-12-31

CPT-77221

Y

$175

2011-01-01

CPT-77221

Y

XT

$250

2011-01-01

Note that only the fee schedule lines with regard to procedure CPT-77221 are changed.

Fee Schedule Procedure - Updating a fee schedule line ( 2)

The earlier created radiology fee schedule needs to be changed. In 2011 procedure CPT-77213 can no longer be billed with modifiers:

Request Message

FeeScheduleProcedureRequest

Fee Schedule Code Fee Schedule Decsription Procedure Code

RADIO_FS

Radiology fee schedule

CPT-77213

Enabled? Modifiers Amount Start date End date

Y

$20

2011-01-01

The fee schedule stored in OHI Claims is updated:

Fee Schedule

Code Description Fee Schedule Type

RADIO_FS

Radiology fee schedule

PER_UNIT_TYPE

Procedure Code Enabled? Modifiers Amount Start date End date

CPT-77213

Y

$20

2010-01-01

2010-12-31

CPT-77213

Y

$20

2011-01-01

CPT-77213

Y

TC

$30

2010-01-01

2010-12-31

CPT-77213

Y

TC, 26

$40

2010-01-01

2010-12-31

CPT-77220

Y

$120

2010-01-01

CPT-77221

Y

$200

2010-01-01

2010-12-31

CPT-77221

Y

$175

2011-01-01

CPT-77221

Y

XT

$250

2011-01-01

From 2011-01-01 onwards, only one fee schedule line with regard to procedure CPT-77213 remains valid.

Fee Schedule - Updating an entire fee schedule

A new radiology fee schedule is to be used in 2012. In the new fee schedule some procedures which were valid before 2012 are no longer included. This is done by sending in the following data as explained in the scenario 'Fee Schedule - Creating a new fee schedule'

Code Description

RADIO_FS

Radiology fee schedule

Procedure Code Enabled? Modifiers Amount Start date End date

CPT-77213

Y

$21

2012-01-01

CPT-77221

Y

$180

2012-01-01

CPT-77221

Y

XT

$263

2012-01-01

All lines of the fee schedule stored in OHI Claims, are ended per the earliest fee schedule line start date. New lines are added, as per the message:

Fee Schedule

Code Description Fee Schedule Type

RADIO_FS

Radiology fee schedule

PER_UNIT_TYPE

Procedure Code Enabled? Modifiers Amount Start date End date

CPT-77213

Y

$20

2010-01-01

2010-12-31

CPT-77213

Y

$20

2011-01-01

2011-12-31

CPT-77213

Y

$21

2012-01-01

CPT-77213

Y

TC

$30

2010-01-01

2011-12-31

CPT-77213

Y

TC, 26

$40

2010-01-01

2011-12-31

CPT-77220

N

$120

2010-01-01

CPT-77221

Y

$200

2010-01-01

2010-12-31

CPT-77221

Y

$175

2011-01-01

2011-12-31

CPT-77221

Y

$180

2012-01-01

CPT-77221

Y

XT

$250

2011-01-01

2011-12-31

CPT-77221

Y

XT

$263

2012-01-01

Fee Schedule - Updating an entire fee schedule

This example demonstrates the update mechanism (matching) when an existing fee schedule is updated using a fee schedule request.

The following fee schedule stored in OHI Claims:

Fee Schedule

Code Description Fee Schedule Type

RADIO_FS

Radiology fee schedule

PER_UNIT_TYPE

Procedure Code Enabled? Modifiers Amount Start date End date

CPT-77213

Y

TC

$20

2010-01-01

CPT-77220

Y

$120

2010-01-01

CPT-77221

Y

$200

2010-01-01

2010-12-31

CPT-77221

Y

$180

2011-01-01

2011-12-31

CPT-77221

Y

$183

2012-01-01

2012-12-31

CPT-77221

Y

$184

2013-01-01

2014-12-31

CPT-77221

Y

$186

2015-01-01

CPT-77221

Y

XT

$250

2011-01-01

2012-12-31

CPT-77221

Y

XT

$263

2013-01-01

CPT-77222

Y

$120

2010-01-01

CPT-77223

Y

$50

2010-01-01

2010-12-31

CPT-77223

Y

$55

2011-01-01

The following fee schedule line data is sent in the data file and is processed using /writefeeschedulelines as explained in scenario 1:

Procedure Code Enabled? Modifiers Amount Start date End date

CPT-77213

Y

$21

2011-01-01

2011-12-31

CPT-77213

Y

$22

2012-01-01

CPT-77221

Y

$180

2011-01-01

2011-12-31

CPT-77221

Y

$182

2012-01-01

2012-12-31

CPT-77221

Y

$184

2013-01-01

2013-12-31

CPT-77221

Y

$186

2014-01-01

2014-12-31

CPT-77221

Y

$190

2016-01-01

CPT-77221

Y

XT

$263

2012-01-01

2012-12-31

CPT-77221

Y

XT

$270

2013-01-01

CPT-77223

N

$50

2010-01-01

2010-12-31

CPT-77223

Y

$55

2011-01-01

The fee schedule is updated in OHI Claims as:

Fee Schedule

Code Description Fee Schedule Type

RADIO_FS

Radiology fee schedule

PER_UNIT_TYPE

Procedure Code Enabled? Modifiers Amount Start date End date Line*

CPT-77213

Y

$21

2011-01-01

2011-12-31

1

CPT-77213

Y

$22

2012-01-01

2

CPT-77213

N

TC

$20

2010-01-01

3

CPT-77220

N

$120

2010-01-01

4

CPT-77221

Y

$200

2010-01-01

2010-12-31

5

CPT-77221

Y

$180

2011-01-01

2011-12-31

6

CPT-77221

Y

$182

2012-01-01

2012-12-31

7

CPT-77221

Y

$184

2013-01-01

2013-12-31

8

CPT-77221

Y

$186

2014-01-01

2014-12-31

9

CPT-77221

N

$186

2015-01-01

10

CPT-77221

Y

$190

2016-01-01

11

CPT-77221

Y

XT

$250

2011-01-01

2011-12-31

12

CPT-77221

Y

XT

$263

2012-01-01

2012-12-31

13

CPT-77221

Y

XT

$270

2013-01-01

14

CPT-77222

N

$120

2010-01-01

15

CPT-77223

N

$50

2010-01-01

2010-12-31

16

CPT-77223

Y

$55

2011-01-01

17

* This is not an attribute of fee schedule lines; it is used to explain the update mechanism (see below)

Explanation:

  1. New line inserted

    • The line in the request did not match with the existing lines (different modifiers)

  2. New line inserted

    • The line in the request did not match with the existing lines (different modifiers)

  3. Existing line disabled

    • The existing line did not match with the lines in the request (different modifiers)

  4. Existing line disabled

    • The existing line did not match with the lines in the request (different procedure)

  5. Existing line untouched

    • The existing line has an end date (2010-12-31) that is earlier than the earliest start date (2011-01-01) of the matching lines in the request

  6. Existing line untouched

    • The line in the request matches with an existing line (all attributes match)

  7. Existing line updated

    • The line in the request matches with an existing line on all attributes except the amount (amount is updated from $183 to $182)

  8. Existing line updated

    • The line in the request matches with an existing line on all attributes except the end date (end date is updated from 2014-12-31 to 2013-12-31)

  9. New line inserted

    • The line in the request does not match on start date with the existing lines

  10. Existing line disabled

    • The existing line has a start date (2015-01-01) that is later than the earliest start date (2011-01-01) of the matching lines in the request

  11. New line inserted

    • The line in the request does not match on start date with the existing lines

  12. Existing line end dated

    • The existing line has a start date (2011-01-01) that is earlier than the earliest start date (2012-01-01) of the matching lines in the request and an end date (2012-12-31) that is later than the earliest start date (2012-01-01) of the matching lines in the request, so the line is end dated one day prior to the earliest start date (2011-12-31)

  13. New line inserted

    • The line in the request does not match on start date with the existing lines

  14. Existing line updated

    • The line in the request matches with an existing line on all attributes except the amount (amount is updated from $263 to $270)

  15. Existing line disabled

    • The existing line did not match with the lines in the request (different procedure)

  16. Existing line updated

    • The line in the request matches with an existing line on all attributes except the enabled indicator (enabled indicator is updated from Y to N)

  17. Existing line untouched

    • The line in the request matches with an existing line (all attributes match)

Fee Schedule Procedure - Updating an entire fee schedule Procedure

This example demonstrates the update mechanism (matching) when an existing fee schedule is updated using an online fee schedule procedure request

The following fee schedule stored in OHI Claims:

Fee Schedule

Code Description Fee Schedule Type

RADIO_FS

Radiology fee schedule

PER_UNIT_TYPE

Procedure Code Enabled? Modifiers Amount Start date End date

CPT-77213

Y

TC

$20

2010-01-01

CPT-77220

Y

$120

2010-01-01

CPT-77221

Y

$200

2010-01-01

2010-12-31

CPT-77221

Y

$180

2011-01-01

2011-12-31

CPT-77221

Y

$183

2012-01-01

2012-12-31

CPT-77221

Y

$184

2013-01-01

2014-12-31

CPT-77221

Y

$186

2015-01-01

CPT-77221

Y

TC

$200

2010-01-01

2010-06-30

CPT-77221

Y

TC

$210

2010-07-01

2011-12-31

CPT-77221

Y

TC

$220

2012-01-01

CPT-77221

Y

XT

$250

2011-01-01

2012-12-31

CPT-77221

Y

XT

$263

2013-01-01

CPT-77222

Y

$120

2010-01-01

CPT-77223

Y

$50

2010-01-01

2010-12-31

CPT-77223

Y

$55

2011-01-01

The following online fee schedule procedure request is sent in:

Request Message

FeeScheduleProcedureRequest

Fee Schedule Code Fee Schedule Description Procedure Code

RADIO_FS

Radiology fee schedule

CPT-77221

Enabled? Modifiers Amount Start date End date

Y

$180

2011-01-01

2011-12-31

Y

$182

2012-01-01

2012-12-31

Y

$184

2013-01-01

2013-12-31

Y

$186

2014-01-01

2014-12-31

Y

$190

2016-01-01

Y

XT

$263

2012-01-01

2012-12-31

Y

XT

$270

2013-01-01

The fee schedule stored in OHI Claims is updated:

Fee Schedule

Code Description Fee Schedule Type

RADIO_FS

Radiology fee schedule

PER_UNIT_TYPE

Procedure Code Enabled? Modifiers Amount Start date End date Line*

CPT-77213

Y

TC

$20

2010-01-01

1

CPT-77220

Y

$120

2010-01-01

2

CPT-77221

Y

$200

2010-01-01

2010-12-31

3

CPT-77221

Y

$180

2011-01-01

2011-12-31

4

CPT-77221

Y

$182

2012-01-01

2012-12-31

5

CPT-77221

Y

$184

2013-01-01

2013-12-31

6

CPT-77221

Y

$186

2014-01-01

2014-12-31

7

CPT-77221

N

$186

2015-01-01

8

CPT-77221

Y

$190

2016-01-01

9

CPT-77221

Y

TC

$200

2010-01-01

2010-06-30

10

CPT-77221

Y

TC

$210

2010-07-01

2010-12-31

11

CPT-77221

N

TC

$220

2012-01-01

12

CPT-77221

Y

XT

$250

2011-01-01

2011-12-31

13

CPT-77221

Y

XT

$263

2012-01-01

2012-12-31

14

CPT-77221

Y

XT

$270

2013-01-01

15

CPT-77222

Y

$120

2010-01-01

16

CPT-77223

Y

$50

2010-01-01

2010-12-31

17

CPT-77223

Y

$55

2011-01-01

18

* This is not an attribute of fee schedule lines; it is used to explain the update mechanism (see below)

Explanation:

  1. Existing line untouched

    • The existing line does not match with the procedure in the request

  2. Existing line untouched

    • The existing line does not match with the procedure in the request

  3. Existing line untouched

    • The existing line has an end date (2010-12-31) that is earlier than the earliest start date (2011-01-01) of the matching lines in the request

  4. Existing line untouched

    • The line in the request matches with an existing line (all attributes match)

  5. Existing line updated

    • The line in the request matches with an existing line on all attributes except the amount (amount is updated from $183 to $182)

  6. Existing line updated

    • The line in the request matches with an existing line on all attributes except the end date (end date is updated from 2014-12-31 to 2013-12-31)

  7. New line inserted

    • The line in the request does not match on start date with the existing lines

  8. Existing line disabled

    • The existing line has a start date (2015-01-01) that is later than the earliest start date (2011-01-01) of the matching lines in the request

  9. New line inserted

    • The line in the request does not match on start date with the existing line

  10. Existing line untouched

    • The existing line has an end date (2010-06-30) that is earlier than the earliest start date (2011-01-01) of the lines in the request

  11. Existing line end dated

    • The existing line has a start date (2010-01-01) that is earlier than the earliest start date (2011-01-01) of the lines in the request and an end date (2011-12-31) that is later than the earliest start date (2011-01-01) of the lines in the request, so the line is end dated one day prior to the earliest start date (2010-12-31)

  12. Existing line disabled

    • The existing line has a start date (2012-01-01) that is later than the earliest start date (2011-01-01) of the lines in the request

  13. Existing line end dated

    • The existing line has a start date (2011-01-01) that is earlier than the earliest start date (2012-01-01) of the matching lines in the request and an end date (2012-12-31) that is later than the earliest start date (2012-01-01) of the matching lines in the request, so the line is end dated one day prior to the earliest start date (2011-12-31)

  14. New line inserted

    • The line in the request does not match on start date with the existing lines

  15. Existing line updated

    • The line in the request matches with an existing line on all attributes except the amount (amount is updated from $263 to $270)

  16. Existing line untouched

    • The existing line does not match with the procedure in the request

  17. Existing line untouched

    • The existing line does not match with the procedure in the request

  18. Existing line untouched

    • The existing line does not match with the procedure in the request

Fee Schedule Procedure - Editing fee schedule lines for a procedure

combination

This example demonstrates the use of online fee schedule procedure request when the request message specifies a particular combination of procedures.

Consider the following existing fee schedule:

Fee Schedule

Code Description Fee Schedule Type

RADIO_FS

Radiology fee schedule

PER_UNIT_TYPE

Procedure Procedure2 Procedure3 Modifiers Amount Start date End date Enabled?

CPT-77213

NDC-123

$ 21

2012-01-01

Y

CPT-77213

NDC-456

TC

$ 35

2012-01-01

Y

CPT-77213

NDC-456

REV-789

$ 37

2012-01-01

Y

CPT-77220

$ 120

2012-01-01

Y

CPT-77221

$ 200

2012-01-01

Y

Then, a online fee schedule procedure request is sent in with updates pertaining only to the combination of CPT-77213 and NDC-456:

Request Message

FeeScheduleProcedureRequest

Fee Schedule Code Fee Schedule Description Procedure Procedure2 Procedure3

RADIO_FS

Radiology fee schedule

NDC-456

CPT-77213

Enabled? Modifiers Amount Start date End date

Y

TC

$ 36

2013-01-01

Y

TC, 26

$ 32

2013-01-01

The existing fee schedule is updated.

Fee Schedule

Code Description Fee Schedule Type

RADIO_FS

Radiology fee schedule

PER_UNIT_TYPE

Procedure Procedure2 Procedure3 Modifiers Amount Start date End date Enabled?

CPT-77213

NDC-123

$ 21

2012-01-01

Y

CPT-77213

NDC-456

TC

$ 35

2012-01-01

2012-12-31

Y

NDC-456

CPT-77213

TC

$ 36

2013-01-01

Y

NDC-456

CPT-77213

TC, 26

$ 32

2013-01-01

Y

CPT-77213

NDC-456

REV-789

$ 37

2012-01-01

Y

CPT-77220

$ 120

2012-01-01

Y

CPT-77221

$ 200

2012-01-01

Y

Only fee schedule lines with the exact combination of procedures specified in the request message are replaced.

Note:

  • The fee schedule line for CPT-77213, NDC-456 and REV-789 is not updated(!). This fee schedule line pertains to a different combination of procedures than specified in the request message, because the fee schedule line also refers to REV-789.

  • Upon matching the combination of procedures specified in the request message to fee schedule lines, it does not matter which procedure is in which field ("Procedure", "Procedure2", "Procedure3"). The combination of "Procedure" NDC-456 and "Procedure2" CPT-77213 is considered equivalent to the combination "Procedure" CPT-77213 and "Procedure2" NDC-456.

  • The field "Procedure" of the request message is stored in the field "Procedure" of the fee schedule line, the field "Procedure2" of the request message is stored in the field "Procedure2" of the fee schedule line, etc. Functionally this has no significance, other than that for on-screen readability it is advisable to always use the same field for a particular procedure definition, especially within a fee schedule. E.g. "Procedure" for REV-codes and "Procedure2" for CPT-codes.

     The use of procedure groups is not included in the example.Including
    procedure groups in the request message works the same way as the procedures. To
    determine the set of fee schedule lines which need to be updated, the
    combination of procedures and procedure groups specified in the request message
    are compared to the lines in the fee schedule. Only the fee schedule lines with
    the exact same combination of procedures and procedure groups will be updated by
    the fee schedule lines specified in the request message.

For example, a request message that specifies procedure "CPT-77213" and procedure group "Surgical REV-codes" will update only those fee schedule lines that specify procedure "CPT-77213", procedure group "Surgical REV-codes" and nothing more. E.g. that request message would not touch existing fee schedule lines that specify only procedure "CPT-77213", nor would it touch lines that specify procedure "CPT-77213", procedure group "Surgical REV-codes" and procedure group "ER REV-codes".