CCIIO Website
The Center for Consumer Information and Insurance Oversight (CCIIO) is charged with helping implement many reforms of the Affordable Care Act,
CCIIO oversees the implementation of the provisions related to private health insurance. In particular, CCIIO is working with states to establish new Health Insurance Marketplaces.
CCIIO works closely with state regulators, consumers, and other stakeholders to ensure the Affordable Care Act best serves the American people.
The CCIIOO provides Health Insurance Exchange Public Use Files (Exchange PUFs) that are available for plan years 2014 to 2019 to support timely benefit and rate analysis. It is important to note that the 2019 Exchange PUFs will be updated regularly to reflect the plan data that consumers will see when shopping for an Exchange Qualified Health Plan (QHP). Data for the 2019 Exchange PUFs were imported to CMS systems by January 25, 2019.
The Exchange PUFs include plan and issuer level information for certified Qualified Health Plans (QHPs) and stand-alone dental plans (SADPs) offered to individuals and small businesses through the Health Insurance Exchange. The Exchange PUFs include data from states participating in the Federally Facilitated Exchanges (FFE), State Partnership Exchanges (SPEs) and states whose State-based Exchanges rely on the federal information technology platform for QHP eligibility and enrollment functionality (SBE-FP). The PUFs also include data on Multi-State Plans (MSPs) and certified off-exchange SADPs. The Exchange PUFs exclude information from SBEs that do not rely on the federal platform for QHP eligibility and enrollment functionality.
These Health Insurance Exchange Public Use Files (PUF) data sets consist of ten separate files as described below:
- Benefits and Cost Sharing PUF (BenCS-PUF) – Plan variant-level data on essential health benefits, coverage limits, and cost sharing.
- Rate PUF (Rate-PUF) – Plan-level data on individual rates based on an eligible subscriber’s age, tobacco use, and geographic location, and family-tier rates.
- Plan Attributes PUF (Plan-PUF) – Plan-level data on maximum out of pocket payments, deductibles, HSA eligibility, formulary ID, and other plan attributes.
- Business Rules PUF (BR-PUF) – Plan-level data on rating business rules, such as allowed relationships (e.g., spouse, dependents) and tobacco use.
- Service Area PUF (SA-PUF) – Issuer-level data on geographic service areas including state, county, and zip code.
- Network (Ntwrk-PUF) – Issuer-level data identifying provider network URLs.
- Plan ID Crosswalk PUF (CW-PUF) – Plan-level data mapping plans offered in the previous plan year to plans offered in the current plan year.
- Machine-readable URL PUF (MR-PUF)—Issuer-level URL locations for machine-readable plan network provider and formulary information.
- Transparency in Coverage PUF (TC-PUF) – Issuer-level claims, appeals, and active URL data. The PY2019 PUF contains data from PY2017 for issuers participating in the Exchange in PY2017.
- Quality PUF (Qual-PUF) – Quality ratings data for plans in pilot states. The PY17 Quality PUF is found below. Quality PUFs for more recent plan years are found here.
(Above taken from the CCIIO website at: https://www.cms.gov/cciio/resources/data-resources/marketplace-puf.html)
Note: The data files are generally too big to be attached to this page. They are available for download at the marketplace-put link, above.
The CCIIO Data in MySQL
These data sets have been uploaded into a MySQL database on the SPD virtual machine*. The database is named 'cciio', and the tables match the above data sets and are named as follows:
- benefits_cost_sharing
- rate
- plan_attributes
- business_rules
- service_area
- network
- plan_id_crosswalk
- machine_readable
- transparency_in_coverage
- quality_rating_data
Additionally, another data file containing CMS Health Insurance Oversight System (HIOS) data was load as well:
*See the MySQL DB Access page in this space for login and access details.
The tables below provide details of columns defined in each of the MySQL tables in the 'cciio' databse:
https://www.cms.gov/CCIIO/Resources/Files/faq_plan_finder_data_entry.html
It looks like IssuerId is the key that maps all the tables together. Need to understand what IssuerId is as here it is only a number ID.
IssuerId is an identifier issued by HIOS when an organization registers as providing insurance offerings in a state. Each organization will have different issuerIds for each state they provide insurance in.
The product I.D. and the issuer I.D. combine with information at the plan level to create a unique identifier called the Standard Component I.D which maps the combination of specific benefits and cost sharing arrangements sold for a specific price. (Prior to Feb. 2013, this unique standard component ID was called a “Plan Finder I.D.”)
Cost sharing can be used to get the benefits for a given plan using the planId
Table: benefits_cost_sharing (967,051 rows)
Columns | Data type | Notes | VHDir Mapping |
---|
BusinessYear | int(11) |
|
|
StateCode | varchar(25) |
|
|
IssuerId | int(11) |
|
|
SourceName | varchar(25) |
|
|
ImportDate | date |
|
|
StandardComponentId | varchar(25) | IssuerId + ProductId make this identifier |
|
PlanId | varchar(25) |
|
|
BenefitName | varchar(100) |
|
|
CopayInnTier1 | varchar(50) |
|
|
CopayInnTier2 | varchar(25) |
|
|
CopayOutofNet | varchar(25) |
|
|
CoinsInnTier1 | varchar(50) |
|
|
CoinsInnTier2 | varchar(25) |
|
|
CoinsOutofNet | varchar(50) |
|
|
IsEHB | varchar(25) |
|
|
IsCovered | varchar(25) |
|
|
QuantLimitOnSvc | varchar(25) |
|
|
LimitQty | varchar(25) |
|
|
LimitUnit | varchar(25) |
|
|
Exclusions | varchar(250) |
|
|
Explanation | varchar(1000) |
|
|
EHBVarReason | varchar(25) |
|
|
IsExclFromInnMOOP | varchar(25) |
|
|
IsExclFromOonMOOP | varchar(25) |
|
|
Sample MySQL query: use cciio; select * from benefits_cost_sharing;
Benefits for a given PlanId
SELECT PlanId, BenefitName, CopayInnTier1, CopayInnTier2, CopayOutofNet,
CoinsInnTier1, CoinsInnTier2, CoinsOutofNet, LimitQty, LimitUnit
FROM cciio.benefits_cost_sharing
WHERE PlanId = '21989AK0030001-00' ;
|
Table: business_rules (4,357 rows)
Column | Data Type | Notes | VHDir Mapping |
---|
BusinessYear | int(11) |
|
|
StateCode | varchar(25) |
|
|
IssuerId | int(11) |
|
|
SourceName | varchar(25) |
|
|
ImportDate | date |
|
|
TIN | varchar(25) |
|
|
ProductId | varchar(25) |
| InsurancePlan.identifier |
StandardComponentId | varchar(25) |
|
|
EnrolleeContractRateDeterminationRule | varchar(100) |
|
|
TwoParentFamilyMaxDependentsRule | varchar(25) |
|
|
SingleParentFamilyMaxDependentsRule | varchar(25) |
|
|
DependentMaximumAgRule | varchar(25) |
|
|
ChildrenOnlyContractMaxChildrenRule | varchar(25) |
|
|
DomesticPartnerAsSpouseIndicator | varchar(25) |
|
|
SameSexPartnerAsSpouseIndicator | varchar(25) |
|
|
AgeDeterminationRule | varchar(100) |
|
|
MinimumTobaccoFreeMonthsRule | varchar(25) |
|
|
CohabitationRule | varchar(250) |
|
|
MarketCoverage | varchar(25) |
|
|
DentalOnlyPlan | varchar(25) |
|
|
Sample MySQL query: use cciio; select * from business_rules;
Table: machine_readable (336 rows)
State | varchar(25) |
Issuer ID | int(11) |
URL Submitted | varchar(250) |
Tech POC Email | varchar(50) |
Sample MySQL query: use cciio; select * from machine_readable;
There are many networks with the same ID but different IssuerId and NetworkName. How do we want to handle those? If it is a truly unique identifier then this is problematic.
Do we take the first record and call that the name and all other names as aliases? The issue there is partOf is 1..1 so multiple issuerId's causes a problem.
Sample data
NetworkID, Source, IssuerId, NetworkName
ALN001, HIOS, 12538, BEST Life and Health National Network
ALN001, HIOS, 18239, AL PPO Network
ALN001, HIOS, 18756, PDP PLUS
ALN001, HIOS, 44580, HumanaDental PPO/Traditional Preferred
ALN001, HIOS, 46944, BCBSAL PPO
ALN001, HIOS, 60075, DenteMax
ALN001, HIOS, 73301, Bright Health Network
ALN001, HIOS, 82285, Delta Dental PPO
We will create networks for each NetworkID and set all the names found for that network as aliases.
Table: network (641 rows)
Column Name | Data Type | Notes | VHDir Mapping |
---|
BusinessYear | int(11) |
|
|
StateCode | varchar(25) | Standard 2 letter states |
|
IssuerId | int(11) | The HIOS table query gets the issuerID by organization name use this to set the reference for the owner of the network for HIOS sources | Network.partOf |
SourceName | varchar(25) | Data has 2 values HIOS, SERFF We have a HIOS table now to get Organizations for HIOS but need that same for SERFF. SInce partOf for Network is required we need to have the organization that owns the network. There is no overlap between HIOS and SERFF in Networks. Some states are HIOS and others SERFF. |
|
ImportDate | date |
|
|
NetworkName | varchar(100) | Will need to be scrubbed. Probably need similar approach to organization to keep context. Since there are multiple names for a given network ID we do not know the primary so we will store them all as aliases. | Network.alias |
NetworkId | varchar(25) | There are many networks with different names but the same ID. ID will be the key to create the network. All names will be aliases. | Network.identifier |
NetworkURL | varchar(500) |
|
|
MarketCoverage | varchar(25) | All HIOS values are null. For those set there are only 2 values Individual, SHOP (Small Group) |
|
DentalOnlyPlan | varchar(25) | All HIOS values are null the others are either Yes or No |
|
Sample MySQL query: use cciio; select * from network;
Query to get HIOS networks
SELECT NetworkId, SourceName, IssuerId, NetworkName
FROM cciio.network;
|
Table: plan_attributes (14,232 rows)
Column | Data Type | Notes | VHDir Mapping |
---|
BusinessYear | int(11) |
|
|
StateCode | varchar(25) | Standard 2 digit state code |
|
IssuerId | int(11) | Can use to find the Organization that administers this plan? | InsurancePlan.administeredBy? |
SourceName | varchar(25) | HIOS, OPM, SERFF Maybe just limit to HIOS? |
|
ImportDate | date |
|
|
MarketCoverage | varchar(25) | Individual, SHOP (Small Group) |
|
DentalOnlyPlan | varchar(25) | Yes or No |
|
TIN | varchar(25) |
|
|
StandardComponentId | varchar(25) | Would be nice to have a lookup table for this |
|
PlanMarketingName | varchar(100) | Will need to be scrubbed | InsurancePlan.plan.name |
HIOSProductId | varchar(25) |
| InsurancePlan.identifier |
HPID | varchar(25) |
|
|
NetworkId | varchar(25) | Can use to map the network reference but is it to the InsurancePlan or the InsurancePlan.plan? | InsurancePlan.plan.network |
ServiceAreaId | varchar(25) | Maps to service area, these could possibly be modeled as Locations | InsurancePlan.coverageArea |
FormularyId | varchar(25) |
|
|
IsNewPlan | varchar(25) |
|
|
PlanType | varchar(25) | PPO, Indemnity, EPO, HMO, POS These seem to be more like the Network type |
|
MetalLevel | varchar(25) | Bronze, High, Low, Gold, Silver, Expanded Bronze, Platinum, Catastrophic | InsurancePlan.plan.type |
DesignType | varchar(25) |
|
|
UniquePlanDesign | varchar(25) |
|
|
QHPNonQHPTypeId | varchar(25) |
|
|
IsNoticeRequiredForPregnancy | varchar(25) |
|
|
IsReferralRequiredForSpecialist | varchar(25) |
|
|
SpecialistRequiringReferral | varchar(250) |
|
|
PlanLevelExclusions | varchar(500) |
|
|
IndianPlanVariationEstimatedAdvancedPaymentAmountPerEnrollee | varchar(25) |
|
|
CompositeRatingOffered | varchar(25) |
|
|
ChildOnlyOffering | varchar(50) |
|
|
ChildOnlyPlanId | varchar(25) |
|
|
WellnessProgramOffered | varchar(25) |
|
|
DiseaseManagementProgramsOffered | varchar(250) |
|
|
EHBPercentTotalPremium | varchar(25) |
|
|
EHBPediatricDentalApportionmentQuantity | varchar(25) |
|
|
IsGuaranteedRate | varchar(25) |
|
|
PlanEffectiveDate | date |
| InsurancePlan.period.start |
PlanExpirationDate | varchar(25) | Many are null. Need to decide what to set if that is the case | InsurancePlan.period.end |
OutOfCountryCoverage | varchar(25) |
|
|
OutOfCountryCoverageDescription | varchar(1000) |
|
|
OutOfServiceAreaCoverage | varchar(25) |
|
|
OutOfServiceAreaCoverageDescription | varchar(500) |
|
|
NationalNetwork | varchar(25) |
|
|
URLForEnrollmentPayment | varchar(100) |
|
|
FormularyURL | varchar(250) |
|
|
PlanId | varchar(25) | The main identifier for the plan. Will likely need to be scrubbed | InsurancePlan.plan.identifier |
PlanVariantMarketingName | varchar(100) |
|
|
CSRVariationType | varchar(50) |
|
|
IssuerActuarialValue | varchar(25) |
|
|
AVCalculatorOutputNumber | varchar(25) |
|
|
MedicalDrugDeductiblesIntegrated | varchar(25) |
|
|
MedicalDrugMaximumOutofPocketIntegrated | varchar(25) |
|
|
MultipleInNetworkTiers | varchar(25) |
|
|
FirstTierUtilization | varchar(25) |
|
|
SecondTierUtilization | varchar(25) |
|
|
SBCHavingaBabyDeductible | varchar(25) |
|
|
SBCHavingaBabyCopayment | varchar(25) |
|
|
SBCHavingaBabyCoinsurance | varchar(25) |
|
|
SBCHavingaBabyLimit | varchar(25) |
|
|
SBCHavingDiabetesDeductible | varchar(25) |
|
|
SBCHavingDiabetesCopayment | varchar(25) |
|
|
SBCHavingDiabetesCoinsurance | varchar(25) |
|
|
SBCHavingDiabetesLimit | varchar(25) |
|
|
SBCHavingSimplefractureDeductible | varchar(25) |
|
|
SBCHavingSimplefractureCopayment | varchar(25) |
|
|
SBCHavingSimplefractureCoinsurance | varchar(25) |
|
|
SBCHavingSimplefractureLimit | varchar(25) |
|
|
SpecialtyDrugMaximumCoinsurance | varchar(25) |
|
|
InpatientCopaymentMaximumDays | int(11) |
|
|
BeginPrimaryCareCostSharingAfterNumberOfVisits | int(11) |
|
|
BeginPrimaryCareDeductibleCoinsuranceAfterNumberOfCopays | int(11) |
|
|
MEHBInnTier1IndividualMOOP | varchar(25) |
|
|
MEHBInnTier1FamilyPerPersonMOOP | varchar(50) |
|
|
MEHBInnTier1FamilyPerGroupMOOP | varchar(25) |
|
|
MEHBInnTier2IndividualMOOP | varchar(25) |
|
|
MEHBInnTier2FamilyPerPersonMOOP | varchar(50) |
|
|
MEHBInnTier2FamilyPerGroupMOOP | varchar(25) |
|
|
MEHBOutOfNetIndividualMOOP | varchar(25) |
|
|
MEHBOutOfNetFamilyPerPersonMOOP | varchar(50) |
|
|
MEHBOutOfNetFamilyPerGroupMOOP | varchar(25) |
|
|
MEHBCombInnOonIndividualMOOP | varchar(25) |
|
|
MEHBCombInnOonFamilyPerPersonMOOP | varchar(50) |
|
|
MEHBCombInnOonFamilyPerGroupMOOP | varchar(25) |
|
|
DEHBInnTier1IndividualMOOP | varchar(25) |
|
|
DEHBInnTier1FamilyPerPersonMOOP | varchar(25) |
|
|
DEHBInnTier1FamilyPerGroupMOOP | varchar(25) |
|
|
DEHBInnTier2IndividualMOOP | varchar(25) |
|
|
DEHBInnTier2FamilyPerPersonMOOP | varchar(25) |
|
|
DEHBInnTier2FamilyPerGroupMOOP | varchar(25) |
|
|
DEHBOutOfNetIndividualMOOP | varchar(25) |
|
|
DEHBOutOfNetFamilyPerPersonMOOP | varchar(50) |
|
|
DEHBOutOfNetFamilyPerGroupMOOP | varchar(25) |
|
|
DEHBCombInnOonIndividualMOOP | varchar(25) |
|
|
DEHBCombInnOonFamilyPerPersonMOOP | varchar(50) |
|
|
DEHBCombInnOonFamilyPerGroupMOOP | varchar(25) |
|
|
TEHBInnTier1IndividualMOOP | varchar(25) |
|
|
TEHBInnTier1FamilyPerPersonMOOP | varchar(25) |
|
|
TEHBInnTier1FamilyPerGroupMOOP | varchar(25) |
|
|
TEHBInnTier2IndividualMOOP | varchar(25) |
|
|
TEHBInnTier2FamilyPerPersonMOOP | varchar(25) |
|
|
TEHBInnTier2FamilyPerGroupMOOP | varchar(25) |
|
|
TEHBOutOfNetIndividualMOOP | varchar(25) |
|
|
TEHBOutOfNetFamilyPerPersonMOOP | varchar(50) |
|
|
TEHBOutOfNetFamilyPerGroupMOOP | varchar(25) |
|
|
TEHBCombInnOonIndividualMOOP | varchar(25) |
|
|
TEHBCombInnOonFamilyPerPersonMOOP | varchar(50) |
|
|
TEHBCombInnOonFamilyPerGroupMOOP | varchar(25) |
|
|
MEHBDedInnTier1Individual | varchar(25) |
|
|
MEHBDedInnTier1FamilyPerPerson | varchar(50) |
|
|
MEHBDedInnTier1FamilyPerGroup | varchar(25) |
|
|
MEHBDedInnTier1Coinsurance | varchar(25) |
|
|
MEHBDedInnTier2Individual | varchar(25) |
|
|
MEHBDedInnTier2FamilyPerPerson | varchar(50) |
|
|
MEHBDedInnTier2FamilyPerGroup | varchar(25) |
|
|
MEHBDedInnTier2Coinsurance | varchar(25) |
|
|
MEHBDedOutOfNetIndividual | varchar(25) |
|
|
MEHBDedOutOfNetFamilyPerPerson | varchar(50) |
|
|
MEHBDedOutOfNetFamilyPerGroup | varchar(25) |
|
|
MEHBDedCombInnOonIndividual | varchar(25) |
|
|
MEHBDedCombInnOonFamilyPerPerson | varchar(50) |
|
|
MEHBDedCombInnOonFamilyPerGroup | varchar(25) |
|
|
DEHBDedInnTier1Individual | varchar(25) |
|
|
DEHBDedInnTier1FamilyPerPerson | varchar(25) |
|
|
DEHBDedInnTier1FamilyPerGroup | varchar(25) |
|
|
DEHBDedInnTier1Coinsurance | varchar(25) |
|
|
DEHBDedInnTier2Individual | varchar(25) |
|
|
DEHBDedInnTier2FamilyPerPerson | varchar(25) |
|
|
DEHBDedInnTier2FamilyPerGroup | varchar(25) |
|
|
DEHBDedInnTier2Coinsurance | varchar(25) |
|
|
DEHBDedOutOfNetIndividual | varchar(25) |
|
|
DEHBDedOutOfNetFamilyPerPerson | varchar(50) |
|
|
DEHBDedOutOfNetFamilyPerGroup | varchar(25) |
|
|
DEHBDedCombInnOonIndividual | varchar(25) |
|
|
DEHBDedCombInnOonFamilyPerPerson | varchar(50) |
|
|
DEHBDedCombInnOonFamilyPerGroup | varchar(25) |
|
|
TEHBDedInnTier1Individual | varchar(25) |
|
|
TEHBDedInnTier1FamilyPerPerson | varchar(50) |
|
|
TEHBDedInnTier1FamilyPerGroup | varchar(25) |
|
|
TEHBDedInnTier1Coinsurance | varchar(25) |
|
|
TEHBDedInnTier2Individual | varchar(25) |
|
|
TEHBDedInnTier2FamilyPerPerson | varchar(50) |
|
|
TEHBDedInnTier2FamilyPerGroup | varchar(25) |
|
|
TEHBDedInnTier2Coinsurance | varchar(25) |
|
|
TEHBDedOutOfNetIndividual | varchar(25) |
|
|
TEHBDedOutOfNetFamilyPerPerson | varchar(50) |
|
|
TEHBDedOutOfNetFamilyPerGroup | varchar(25) |
|
|
TEHBDedCombInnOonIndividual | varchar(25) |
|
|
TEHBDedCombInnOonFamilyPerPerson | varchar(50) |
|
|
TEHBDedCombInnOonFamilyPerGroup | varchar(25) |
|
|
IsHSAEligible | varchar(25) |
|
|
HSAOrHRAEmployerContribution | varchar(25) |
|
|
HSAOrHRAEmployerContributionAmount | varchar(25) |
|
|
URLForSummaryofBenefitsCoverage | varchar(250) |
|
|
PlanBrochure | varchar(250) |
|
|
Sample MySQL query: use cciio; select * from plan_attributes;
Query to get InsurancePlan with its Plans
SELECT HIOSProductId, IssuerId, PlanId, PlanMarketingName, PlanType, NetworkId, ServiceAreaId,
MetalLevel, PlanEffectiveDate, PlanExpirationDate
FROM cciio.plan_attributes;
|
Table: plan_id_crosswalk (93,620 rows)
Column | Data Type | Notes | VHDir Mapping |
---|
State | varchar(25) |
|
|
DentalPlan | varchar(25) |
|
|
PlanID_2018 | varchar(25) |
|
|
IssuerID_2018 | int(11) |
|
|
MultistatePlan_2018 | varchar(25) |
|
|
MetalLevel_2018 | varchar(25) |
|
|
ChildAdultOnly_2018 | int(11) |
|
|
FIPSCode | int(11) |
|
|
ZipCode | int(11) |
|
|
CrosswalkLevel | int(11) |
|
|
ReasonForCrosswalk | int(11) |
|
|
PlanID_2019 | varchar(25) | Plan ID but not sure how to map it to network or sub plans | InsurancePlan.plan.identifier |
IssuerID_2019 | int(11) |
|
|
MultistatePlan_2019 | varchar(25) |
|
|
MetalLevel_2019 | varchar(25) |
|
|
ChildAdultOnly_2019 | varchar(25) |
|
|
AgeOffPlanID_2019 | varchar(25) |
|
|
IssuerID_AgeOff2019 | int(11) |
|
|
MultistatePlan_AgeOff2019 | varchar(25) |
|
|
MetalLevel_AgeOff2019 | varchar(25) |
|
|
ChildAdultOnly_AgeOff2019 | varchar(25) |
|
|
Sample MySQL query: use cciio; select * from plan_id_crosswalk;
Table: quality_rating_data (768 rows)
This table looks like it might be a good source for initial creation of the plans with their types
Column | Data Type | Notes | VHDIR Mapping |
---|
IssuerID | int(11) |
|
|
State | varchar(25) |
|
|
Plan Type | varchar(25) | HMO, POS, PPO, EOP, Indemnity | Network.type |
PlanID | varchar(25) |
| InsurancePlan.identifier |
GlobalRatingValue | varchar(25) |
|
|
EnrolleeExperienceValue | varchar(25) |
|
|
PlanEfficiencyAffordabilityManagementRatingValue | varchar(25) |
|
|
ClinicalQualityManagementRatingValue | varchar(25) |
|
|
NotRatedReason_GlobalRatingDesc | varchar(50) |
|
|
NotRatedReason_EnrolleeExperienceRatingDesc | varchar(25) |
|
|
NotRatedReason_PlanEfficiencyAffordabilityManagementRatingDesc | varchar(25) |
|
|
NotRatedReason_ClinicalQualityManagementRatingDesc | varchar(25) |
|
|
Sample MySQL query: use cciio; select * from quality_rating_data;
Table: rate (1,968,926 rows)
BusinessYear | int(11) |
StateCode | varchar(25) |
IssuerId | int(11) |
SourceName | varchar(25) |
ImportDate | date |
FederalTIN | varchar(25) |
RateEffectiveDate | date |
RateExpirationDate | date |
PlanId | varchar(25) |
RatingAreaId | varchar(25) |
Tobacco | varchar(50) |
Age | varchar(25) |
IndividualRate | decimal(10,0) |
IndividualTobaccoRate | varchar(25) |
Couple | varchar(25) |
PrimarySubscriberAndOneDependent | varchar(25) |
PrimarySubscriberAndTwoDependents | varchar(25) |
PrimarySubscriberAndThreeOrMoreDependents | varchar(25) |
CoupleAndOneDependent | varchar(25) |
CoupleAndTwoDependents | varchar(25) |
CoupleAndThreeOrMoreDependents | varchar(25) |
Sample MySQL query: use cciio; select * from rate;
Table: service_area (10,597 rows)
BusinessYear | int(11) |
StateCode | varchar(25) |
IssuerId | int(11) |
SourceName | varchar(25) |
ImportDate | date |
ServiceAreaId | varchar(25) |
ServiceAreaName | varchar(100) |
CoverEntireState | varchar(25) |
County | varchar(25) |
PartialCounty | varchar(25) |
ZipCodes | varchar(25) |
PartialCountyJustification | varchar(25) |
MarketCoverage | varchar(25) |
DentalOnlyPlan | varchar(25) |
Sample MySQL query: use cciio; select * from service_area;
Table: transparency_in_coverage (408 rows)
State | varchar(25) |
Issuer_Name | varchar(100) |
Issuer_ID | varchar(25) |
URL_Claims_Payment_Policies | varchar(250) |
Claims_Received | varchar(25) |
Claims_Denials | varchar(25) |
Internal_Appeals Filed | varchar(25) |
Number_Internal_Appeals_Overturned | varchar(25) |
Percent_Internal_Appeals_Overturned | varchar(25) |
External Appeals Filed | varchar(25) |
Number_External_Appeals_Overturned | varchar(25) |
Percent_External_Appeals_Overturned | varchar(25) |
Rate_Review | varchar(50) |
Financial_Information | varchar(100) |
Enrollment_Data | varchar(25) |
Disenrollment_Data | varchar(25) |
Empty | varchar(25) |
Sample MySQL query: use cciio; select * from transparency_in_coverage;
The HIOS data can be used to create the organizations for payers that will be linked to from the InsurancePlan resource. Because the HIOS data includes a row for each state that an organization is in we may need to do a distinct select on the organization name to pare it down and then add each issuer ID as a separate identifier for each organization.
SELECT count(DISTINCT(ISSR_LGL_NAME)) FROM cciio.HIOS gives us 1472 unique organizations.
However, there are some that are clearly test data such as the FFE RR Test Issuer ### rows that can probably be removed. There are also many organizations that define a new business name for each state such as Blue Cross Blue Shield of Texas, Blue Cross Blue Shield of Illinois, Blue Cross Blue Shield of New Mexico, etc...
Table: hios (7659 rows)
Column | Data type | Notes | VHDir Mapping |
---|
Column | Data type | Notes | VHDir Mapping |
---|
HIOS_ISSUER_ID | int(11) |
| Organization.identifier type is HIOS Issuer ID |
ISSR_LGL_NAME | varchar(100) |
| Organization.name |
MarketingName | varchar(100) |
| Organization.alias.value |
State | varchar(50) |
|
|
IndividualMarket | varchar(25) |
|
|
SmallGroupMarket | varchar(25) |
|
|
UnknownMarket | varchar(25) |
|
|
LargeMarket | varchar(25) |
|
|
FEDERAL_EIN | varchar(25) |
|
|
Active | varchar(25) |
|
|
DateCreated | varchar(25) |
|
|
LastModifiedDate | varchar(25) |
|
|
DatabaseCompanyID | varchar(25) |
|
|
ORG_ADR1 | varchar(50) |
| Organization.address.use=work Organization.type=postal Organization.line[0] |
ORG_ADR2 | varchar(50) |
| Organization.line[1] |
ORG_CITY | varchar(25) |
| Organization.city |
ORG_STATE | varchar(25) |
| Organization.state |
ORG_ZIP | varchar(25) |
| Organization.postalCode |
ORG_ZIP4 | varchar(25) |
|
|
EMPTY | varchar(25)
|
|
|
Sample MySQL query: use cciio; select * from hios;
Query to get organizations
SELECT DISTINCT (ISSR_LGL_NAME), HIOS_ISSUER_ID, ORG_ADR1, ORG_ADR2, ORG_CITY, ORG_STATE, ORG_ZIP, MarketingName
FROM cciio.HIOS WHERE Active= 'YES'
|