Skip to content

Commit f0a7c6b

Browse files
Develop (#897)
* updating table-of-contents documentation to match what is in the schema. This documentation was previously included, but was removed during the v2.0 merge. (#846) * fixing documentation bug (#878) * Removing minimum restrictions for allowed amounts file. (#877) * Documentation Fix (#847) * updating table-of-contents documentation to match what is in the schema. This documentation was previously included, but was removed during the v2.0 merge. (#846) * version bump * relaxing restrictions for the allow-amount file to remain empty if there is nothing to report. * removing old examples not relevant to 2.0 updates. * clarifying 'network_name' documentation for provider groups. (#884) * removing left over setting attribute in the allowed amount field (#885) * Fix README inconsistency and validator issue caused by upper-case plan_id_type vaues EIN and HIOS (#892) * README lower-case EIN and HIOS for in-network rates schema - Change plan_id_type values "EIN" and "HIOS" to lower case to be consistent with schema, Table of Contents, etc. #891 - Change type-o "tas" to "tax" in the Tax Identification object reference (#tas-identifier-object) * plan_id_type "EIN", "HIOS" in Readme should be lower case. Validator failure.Update allowed values in README for plan_id_type. Out of Network Out of Network Allowed Amount change, see in-network description here #891 * updating json examples to include 2.0.0 in the version attribute. (#894) * updating documentation with the removal of external provider references and capitalization consistencies (#895) * updating documentation with the removal of external provider references and capitalization consistencies * updating test cases to be more explicit * Fix validator issues with ein and service_code and oneOf:,const:, if: (#889) * Fix validator issues with ein and service_code and oneOf:,const:, if: Disallow CSTM-00 with POS codes Constrain valid EIN values Fix issue with missing anchor on the ein/tin validation pattern * Fix indentation in negotiated_price service_code * Fix JSON indentation & formatting in in-network-rates.json * Allow NPI Field to be [0] (a single entry containing zero) To handle : https://github.com/CMSgov/price-transparency-guide/tree/master/schemas/in-network-rates#additional-notes "In contractual arrangements that are only made at the TIN level, where NPIs are unknown or otherwise unavailable, the value "0" should be reported for the NPI field." This change does not permit a "0" value in the Tax "Tax Identifier Object's when type is "npi". Because npi does not require business name, I propose allowing a "0" type "ein" in the unusual scenario where a provider only has an SSN, along with requiring the business name. I posted an issue regarding this scenario here : #890 (comment) Tests are failing because they are out of date. Once merged, I'll fix whatever conflicts may result. * updating a broken example and clarifying documentation (#896) * removing optional language * version bump --------- Co-authored-by: Zako Bee <[email protected]>
1 parent c7b8812 commit f0a7c6b

18 files changed

+883
-144
lines changed

Gemfile.lock

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,28 @@
11
GEM
22
remote: https://rubygems.org/
33
specs:
4-
base64 (0.3.0)
5-
bigdecimal (3.2.2)
6-
diff-lcs (1.4.4)
4+
bigdecimal (4.0.1)
5+
diff-lcs (1.6.2)
76
hana (1.3.7)
8-
json_schemer (2.2.1)
9-
base64
7+
json_schemer (2.5.0)
108
bigdecimal
119
hana (~> 1.3)
1210
regexp_parser (~> 2.0)
1311
simpleidn (~> 0.2)
14-
regexp_parser (2.10.0)
15-
rspec (3.10.0)
16-
rspec-core (~> 3.10.0)
17-
rspec-expectations (~> 3.10.0)
18-
rspec-mocks (~> 3.10.0)
19-
rspec-core (3.10.1)
20-
rspec-support (~> 3.10.0)
21-
rspec-expectations (3.10.1)
12+
regexp_parser (2.11.3)
13+
rspec (3.13.2)
14+
rspec-core (~> 3.13.0)
15+
rspec-expectations (~> 3.13.0)
16+
rspec-mocks (~> 3.13.0)
17+
rspec-core (3.13.6)
18+
rspec-support (~> 3.13.0)
19+
rspec-expectations (3.13.5)
2220
diff-lcs (>= 1.2.0, < 2.0)
23-
rspec-support (~> 3.10.0)
24-
rspec-mocks (3.10.2)
21+
rspec-support (~> 3.13.0)
22+
rspec-mocks (3.13.7)
2523
diff-lcs (>= 1.2.0, < 2.0)
26-
rspec-support (~> 3.10.0)
27-
rspec-support (3.10.3)
24+
rspec-support (~> 3.13.0)
25+
rspec-support (3.13.6)
2826
simpleidn (0.2.3)
2927

3028
PLATFORMS

README.md

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -93,16 +93,12 @@ The associated names for those files are:
9393
* `in-network-rates`
9494
* `allowed-amounts`
9595

96-
There are also two optional machine-readable files that can be leveraged to significantly decrease file sizes of the required machine-readable files:
96+
There is also one optional machine-readable file that can be leveraged to significantly decrease file sizes of the required machine-readable files:
9797
* [Table of Contents](https://github.com/CMSgov/price-transparency-guide/tree/master/schemas/table-of-contents)
98-
* [Provider Reference](https://github.com/CMSgov/price-transparency-guide/tree/master/schemas/provider-reference)
9998

10099
**Table of Contents File**
101100
The Table of Contents file can be leveraged to combine common negotiated rates across multiple in-network files. By breaking out [common negotiated rates into separate files](https://github.com/CMSgov/price-transparency-guide/blob/master/README.md#multiple-plans-per-file) to use in multiple In-Network files, plans can avoid having to duplicate data.
102101

103-
**Provider Reference**
104-
Defining provider networks outside of the In-Network file can have significant benefits in the overall file size that is produced. The provider reference file allows the user to define common provider networks externally to the In-Network file that can be referenced from within the In-Network file. This allows large provider networks to be defined once and be used in multiple locations.
105-
106102
Timing Updates For Machine-Readable Files
107103
-----------------------------------------
108104
According to the [TiC Final Rules](https://www.federalregister.gov/d/2020-24591/p-1516) and the schema requirements, plans and issuers are required to update the machine-readable files monthly and populate the attribute `last_updated_on`. The Departments consider “monthly” to refer to reasonably consistent periods of approximately 30 days, but are not specifying a particular day of the month.
@@ -141,14 +137,13 @@ For example, the following would be the required naming for CMS building a JSON
141137
Schema Validator Tool
142138
=====================
143139

144-
CMS developed a [downloadable schema validator tool](https://github.com/CMSgov/price-transparency-guide-validator) that plans and developers can use to assess whether their machine readable files are compliant with the Transparency in Coverage JSON schema. The validator tool and instructions can be accessed here. The tool can be used to validate in-network and allowed amount files, as well as provider references and table of contents files. Note that the tool tests for attributes required under version 1.0 of the JSON schema and for syntax errors, but does not test the accuracy of the data in the schema. It is designed to run on local computers and can be used to validate files of any size (there is no file size limit). At this point in time, the validator tool can only be used to validate JSON files.
140+
CMS developed a [downloadable schema validator tool](https://github.com/CMSgov/price-transparency-guide-validator) that plans and developers can use to assess whether their machine readable files are compliant with the Transparency in Coverage JSON schema. The validator tool and instructions can be accessed here. The tool can be used to validate in-network and allowed amount files, as well as table of contents files. Note that the tool tests for attributes required under version 1.0 of the JSON schema and for syntax errors, but does not test the accuracy of the data in the schema. It is designed to run on local computers and can be used to validate files of any size (there is no file size limit). At this point in time, the validator tool can only be used to validate JSON files.
145141

146142
Schemas
147143
=======
148144
* [In-Network Rates](https://github.com/CMSgov/price-transparency-guide/tree/master/schemas/in-network-rates)
149145
* [Allowed Amounts](https://github.com/CMSgov/price-transparency-guide/tree/master/schemas/allowed-amounts)
150146
* [Table of Contents](https://github.com/CMSgov/price-transparency-guide/tree/master/schemas/table-of-contents)
151-
* [Provider Reference](https://github.com/CMSgov/price-transparency-guide/tree/master/schemas/provider-reference)
152147

153148
Examples
154149
========

VERSION.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.0.1
1+
2.1.0

examples/allowed-amounts/allowed-amounts-multiple-plan-sample.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"reporting_entity_name": "cms",
33
"reporting_entity_type": "cms",
44
"last_updated_on": "2020-08-27",
5-
"version": "1.0.0",
5+
"version": "2.0.0",
66
"out_of_network": [
77
{
88
"name": "Established Patient Office or Other Outpatient Services",

examples/allowed-amounts/allowed-amounts-single-plan-sample.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"plan_id": "1111111111",
77
"plan_market_type": "individual",
88
"last_updated_on": "2020-08-27",
9-
"version": "1.0.0",
9+
"version": "2.0.0",
1010
"out_of_network": [
1111
{
1212
"name": "Established Patient Office or Other Outpatient Services",
Lines changed: 208 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,208 @@
1+
{
2+
"reporting_entity_name": "Comprehensive Health Insurance",
3+
"reporting_entity_type": "health insurance issuer",
4+
"plan_name": "Plan D PPO",
5+
"issuer_name": "Comprehensive Health Issuer",
6+
"plan_sponsor_name": "Comprehensive Employee Group",
7+
"plan_id_type": "ein",
8+
"plan_id": "4444444444",
9+
"plan_market_type": "group",
10+
"last_updated_on": "2024-01-15",
11+
"version": "2.0.0",
12+
"provider_references": [
13+
{
14+
"provider_group_id": 1,
15+
"network_name": ["Comprehensive Health Network"],
16+
"provider_groups": [
17+
{
18+
"npi": [1234567890, 2345678901, 3456789012],
19+
"tin": {
20+
"type": "ein",
21+
"value": "12-3456789",
22+
"business_name": "Premier Medical Associates"
23+
}
24+
},
25+
{
26+
"npi": [4567890123],
27+
"tin": {
28+
"type": "ein",
29+
"value": "23-4567890",
30+
"business_name": "Regional Healthcare Group"
31+
}
32+
}
33+
]
34+
},
35+
{
36+
"provider_group_id": 2,
37+
"network_name": ["Comprehensive Health Plus Network"],
38+
"provider_groups": [
39+
{
40+
"npi": [5678901234, 6789012345],
41+
"tin": {
42+
"type": "ein",
43+
"value": "34-5678901",
44+
"business_name": "City General Hospital"
45+
}
46+
}
47+
]
48+
}
49+
],
50+
"in_network": [
51+
{
52+
"negotiation_arrangement": "ffs",
53+
"name": "Office Visit, Established Patient, Moderate Complexity",
54+
"billing_code_type": "CPT",
55+
"billing_code_type_version": "2024",
56+
"billing_code": "99214",
57+
"description": "Office or other outpatient visit for evaluation and management of an established patient",
58+
"negotiated_rates": [
59+
{
60+
"provider_references": [1],
61+
"negotiated_prices": [
62+
{
63+
"setting": "outpatient",
64+
"negotiated_type": "negotiated",
65+
"negotiated_rate": 150.00,
66+
"expiration_date": "2024-12-31",
67+
"service_code": ["11"],
68+
"billing_class": "professional",
69+
"additional_information": "Standard negotiated rate for established patient office visits"
70+
}
71+
]
72+
}
73+
]
74+
},
75+
{
76+
"negotiation_arrangement": "ffs",
77+
"name": "Outpatient Physical Therapy",
78+
"billing_code_type": "CPT",
79+
"billing_code_type_version": "2024",
80+
"billing_code": "97110",
81+
"description": "Therapeutic exercises to develop strength, endurance, range of motion and flexibility",
82+
"negotiated_rates": [
83+
{
84+
"provider_references": [1],
85+
"negotiated_prices": [
86+
{
87+
"setting": "outpatient",
88+
"negotiated_type": "percentage",
89+
"negotiated_rate": 65.0,
90+
"expiration_date": "2024-12-31",
91+
"service_code": ["11", "22"],
92+
"billing_class": "professional",
93+
"additional_information": "65% of billed charges arrangement"
94+
}
95+
]
96+
}
97+
]
98+
},
99+
{
100+
"negotiation_arrangement": "ffs",
101+
"name": "Medical/Surgical Intensive Care Unit (ICU) Daily Rate",
102+
"billing_code_type": "RC",
103+
"billing_code_type_version": "2024",
104+
"billing_code": "0200",
105+
"description": "Intensive Care Unit - General Classification",
106+
"negotiated_rates": [
107+
{
108+
"provider_references": [2],
109+
"negotiated_prices": [
110+
{
111+
"setting": "inpatient",
112+
"negotiated_type": "per diem",
113+
"negotiated_rate": 5500.00,
114+
"expiration_date": "2024-12-31",
115+
"billing_class": "institutional",
116+
"additional_information": "Daily per diem rate for ICU stay"
117+
}
118+
]
119+
}
120+
]
121+
},
122+
{
123+
"negotiation_arrangement": "ffs",
124+
"name": "Laboratory Test - Comprehensive Metabolic Panel",
125+
"billing_code_type": "CPT",
126+
"billing_code_type_version": "2024",
127+
"billing_code": "80053",
128+
"description": "Comprehensive metabolic panel blood test",
129+
"negotiated_rates": [
130+
{
131+
"provider_references": [1],
132+
"negotiated_prices": [
133+
{
134+
"setting": "outpatient",
135+
"negotiated_type": "derived",
136+
"negotiated_rate": 45.00,
137+
"expiration_date": "2024-12-31",
138+
"service_code": ["11", "81"],
139+
"billing_class": "professional",
140+
"additional_information": "Derived price for internal accounting and reconciliation purposes"
141+
}
142+
]
143+
}
144+
]
145+
},
146+
{
147+
"negotiation_arrangement": "ffs",
148+
"name": "Knee Replacement Surgery",
149+
"billing_code_type": "CPT",
150+
"billing_code_type_version": "2024",
151+
"billing_code": "27447",
152+
"description": "Arthroplasty, knee condyle and plateau, medial and lateral compartments",
153+
"negotiated_rates": [
154+
{
155+
"provider_references": [1, 2],
156+
"negotiated_prices": [
157+
{
158+
"setting": "inpatient",
159+
"negotiated_type": "fee schedule",
160+
"negotiated_rate": 8500.00,
161+
"expiration_date": "2024-12-31",
162+
"service_code": ["21", "22"],
163+
"billing_class": "professional",
164+
"additional_information": "Fee schedule rate used to determine participant cost-sharing liability"
165+
},
166+
{
167+
"setting": "inpatient",
168+
"negotiated_type": "negotiated",
169+
"negotiated_rate": 12000.00,
170+
"expiration_date": "2024-12-31",
171+
"billing_class": "institutional"
172+
}
173+
]
174+
}
175+
]
176+
},
177+
{
178+
"negotiation_arrangement": "ffs",
179+
"name": "Emergency Department Visit, High Severity",
180+
"billing_code_type": "CPT",
181+
"billing_code_type_version": "2024",
182+
"billing_code": "99285",
183+
"description": "Emergency department visit for evaluation and management of a patient with high severity",
184+
"negotiated_rates": [
185+
{
186+
"provider_references": [2],
187+
"negotiated_prices": [
188+
{
189+
"setting": "outpatient",
190+
"negotiated_type": "percentage",
191+
"negotiated_rate": 75.5,
192+
"expiration_date": "2024-12-31",
193+
"service_code": ["23"],
194+
"billing_class": "professional"
195+
},
196+
{
197+
"setting": "outpatient",
198+
"negotiated_type": "negotiated",
199+
"negotiated_rate": 2500.00,
200+
"expiration_date": "2024-12-31",
201+
"billing_class": "institutional"
202+
}
203+
]
204+
}
205+
]
206+
}
207+
]
208+
}

examples/in-network-rates/in-network-rates-bundle-single-plan-sample.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"plan_id": "0000000000",
88
"plan_market_type": "individual",
99
"last_updated_on": "2020-08-27",
10-
"version": "1.0.0",
10+
"version": "2.0.0",
1111
"provider_references": [
1212
{
1313
"provider_group_id": 1,

examples/in-network-rates/in-network-rates-capitation-single-plan-sample.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,12 @@
22
"reporting_entity_name": "cms",
33
"reporting_entity_type": "cms",
44
"plan_name": "medicaid",
5+
"issuer_name": "CMS Medicaid Issuer",
56
"plan_id_type": "hios",
67
"plan_id": "1111111111",
78
"plan_market_type": "individual",
89
"last_updated_on": "2020-08-27",
9-
"version": "1.0.0",
10+
"version": "2.0.0",
1011
"provider_references": [
1112
{
1213
"provider_group_id": 1,

examples/in-network-rates/in-network-rates-fee-for-service-single-plan-sample.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"plan_id": "1111111111",
99
"plan_market_type": "group",
1010
"last_updated_on": "2020-08-27",
11-
"version": "1.2.0",
11+
"version": "2.0.0",
1212
"provider_references": [
1313
{
1414
"provider_group_id": 1,

examples/in-network-rates/in-network-rates-multiple-plans-sample.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"reporting_entity_name": "cms",
33
"reporting_entity_type": "cms",
44
"last_updated_on": "2020-08-27",
5-
"version": "1.0.0",
5+
"version": "2.0.0",
66
"provider_references":[{
77
"provider_group_id": 1,
88
"network_name": ["ACME Choice Provider Group"],

0 commit comments

Comments
 (0)