We can perhaps re-use examples and instructions from old v3 of OMOP
https://forums.ohdsi.org/uploads/default/original/1X/2d8b44ea1ee0f9f70427dd2c7332335b8eb6a073.docx
pasting it here
Procedure Cost
The Procedure Cost table captures the cost of a Procedure performed on a Person. The information about the cost is only derived from the amounts paid for the Procedure. This is in contrast to the Drug Cost data which also contain information about the cost.
In addition, Disease Reference Groups, Ambulatory Payment Classifications and Revenue codes are captured. Finally, a reference to the health plan information in the Payer Plan Period table is stored in the record.
Field |
Required |
Type Precision |
Standard |
Description |
procedure_cost_id |
Yes |
integer |
|
A system-generated unique identifier for each procedure cost record. |
procedure_occurrence_id |
Yes |
integer |
|
A foreign key identifier to the procedure record for which cost data are recorded. |
paid_copay |
No |
number(8,2) |
|
The amount paid by the person as a fixed contribution to the expenses. Copay does not contribute to the out_of_pocket expenses. |
paid_coinsurance |
No |
number(8,2) |
|
The amount paid by the person as a joint assumption of risk. Typically, this is a percentage of the expenses defined by the payer plan (policy) after the person’s deductible is exceeded. |
paid_toward_deductible |
No |
number(8,2) |
|
The amount paid by the person that is counted toward the deductible defined by the payer plan (policy). |
paid_by_payer |
No |
number(8,2) |
|
The amount paid by the payer (insurer). If there is more than one payer, several procedure_cost records indicate that fact. |
paid_by_coordination_benefits |
No |
number(8,2) |
|
The amount paid by a secondary payer through the coordination of benefits. |
total_out_of_pocket |
No |
number(8,2) |
|
The total amount paid by the person as a share of the expenses, excluding the copay. |
total_paid |
No |
number(8,2) |
|
The total amount paid for the expenses of the procedure. |
disease_class_concept_id |
No |
integer |
DRG, |
|
APC|A foreign key referring to a standard concept identifier in the vocabulary for disease classes, such as DRGs and APCs.|
|revenue_code_concept_id|No|integer|HCFA|A foreign key referring to a standard concept identifier in the vocabulary for revenue codes.|
|payer_plan_period_id|No|integer||A foreign key to the payer_plan_period table, where the details of the payer, plan and family are stored.|
|disease_class_source_value|No|string(50)||he source code for the disease class as it appears in the source data, stored here for reference.|
|revenue_code_source_value|No|string(50)||The source code for the revenue code as it appears in the source data, stored here for reference.|
Business Rules
Each Procedure Occurrence may have any number of corresponding records in the Procedure Cost table, but typically it is none (cost data not captured) or one (one payment per Procedure). They are linked directly through the Procedure Occurrence ID field.
The amounts paid are:
- Copay – a fixed amount to be paid by the Person
- Coinsurance – a relative amount of the total paid by the Person
- Deductible – an amount of money paid by the Person before the Payer starts contributing
- Primary Payer – the amount the primary Payer pays towards the total
- Coordination of Benefits – the amount a secondary Payer or Family Plan pays towards the total
- Out of Pocket = Copay + Coinsurance + Deductible
- Total – the total amount paid for the procedure
The amounts in various payment components should equal the total, so Copay + Coinsurance + Deductible + Primary Payer + COB = Total Paid. In reality, this is not always reflected in the source data. It is up to the ETL to determine how to deal with quality problems in the data.
There are important indicators for the amount paid that are determined through the health plan design:
- DRG – Diagnosis-related Group for hospital inpatients
- APC – Ambulatory Payment Classification for hospital outpatients
- Revenue Codes – determining what service within a provider is charging for the service
All these data are captured as Source Values and Concept IDs referring to the Vocabulary.
Finally, the health plan of the Person that is determined by these numbers is referred to through the Payer Plan Period ID (see below).
Example of a Loaded Table
The select three example drug claims are represented as following:
- Example 1: Outpatient, biopsy of orbital lesion, copay $20, coinsurance $48, no deductible, insurance $92, no coordination of benefits, total of $160
- Example 2: Outpatient, myocardial perfusion imaging (SPECT), no patient pay, insurance $207.76, coordination of benefits $394.24, total of $602.00
- Example 3: Inpatient, total abdominal hysterectomy, coinsurance $1,299.97, deductible $300, insurance $3,033.29, no coordination of benefits, total of $4,633.26, DRG 369 (Menstrual and Other Female Reproductive System Disorders), Revenue Code 360 (Operating Room Services - General Classification)
- Example 4: Inpatient, total abdominal hysterectomy, no copay or coinsurance, total of $2,671.14 paid through deductible, DRG 359 (Uterine and Adnexa Procedure For Non-Malignancy without Complications, Comorbidities), Revenue Code 0360 (Operating Room Services - General Classification)
Field |
Example 1 |
Example 2 |
Example 3 |
Example 4 |
procedure_cost_id |
integer foreign key |
integer foreign key |
integer foreign key |
integer foreign key |
procedure_occurrence_id |
integer foreign key |
integer foreign key |
integer foreign key |
integer foreign key |
paid_copay |
20 |
0 |
0 |
0 |
paid_coinsurance |
48 |
0 |
1299.97 |
0 |
paid_toward_deductible |
0 |
0 |
300 |
2671.14 |
paid_by_payer |
92 |
207.76 |
3033.29 |
0 |
paid_by_coordination_benefits |
0 |
394.24 |
0 |
0 |
total_out_of_pocket |
48 |
0 |
1599.97 |
2671.14 |
total_paid |
160 |
602 |
4633.26 |
2671.14 |
disease_class_concept_id |
|
|
38000667 |
38000657 |
revenue_code_concept_id |
|
|
38003208 |
38003208 |
payer_plan_period_id |
integer foreign key |
|
integer foreign key |
integer foreign key |
disease_class_source_value |
|
|
369 |
359 |
revenue_code_source_value |
|
|
0360 |
0360 |
We need guidance on values for
- cost.cost_domain_id
- cost.cost_type_concept_id
@clairblacketer
If a cost row does not have a corresponding event in CDM (e.g., row in procedure table) - we need guidance on how to deal with cost_event_id being required.
Capitation cost rows will never have a linked event. (monthly capitation on patient level) (paid by plan even if no event in patient life occurs)