Skip to content

Conversation

@shaselton-usds
Copy link
Contributor

PR #889 added stricter validation patterns for the tin (Tax Identifier) object:

  • When tin.type = "npi", the tin.value must match pattern ^[1-9][0-9]{9}$ (10 digits starting with 1-9)
  • The old example used "tin.value": "0", which doesn't match this pattern

@shaselton-usds shaselton-usds merged commit a4b16ea into develop Jan 7, 2026
2 checks passed
@shaselton-usds shaselton-usds deleted the example-fix branch January 7, 2026 23:57
@tdfow
Copy link
Contributor

tdfow commented Jan 8, 2026

@shaselton-usds
For one of the scenarios, we have seen, there are capitation providers, where the billing provider has an SSN and there are a few scenarios where the billing provider did not have a NPI, so with this change, I assume we will need to exclude this scenario now in the MRF? Before this change, the reporting of the tin type npi of 0 was allowed. This update will now not allow, so we should exclude the reporting, as we don't have a NPI for a billing provider who still uses SSN, so we can't populate with a 10 digit npi nor can we publish the provider's ssn.
Please advise, as we either publish as npi of 0 or have to exclude this information, as we don't have the npi for this billing provider scenario.

{
"provider_group_id": 1472,
"network_name": [
"Managed Non-HMO Plan Group-xxxxx LabCap xxxx"
],
"provider_groups": [
{
"npi": [
2654843624,
2668578380,
2668671227,
2670886490,
2720918541,
2721133777
],
"tin": {
"type": "npi",
"value": "0"
}
}
]
}

@clovis517
Copy link
Contributor

clovis517 commented Jan 8, 2026

scenarios where the billing provider did not have a NPI, so with this change, I assume we will need to exclude this scenario now in the MRF? Before this change, the reporting of the tin type npi of 0 was allowed. This update will now not allow, so we should exclude the reporting, as we don't have a NPI for a billing provider who still uses SSN, so we can't populate with a 10 digit npi nor can we publish the provider's ssn. Please advise, as we either publish as npi of 0 or have to exclude this information, as we don't have the npi for this billing provider scenario.

@tdfow, I previously opened this issue regarding your scenario. #890

I propose changing schema to allow 0 EIN, to be used only when there is no NPI and no EIN. By allowing 0 EIN rather than NPI the Business Name requirement would apply.

shaselton-usds added a commit that referenced this pull request Jan 8, 2026
* 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]>
@tdfow
Copy link
Contributor

tdfow commented Jan 9, 2026

@shaselton-usds can you please comment on why the 0 NPI is no longer allowed? Does CMS want to exclude this data from MRFs? If the change that was merged remains, it should be renamed as it no longer represents a NPI value of 0. This example now has a NPI value. Previously, the direction was if there is no NPI, then a single 0 was acceptable.

price-transparency-guide/examples/in-network-rates
/in-network-rates-no-npi.json

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants