{"cms_types.ts":"/**\n * PlanID string ^[0-9]{5}[A-Z]{2}[0-9]{7}$\n */\nexport type PlanID = string\n/**\n * A number, National Provider Identifier ^[0-9]{10}$\n * */\nexport type OrderEnum = \"asc\" | \"desc\"\nexport type GenderEnum = \"Male\" | \"Female\"\nexport type NPI = string\nexport type UtilizationEnum = \"Low\" | \"Medium\" | \"High\"\n/**\n * ^[0-9]+$\n */\nexport type RxCUI = string\nexport type ProviderTypeEnum = \"Individual\" | \"Facility\" | \"Group\"\nexport type AcceptingTypeEnum =\n  | \"accepting\"\n  | \"not accepting\"\n  | \"accepting in some locations\"\n  | \"unknown\"\n\nexport type MarketEnum = \"Individual\" | \"SHOP\" | \"Any\"\nexport type PlanSortEnum =\n  | \"premium\"\n  | \"deductible\"\n  | \"oopc\"\n  | \"total_costs\"\n  | \"quality_rating\"\n/** Cost-sharing reduction (CSR) override for requests */\nexport type CSRRequestEnum =\n  | \"CSR73\"\n  | \"CSR87\"\n  | \"CSR94\"\n  | \"LimitedCSR\"\n  | \"ZeroCSR\"\n// https://www.cms.gov/files/document/2016-data-elements-dictionary-and-record-layout.pdf Page 1\nexport const CSRRequestFromVariantMap: {\n  [k: string]: CSRRequestEnum | undefined\n} = {\n  \"00\": undefined, // Non exchange variation\n  \"01\": undefined, // Exchange QHP (Qualified Health Plan) variation\n  \"04\": \"CSR73\", // 73% AV silver plan variation\n  \"05\": \"CSR87\", // 87% AV silver plan variation\n  \"06\": \"CSR94\", // 94% AV silver plan variation\n  \"11\": undefined, // limited cost-sharing, zero cost-sharing,Medicaid expansion private or cost-sharing wrap plans\n}\nexport const CSRCodeFromEnumMap: Record<CostSharingReductionEnum, string> = {\n  \"Exchange variant (no CSR)\": \"01\",\n  \"Limited Cost Sharing Plan Variation\": \"11\",\n  \"Zero Cost Sharing Plan Variation\": \"11\",\n  \"Non-Exchange variant\": \"00\",\n  \"Unknown CSR\": \"00\",\n  \"73% AV Level Silver Plan CSR\": \"04\",\n  \"87% AV Level Silver Plan CSR\": \"05\",\n  \"94% AV Level Silver Plan CSR\": \"06\",\n}\n\n/** Cost-sharing reduction (CSR */\nexport type CSREligibilityEnum =\n  | \"73% AV Level Silver Plan CSR\"\n  | \"87% AV Level Silver Plan CSR\"\n  | \"94% AV Level Silver Plan CSR\"\nexport type NetworkTierEnum =\n  | \"In-Network\"\n  | \"In-Network Tier 2\"\n  | \"Out-of-Network\"\n  | \"Combined In-Out of Network\"\nexport type CostSharingReductionEnum =\n  | \"Exchange variant (no CSR)\"\n  | \"Zero Cost Sharing Plan Variation\"\n  | \"Limited Cost Sharing Plan Variation\"\n  | \"73% AV Level Silver Plan CSR\"\n  | \"87% AV Level Silver Plan CSR\"\n  | \"94% AV Level Silver Plan CSR\"\n  | \"Non-Exchange variant\"\n  | \"Unknown CSR\"\nexport type MOOPTypeEnum =\n  | \"Maximum Out of Pocket for Medical and Drug EHB Benefits (Total)\"\n  | \"Maximum Out of Pocket for Medical EHB Benefits\"\n  | \"Maximum Out of Pocket for Drug EHB Benefits\"\nexport type DeductibleTypeEnum =\n  | \"Medical EHB Deductible\"\n  | \"Combined Medical and Drug EHB Deductible\"\n  | \"Drug EHB Deductible\"\nexport type FamilyCostEnum = \"Individual\" | \"Family Per Person\" | \"Family\"\nexport type DiseaseMgmtProgramsEnum =\n  | \"Asthma\"\n  | \"Heart Disease\"\n  | \"Depression\"\n  | \"Diabetes\"\n  | \"High Blood Pressure and High Cholesterol\"\n  | \"Low Back Pain\"\n  | \"Pain Management\"\n  | \"Pregnancy\"\n  | \"Weight Loss Programs\"\nexport type InsuranceMarketEnum = \"QHP\" | \"MSP\"\nexport type MetalLevelEnum =\n  | \"Catastrophic\"\n  | \"Silver\"\n  | \"Bronze\"\n  | \"Gold\"\n  | \"Platinum\"\nexport type ProductDivisionEnum = \"HealthCare\" | \"Dental\"\nexport type PlanTypeEnum = \"Indemnity\" | \"PPO\" | \"HMO\" | \"EPO\" | \"POS\"\nexport type SuppressionStatus =\n  | \"Available\"\n  | \"Suspended\"\n  | \"Closed\"\n  | \"Not Applicable\"\n  | \"unknown\"\nexport type CertificationStatus =\n  | \"Certified\"\n  | \"Not Certified\"\n  | \"Decertified\"\n  | \"Certified Off-Exchange SADP\"\n\n/** From https://ushik.ahrq.gov/ViewItemDetails?itemKey=200462000&system=sdo */\nexport const EligibilityPatientRelationshipCode_Map = {\n  \"00\": \"Not Applicable\",\n  \"01\": \"Spouse\",\n  \"02\": \"Son or Daughter\",\n  \"03\": \"Father or Mother\",\n  \"04\": \"Grandfather or Grandmother\",\n  \"05\": \"Grandson or Granddaughter\",\n  \"06\": \"Uncle or Aunt\",\n  \"07\": \"Nephew or Niece\",\n  \"08\": \"Cousin\",\n  \"09\": \"Adopted Child\",\n  \"10\": \"Foster Child\",\n  \"11\": \"Son-in-law or Daughter-in-law\",\n  \"12\": \"Brother-in-law or Sister-in-law\",\n  \"13\": \"Mother-in-law or Father-in-law\",\n  \"14\": \"Brother or Sister\",\n  \"15\": \"Ward\",\n  \"16\": \"Stepparent\",\n  \"17\": \"Stepson or Stepdaughter\",\n  \"18\": \"Self\",\n  \"19\": \"Child - Dependent (age 0 and 19)\",\n  \"20\": \"Employee\",\n  \"21\": \"Unknown\",\n  \"22\": \"Handicapped Dependent\",\n  \"23\": \"Sponsored Dependent (age 0 and 19 not attending school)\",\n  \"24\": \"Dependent of a Minor Dependent\",\n  \"25\": \"Ex-spouse\",\n  \"26\": \"Guardian\",\n  \"27\": \"Student - Dependent (age 19 and 25)\",\n  \"28\": \"Friend\",\n  \"29\": \"Significant Other\",\n  \"30\": \"Both Parents - The residence or legal custody of the student is with both parents\",\n  \"31\": \"Court Appointed Guardian\",\n  \"32\": \"Mother\",\n  \"33\": \"Father\",\n  \"34\": \"Other Adult\",\n  \"36\": \"Emancipated Minor - A person who has been judged by a court of competent jurisdiction to be allowed to act in his or her own interest; no adult is legally responsible for this minor; this may be declared as a result of marriage\",\n  \"37\": \"Agency Representative\",\n  \"38\": \"Collateral Dependent - Relative related by blood or marriage who resides in the home and is dependent on the insured for a major portion of their support\",\n  \"39\": \"Organ Donor - Individual receiving medical service in order to donate organs for a transplant\",\n  \"40\": \"Cadaver Donor - Deceased individual donating body to be used for research or transplants\",\n  \"41\": \"Injured Plaintiff\",\n  \"43\": \"Child Where Insured Has No Financial Responsibility - Child is covered by the insured but the insured is not the legal guardian\",\n  \"45\": \"Widow\",\n  \"46\": \"Widower\",\n  \"47\": \"State Fund - The state affiliated insurance organization providing coverage and or benefits to the claimant\",\n  \"48\": \"Stepfather\",\n  \"49\": \"Stepmother\",\n  \"50\": \"Foster Parent\",\n  \"51\": \"Emergency Contact\",\n  \"52\": \"Employer\",\n  \"53\": \"Life Partner\",\n  \"55\": \"Adopted Daughter\",\n  \"56\": \"Adopted Son\",\n  \"57\": \"Adoptive Father\",\n  \"58\": \"Adoptive Mother\",\n  \"59\": \"Adoptive Parents\",\n  \"60\": \"Annuitant\",\n  \"61\": \"Aunt\",\n  \"62\": \"Brother\",\n  \"63\": \"Brother-in-law\",\n  \"64\": \"Business\",\n  \"65\": \"Business Associate\",\n  \"66\": \"Business Insurance Trust\",\n  \"67\": \"Business Partner\",\n  \"68\": \"Charity\",\n  \"70\": \"Children of Marriage\",\n  \"71\": \"Company\",\n  \"72\": \"Corporation\",\n  \"73\": \"Creditor\",\n  \"74\": \"Daughter\",\n  \"75\": \"Daughter-in-Law\",\n  \"76\": \"Dependent\",\n  \"78\": \"Estate\",\n  \"79\": \"Ex-wife\",\n  \"80\": \"Family Member\",\n  \"81\": \"Father-in-Law\",\n  \"82\": \"Fiancé (Male)\",\n  \"83\": \"Financée (Female)\",\n  \"84\": \"Fiduciary\",\n  \"86\": \"Foster Daughter\",\n  \"87\": \"Foster Father\",\n  \"88\": \"Foster Mother\",\n  \"90\": \"Foster Son\",\n  \"91\": \"God Daughter\",\n  \"92\": \"God Father\",\n  \"93\": \"God Parents\",\n  \"94\": \"God Son\",\n  \"95\": \"Grandchildren\",\n  \"96\": \"Granddaughter\",\n  \"97\": \"Grandfather\",\n  \"98\": \"Grandmother\",\n  \"99\": \"Grandparents\",\n  A1: \"Grandson\",\n  A2: \"Great Aunt\",\n  A3: \"Ex-husband\",\n  A4: \"Half Brother\",\n  A5: \"Half Sister\",\n  A6: \"Husband\",\n  A7: \"Institution\",\n  A8: \"Mortgage Holder\",\n  A9: \"Mother-in-Law\",\n  B1: \"Nephew\",\n  B2: \"Niece\",\n  B3: \"Parents-in-Law\",\n  B4: \"Partnership\",\n  B5: \"Partner\",\n  B6: \"Personal Insurance Trust\",\n  B7: \"Sister\",\n  B8: \"Sister-in-Law\",\n  B9: \"Sole Proprietorship\",\n  C1: \"Son\",\n  C2: \"Son-in-Law\",\n  C3: \"Step Brother\",\n  C4: \"Step Children\",\n  C5: \"Step Daughter\",\n  C8: \"Step Sister\",\n  C9: \"Step Son\",\n  D1: \"Trust\",\n  D2: \"Trustee\",\n  D3: \"Uncle\",\n  D4: \"Wife\",\n  D5: \"Teacher\",\n  D6: \"School Counselor\",\n  D7: \"School Principal\",\n  D8: \"Other School Administrator\",\n  D9: \"Coach\",\n  E1: \"Activity Sponsor\",\n  E2: \"Supervisor\",\n  E3: \"Co-worker\",\n  E4: \"Minister or Priest\",\n  E5: \"Ecclesiastical or Religious Leader\",\n  E6: \"God Mother\",\n  E7: \"Probation Officer\",\n  E8: \"Accountant\",\n  E9: \"Advisor\",\n  F1: \"Alma Mater\",\n  F2: \"Applicant\",\n  F3: \"Banker\",\n  F6: \"Clergyman\",\n  F7: \"Client\",\n  F8: \"Club or Organization Officer\",\n  F9: \"Doctor\",\n  G2: \"Educator/Teacher/Instructor\",\n  G3: \"Betrothed\",\n  G4: \"Insured\",\n  G5: \"Lawyer\",\n  G6: \"Medical Care Provider\",\n  G7: \"Neighbor\",\n  G8: \"Other Relationship\",\n  G9: \"Other Relative\",\n  H1: \"Owner\",\n  H4: \"Payor\",\n  N1: \"None\",\n  OT: \"Non-applicable Individual Relationship Category\",\n  ZZ: \"Mutually Defined\",\n}\n\nexport interface Drug {\n  /** String ^[0-9]+$ */\n  rxcui: RxCUI\n  name: string\n  strength: string\n  route: string\n  full_name: string\n  rxterms_dose_form: string\n  rxnorm_dose_form: string\n}\n\nexport interface ZIPCounty {\n  /** ^[0-9]{5}$ */\n  fips: string\n  name: string\n  /** ^[A-Z]{2}$ */\n  state: string\n  /** ^[0-9]{5}$ */\n  zipcode: string\n}\nexport interface ProviderCoverage {\n  npi: NPI\n  plan_id: PlanID\n}\nexport interface ProviderNearby {\n  provider: Provider\n  address?: Address\n  /** Distance in miles from address, eg., from a proximity search */\n  distance: number\n}\n\nexport interface Provider {\n  /** A number, National Provider Identifier ^[0-9]{10}$ */\n  npi: string\n  name: string\n  provider_type: ProviderTypeEnum\n  specialties?: string[]\n  /** If provider is a facility, this is a list of the applicable facility types */\n  facility_types?: string[]\n\n  accepting?: AcceptingTypeEnum\n  gender?: string\n  languages?: string[]\n  /** provider taxonomy from National Uniform Claim Committee */\n  taxonomy?: string\n}\nexport interface Address {\n  street1: string\n  street2: string\n  city: string\n  state: string\n  zipcode: string\n  phone: string\n}\n\nexport interface RateArea {\n  /** 2-letter USPS abbreviation */\n  state: string\n  /** An integer, rate area number for the given state. */\n  area: number\n}\n\n/** Current/existing enrollment information used to determine tobacco status for CiC enrollments. This will ensure rate calculation is done correctly. */\nexport interface CurrentEnrollment {\n  plan_id: PlanID\n  /** Date plan went into effect (ISO-8601 YYYY-MM-DD),\n   * pattern ^[0-9]{4}-[0-9]{2}-[0-9]{2}$,\n   * EXAMPLE\n   * - 2020-01-01 */\n  effective_date: string\n  uses_tobacco: boolean\n}\nexport type Person = {\n  /** has minimum essential coverage */\n  has_mec?: boolean\n  /**  */\n  is_parent?: boolean\n  /** Indicates whether the individual is pregnant or not. If this is true and `pregnant_with` is not provided, `pregnant_with` is assumed to be 1. */\n  is_pregnant?: boolean\n  /** The number of expected children from a pregnancy. If this value is > 0, `is_pregnant` is assumed to be true, even if specified otherwise. */\n  pregnant_with?: number\n  /**  */\n  uses_tobacco?: boolean\n\n  /** The last date of regular tobacco use (YYYY-MM-DD), pattern ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ */\n  last_tobacco_use_date?: string\n  /**  */\n  gender?: GenderEnum\n  /**  */\n  utilization_level?: UtilizationEnum\n  /**  */\n  relationship?: Relationship\n  /**  */\n  does_not_cohabitate?: boolean\n  /** is the given person eligible for APTC */\n  aptc_eligible?: boolean\n  /**  */\n  current_enrollment?: CurrentEnrollment\n} & (\n  | {\n      /** Integer, required if dob not provided */\n      age: number\n    }\n  | {\n      /** A person's date of birth (YYYY-MM-DD) required if age not provided, pattern ^[0-9]{4}-[0-9]{2}-[0-9]{2}$, EXAMPLE - 2020-01-01 */\n      dob: string\n    }\n)\nexport interface CMSRange {\n  min: number\n  max: number\n}\nexport interface PlanSearchFilter {\n  disease_mgmt_programs: DiseaseMgmtProgramsEnum[]\n  division: ProductDivisionEnum\n  /** Issuer name */\n  issuer: string\n  /** A List of Issuers names */\n  issuers: string[]\n  /** A list of Metalic Levels */\n  metal_levels: MetalLevelEnum[]\n  metal_level: MetalLevelEnum\n  premium: number\n  type: PlanTypeEnum\n  /** a list of plan types */\n  types: PlanTypeEnum[]\n  deductible: number\n  /** HSA eligibilty */\n  hsa: boolean\n  /** Out of Pocket Costs */\n  oopc: number\n  /** Only show plans with child dental coverage */\n  child_dental_coverage: boolean\n  /** Only show plans with adult dental coverage */\n  adult_dental_coverage: boolean\n  /** A list of RXCUIs, pattern ^[0-9]{5,7}$ */\n  drugs: string[]\n  /** A list of NPIs, pattern ^[0-9]{10}$ */\n  providers: string[]\n  /** Quality ratings for a plan */\n  quality_rating: number\n  simple_choice: boolean\n  premium_range: CMSRange\n  deductible_range: CMSRange\n}\n/** If a houshold is not included, will default to Individual household\n  EXAMPLE\n    - income: 20000\n    - people:\n      - age: 34\n      -  dob: \"1984-01-06\"\n      -  is_pregnant: false\n      -  is_parent: false\n      -  uses_tobacco: false\n      -  gender: Male\n    - has_married_couple: false\n */\nexport interface Household {\n  /** A float, household's yearly income in dollars */\n  income?: number\n  /** people in household applying for coverage/seeking eligibility esimate; first is considered the subscriber */\n  people?: Person[]\n  has_married_couple?: boolean\n  /** The effective date of the application (YYYY-MM-DD), pattern ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ */\n  effective_date?: string\n}\nexport interface Place {\n  /** 5-digit county FIPS code */\n  countyfips: string\n  /** 2-letter USPS state abbreviation */\n  state: string\n  /** 5-digit ZIP Code */\n  zipcode: string\n}\nexport interface PlanPrices {\n  doctor_primary_visit: number\n  doctor_specialist_visit: number\n  doctor_preventative_visit: number\n\n  drugs_generic: number\n  drugs_brand: number\n  drugs_non_brand: number\n  drugs_specialty: number\n\n  labs_xrays: number\n  labs_imaging: number\n  labs_blood_work: number\n\n  hospital_urgent_care: number\n  hospital_emergency_room: number\n  hospital_ambulance: number\n  hospital_stay_facility: number\n  hospital_stay_physician: number\n  hospital_outpaintent_facility: number\n  hospital_outpaintent_physician: number\n  hospital_rehabilitation: number\n\n  mental_outpatient: number\n  mental_psychiatric: number\n\n  pregnancy_baby_care: number\n  pregnancy_labor: number\n}\n\nexport interface CostSharing {\n  coinsurance_options: string\n  /** Float (What YOU pay for costs, if 0.35 you would pay 35%, if 0, it's covered, if 1, not covered) */\n  coinsurance_rate: number\n  copay_amount: number\n  copay_options: string\n  network_tier: NetworkTierEnum\n  csr: CostSharingReductionEnum\n  display_string: string\n}\nexport interface QualityRating {\n  /** True if the plan has a quality rating, otherwise false.  A plan can still be unrated when the quality rating is available */\n  available: boolean\n  year: number\n  /** integer, 0-5 */\n  global_rating: number\n  global_not_rated_reason: string\n  /** integer, 0-5 */\n  clinical_quality_management_rating: number\n  clinical_quality_management_not_rated_reason: string\n  /** integer, 0-5 */\n  enrollee_experience_rating: number\n  enrollee_experience_not_rated_reason: string\n  /** integer, 0-5 */\n  plan_efficiency_rating: number\n  plan_efficiency_not_rated_reason: string\n}\nexport interface Benefit {\n  name: string\n  covered: boolean\n  cost_sharings: CostSharing[]\n  explanation: string\n  exclusions: string\n  has_limits: boolean\n  limit_unit: string\n  /**Integer */\n  limit_quantity: number\n}\n\nexport interface Elegibility {\n  aptc: number\n  csr: CSREligibilityEnum\n  hardship_exemption: boolean\n  is_medicaid_chip: boolean\n}\n/** Should match one of the [listed valid relationships](#introduction/more-information-about-households). */\nexport interface Relationship {\n  // ! DEFINE\n}\nexport interface Issuer {\n  /** list of allowed relationship types for dependents */\n  eligible_dependents: Relationship[]\n  /** 5-digit HIOS ID */\n  id: string\n  /** URL for individual market  */\n  individual_url: string\n  /** issuer's name */\n  name: string\n  /** URL for SHOP market plans */\n  shop_url: string\n  /** 2-letter USPS state  */\n  state: string\n  /** toll-free customer service  */\n  toll_free: string\n  /** TTY customer service number) */\n  tty: string\n}\nexport interface IndividualFamily {\n  /** Applies to individuals */\n  individual: boolean\n  /** Applies to families */\n  family: boolean\n  /** An optional human-readable description */\n  display_string: string\n}\n\n/**\n * Maximum out of pocket\n */\nexport interface MOOP extends IndividualFamily {\n  amount: number\n  csr: CostSharingReductionEnum\n  family_cost: FamilyCostEnum\n  network_tier: NetworkTierEnum\n  type: MOOPTypeEnum\n}\n\nexport interface Deductible extends IndividualFamily {\n  amount: number\n  csr: CostSharingReductionEnum\n  family_cost: FamilyCostEnum\n  network_tier: NetworkTierEnum\n  type: DeductibleTypeEnum\n}\nexport interface SBCScenario {\n  /** A float */\n  deductible: number\n  /** A float */\n  copay: number\n  /** A float */\n  coinsurance: number\n  /** A float */\n  limit: number\n}\nexport interface Plan {\n  /**14-character HIOS plan ID */\n  id: string\n  /**Name of the insurance plan */\n  name: string\n  benefits: Benefit[]\n  deductibles: Deductible[]\n  disease_mgmt_programs: DiseaseMgmtProgramsEnum[]\n  /**if plan has a national network of providers */\n  has_national_network: boolean\n  quality_rating: QualityRating\n  insurance_market: InsuranceMarketEnum\n  issuer: Issuer\n  market: MarketEnum\n  /** An integer, the maximum age a person is considered a child on their parents' plan */\n  max_age_child: number\n  metal_level: MetalLevelEnum\n  moops: MOOP[]\n  /**A float, monthly premium in US dollars, unsubsidized (i.e., no APTC applied) */\n  premium: number\n  /**A float, monthly premium in US dollars, with APTC applied */\n  premium_w_credit: number\n  /**A float, monthly premium in US dollars, for essential health benefits portion of total premium */\n  ehb_premium: number\n  /**A float, monthly pediatric portion of the ehb premium in US dollars */\n  pediatric_ehb_premium: number\n  /**A float, the portion of the premium that is eligible for APTC */\n  aptc_eligible_premium: number\n  /**True if the premiums are guaranteed (versus estimated) */\n  guaranteed_rate: boolean\n  /**true if the plan is a Simple Choice plan */\n  simple_choice: boolean\n  product_division: ProductDivisionEnum\n  specialist_referral_required: boolean\n  /** 2-letter USPS state abbreviation */\n  state: string\n  type: PlanTypeEnum\n  benefits_url: string\n  brochure_url: string\n  formulary_url: string\n  network_url: string\n  /** Is this plan eligible as an HSA? */\n  hsa_eligible: boolean\n  /**out-of-pocket cost; calculated when age, gender and utilization_level are present, otherwise -1 */\n\n  oopc: number\n  suppression_state: SuppressionStatus\n\n  /** An integer */\n  tobacco_lookback: number\n  certification?: CertificationStatus\n  /** Network adequacy */\n  network_adequacy?: {\n    /**The county for which the network adequacy is in scope */\n    scope: string\n    /** Specialty networks and their network types */\n    networks: object\n  }\n\n  /**Summary of benefits and costs */\n  sbcs?: {\n    /** Typical yearly costs for having a healthy pregnancy and normal delivery for one person */\n    baby: SBCScenario\n    /**Typical yearly costs for managing type 2 diabetes for one person */\n    diabetes: SBCScenario\n    /** Typical yearly costs for treating a simple fracture */\n    fracture: SBCScenario\n  }\n  /**3-month in-network mail order pharmacy benefit */\n  rx_3mo_mail_order: boolean\n  /** If the given enrollment group/household is ineligible for the plan by business rules, it will be flagged true */\n  is_ineligible: boolean\n  covers_nonhyde_abortion: boolean\n  /** 6-character id representing the geographic area the plan accepts members from.  The first two characters are the state's abbreviation. */\n  service_area_id: string\n}\n\nexport interface MPP_PlanSearchQuery {\n  filter?: Partial<PlanSearchFilter>\n  household?: Household\n  offset?: number\n  limit?: number\n  order?: OrderEnum\n  place: Place\n  sort?: PlanSortEnum\n  year?: number\n  market: MarketEnum\n  /** override the aptc calculation with a specific amount */\n  aptc_override?: number\n  /** Cost-sharing reduction (CSR) override for requests */\n  csr_override?: CSRRequestEnum\n  /** Force the display (or suppression) of catastrophic plans */\n  catastrophic_override?: boolean\n  suppressed_plan_ids?: string[]\n}\n// export const MPP_PlanSearchQuery_FromOfflineApp = (v: OfflineAppFormType) => {\n// \tlet query: Partial<MPP_PlanSearchQuery> = {\n// \t\thousehold: {\n// \t\t\tincome: v.annualHouseholdIncome,\n// \t\t\thas_married_couple: v.married,\n// \t\t\tpeople:\n// \t\t\t\tv.offlineAppMembers?.map((om: OfflineMemberFormType) => ({\n// \t\t\t\t\tdob: om.dob,\n// \t\t\t\t\tgender: om.sex && (om.sex === 'M' ? 'Male' : 'Female'),\n// \t\t\t\t\taptc_eligible: true, // For now\n// \t\t\t\t})) || [],\n// \t\t},\n// \t};\n// \treturn query;\n// };\nexport type MPP_PlanSearchReturn = {\n  plans: Plan[]\n  facet_groups: {\n    name: string\n    facets: {\n      value: string\n      count: number\n    }[]\n  }[]\n  total: number\n  rate_area: RateArea\n  ranges: {\n    premiums: CMSRange\n    deductibles: CMSRange\n  }\n}\nexport type MPP_PlanDetailReturn = {\n  plan: Plan\n  rate_area: RateArea\n}\n\nexport interface Elegibility {\n  /** A float */\n  aptc: number\n  csr: CSREligibilityEnum\n  hardship_exemption: boolean\n  is_medicaid_chip: boolean\n}\n","globals.ts":"export const partnerID = '04.DLS.FL*.001.313', usn = partnerID;","types.ts":"import {\n  MPP_PlanDetailReturn,\n  MPP_PlanSearchReturn,\n  MPP_PlanSearchQuery,\n  ZIPCounty,\n} from \"./cms_types\"\nimport { partnerID } from \"./globals\"\n\n//([ \"])(soap|hix|hixp|hixe|s|exch|ext|nc):\n//$1$2\\\\\\:\n\nexport function xml_namespace_normalize(v: string) {\n\n  Object.entries({ \"hix-core\": \"hix\", \"niem-core\": \"nc\", \"hix-ee\": \"hixe\", \"hix-pm\": \"hixp\" }).forEach(([from, to]) => {\n    v = v.replaceAll(\":\" + from, \":\" + to)\n    v = v.replaceAll(from + \":\", to + \":\")\n  })\n  return v\n}\n\nexport type MapMapping<T extends readonly { name: string }[]> = Partial<{\n  [P in T[number][\"name\"]]: string\n}>\n\n//#region Redirect\nexport const redirectMap = [\n  \"exchangeAssignedId\",\n  \"partnerAssignedId\",\n  \"userIdFFE\",\n  \"stateCode\",\n  \"partnerAssignedId_ContactId\",\n] as const\nexport type RedirectResponse = Partial<\n  Record<typeof redirectMap[number], string>\n>\n//#endregion\n\n// * MatchRegex: (?<=\"[ \\w\\-:]+)(?<!\\\\\\\\):(?=[\\w\\-: ]+\")\n\nexport type MapValue = {\n  // Only an array so we can define multple places in which to look for the same value, will only keep the first truthy value, unless it's an array\n  selector: readonly string[]\n  // Convert to this value\n  type?: \"string\" | \"number\" | \"boolean\"\n  array?: boolean\n  /** If this value is set, the name of this attribute will be taken instead of child */\n  attribute?: string\n  /** Doesn't merge with other matches, only uses first match, only works if you have multiple selectors in the selectors array, it will only take the first true when matching selectors */\n  do_not_merge_multiple_selectors?: boolean\n  /** Takes first found value for multiple matches of a selector. Shouldn't be used on arrays because it'll only push 1 value to the array */\n  do_not_merge_same_selector?: boolean\n  children?: Map\n  format?: \"number\" | \"boolean\"\n  default?: any\n}\nexport type Map = Record<string, MapValue>\n\ntype Value<T extends Map, P extends keyof T> = T[P][\"children\"] extends Map\n  ? MapMapping2<T[P][\"children\"]>\n  : T[P][\"type\"] extends \"number\"\n  ? number\n  : T[P][\"type\"] extends \"boolean\"\n  ? boolean\n  : string\n\n// type DeepWriteable<T> = { -readonly [P in keyof T]: DeepWriteable<T[P]> };\nexport type MapMapping2<T extends Map> = Partial<{\n  -readonly [P in keyof T]: T[P][\"array\"] extends true\n  ? Value<T, P>[]\n  : Value<T, P>\n}>\n// type EligibilityResponse2 = MapMapping2<typeof eligibilityMapResponse2>;\n\n//#region Eligibility Request\nexport const eligibilityMapRequest = {\n  stateCode: {\n    selector: [\"hix\\\\:InformationExchangeSystemStateCode\"],\n    default: \"FL\",\n  },\n  partnerId: {\n    selector: [\"hix\\\\:InformationExchangeSystemIdentification nc\\\\:IdentificationID\"],\n    default: partnerID,\n  },\n  partnerAssignedId: {\n    selector: [\"ext\\\\:PartnerAssignedConsumerIdentification nc\\\\:IdentificationID\"],\n    default: \" \",\n  },\n  exchangeAssignedId: {\n    selector: [\"ext\\\\:ExchangeAssignedConsumerIdentification nc\\\\:IdentificationID\"],\n    default: \" \",\n  },\n  userCode: {\n    selector: [\"ext\\\\:PartnerWebSiteUserCode\"],\n    default: \"Broker\" as \"Consumer\" | \"Broker\",\n  },\n  userEmail: {\n    selector: [\"ext\\\\:ExchangeUserIdentification nc\\\\:IdentificationID\"],\n    default: \"emailnotset@yopmail.com\",\n  },\n  userDOB: {\n    selector: [\"nc\\\\:PersonBirthDate nc\\\\:Date\"],\n    default: \"2000-01-01\",\n  },\n  userFirstName: {\n    selector: [\"nc\\\\:PersonGivenName\"],\n    default: \" \",\n  },\n  userMiddleName: {\n    selector: [\"nc\\\\:PersonMiddleName\"],\n    default: \" \",\n  },\n  userLastName: {\n    selector: [\"nc\\\\:PersonSurName\"],\n    default: \" \",\n  },\n} as const\n//#endregion\n//#region Eligibility Response\nconst dateRange = {\n  selector: [\"hixe\\\\:EligibilityDateRange\"],\n  children: {\n    start: {\n      selector: [\"nc\\\\:StartDate nc\\\\:Date\"],\n    },\n    end: {\n      selector: [\"nc\\\\:EndDate nc\\\\:Date\"],\n    },\n  },\n} as const\nconst indicator = {\n  selector: [\"hixe\\\\:EligibilityIndicator\"],\n  type: \"boolean\",\n} as const\nconst eligibility = {\n  dateRange,\n  indicator,\n  statusCode: { selector: [\"ext\\\\:ProgramEligibilityStatusCode\"] },\n} as const\n\nconst Applicant = {\n  selector: [\"ext\\\\:InsuranceApplicant\"],\n  children: {\n    id: { selector: [], attribute: \"s:id\" },\n    person_ref: {selector: [\"hix\\\\:RoleOfPersonReference\"], attribute: \"s:ref\"},\n    financialAssistance: {\n      selector: [\"hixe\\\\:InsuranceApplicantFinancialAssistanceIndicator\"],\n      type: \"boolean\",\n    },\n    student: {\n      selector: [\"hixe\\\\:InsuranceApplicantStudentIndicator\"],\n      type: \"boolean\",\n    },\n    exchangeApplicantId: {\n      selector: [\n        \"ext\\\\:ExchangeAssignedInsuranceApplicantIdentification nc\\\\:IdentificationID\",\n      ],\n    },\n    eligibility: {\n      selector: [\"ext\\\\:ProgramEligibilitySnapshot\"],\n      children: {\n        date: {\n          selector: [\"nc\\\\:ActivityDate nc\\\\:Date\"],\n        },\n        exchange: {\n          selector: [\"ext\\\\:ExchangeEligibility\"],\n          children: {\n            ...eligibility,\n          },\n        },\n        csr: {\n          selector: [\"ext\\\\:CSREligibility\"],\n          children: {\n            ...eligibility,\n            category: {\n              selector: [\"hixp\\\\:InsurancePlanVariantCategoryNumericCode\"],\n            },\n          },\n        },\n        chip: {\n          selector: [\"ext\\\\:CHIPEligibility\"],\n          children: {\n            indicator,\n          },\n        },\n        aptc: {\n          selector: [\"ext\\\\:APTCEligibility\"],\n          children: {\n            ...eligibility,\n            amount: {\n              selector: [\"ext\\\\:MonthlyAPTCAmount\"],\n            },\n          },\n        },\n        medical: {\n          selector: [\"ext\\\\:MedicaidEligibility\"],\n          children: {\n            indicator,\n          },\n        },\n      },\n    },\n    eligibilityInitial: {\n      selector: [\"ext\\\\:InitialEnrollmentPeriodEligibility\"],\n      children: {\n        dateRange,\n        indicator,\n        earliestQHPDate: {\n          selector: [\"ext\\\\:EarliestQHPEffectiveDate nc\\\\:Date\"],\n        },\n        latestQHPDate: {\n          selector: [\"ext\\\\:LatestQHPEffectiveDate nc\\\\:Date\"],\n        },\n      },\n    },\n    eligibilitySpecial: {\n      selector: [\"ext\\\\:SpecialEnrollmentPeriodEligibility\"],\n      children: {\n        dateRange,\n        indicator,\n        earliestQHPDate: {\n          selector: [\"ext\\\\:EarliestQHPEffectiveDate nc\\\\:Date\"],\n        },\n        latestQHPDate: {\n          selector: [\"ext\\\\:LatestQHPEffectiveDate nc\\\\:Date\"],\n        },\n        reason: {\n          selector: [\"ext\\\\:SpecialEnrollmentPeriodEligibilityReasonCode\"],\n        },\n        pendingVerification: {\n          selector: [\"ext\\\\:SpecialEnrollmentVerificationPendingIndicator\"],\n          type: \"boolean\",\n        },\n      },\n    },\n    metalLevels: {\n      selector: [\"ext\\\\:PlanMetalLevelOption\"],\n      children: {\n        allowed: {\n          selector: [\"ext\\\\:AllowedPlanMetalLevelType\"],\n          array: true,\n        },\n        currentOnly: {\n          selector: [\"ext\\\\:CurrentPlanOnlyIndicator\"],\n          type: \"boolean\",\n        },\n      },\n    },\n    currentMetalLevel: {\n      selector: [\"*|CurrentMetalLevelType\"],\n    },\n    dependentSEPOrNewMember: {\n      selector: [\"ext\\\\:DependentSEPOrNewMemberIndicator\"],\n    },\n    eligibilityHRA: {\n      selector: [\"ext\\\\:HRAEligibility\"],\n      children: {\n        indicatorICHRA: {\n          selector: [\"ext\\\\:ICHRAIndicator\"],\n          type: \"boolean\",\n        },\n        indicatorQSEHRA: {\n          selector: [\"ext\\\\:QSEHRAIndicator\"],\n          type: \"boolean\",\n        },\n      },\n    },\n  },\n} as const\n\nconst Person = {\n  selector: [\"ext\\\\:Person\"],\n  children: {\n    id: { selector: [], attribute: \"s:id\" },\n    dob: {\n      selector: [\"nc\\\\:PersonBirthDate nc\\\\:Date\"],\n    },\n    name: {\n      selector: [\"nc\\\\:PersonName\"],\n      children: {\n        first: { selector: [\"nc\\\\:PersonGivenName\"] },\n        middle: { selector: [\"nc\\\\:PersonMiddleName\"] },\n        last: { selector: [\"nc\\\\:PersonSurName\"] },\n      },\n    },\n    sex: {\n      selector: [\"nc\\\\:PersonSexCode\"],\n    },\n    relationshipCode: {\n      selector: [\"hix\\\\:PersonAssociation hix\\\\:FamilyRelationshipCode\"],\n    },\n    relationships: {\n      array: true,\n      selector: [\"hix\\\\:PersonAssociation\"],\n      children: {\n        to: { selector: [\"nc\\\\:PersonReference\"], attribute: \"s:ref\" },\n        code: { selector: [\"hix\\\\:FamilyRelationshipCode\"] },\n      },\n    },\n\n    languages: {\n      selector: [\"hix\\\\:PersonPreferredLanguage\"],\n      array: true,\n      children: {\n        name: { selector: [\"nc\\\\:LanguageName\"] },\n        speaks: {\n          selector: [\"nc\\\\:PersonSpeaksLanguageIndicator\"],\n          type: \"boolean\",\n        },\n        writes: {\n          selector: [\"nc\\\\:PersonWritesLanguageIndicator\"],\n          type: \"boolean\",\n        },\n      },\n    },\n    married: {\n      selector: [\"ext\\\\:PersonMarriedIndicator\"],\n      type: \"boolean\",\n    },\n  },\n} as const\n\nconst Member = {\n  selector: [\"ext\\\\:InsuranceMember\"],\n  children: {\n    applicant_id: {selector:[\"ext\\\\:OriginatingInsuranceApplicantReference\"], attribute: \"s:ref\"},\n    id_exchange: {\n      selector: [\n        \"ext\\\\:ExchangeAssignedInsuranceMemberIdentification nc\\\\:IdentificationID\",\n      ],\n    },\n    id_issuer: {\n      selector: [\n        \"ext\\\\:IssuerAssignedInsuranceMemberIdentification nc\\\\:IdentificationID\",\n      ],\n    },\n    tobaccoUse: {\n      selector: [\"ext\\\\:TobaccoUseIndicator\"],\n\n      type: \"boolean\",\n    },\n    coverageDateRange: {\n      ...dateRange,\n      selector: [\"ext\\\\:InsuranceMemberCoverageDateRange\"],\n    },\n  },\n} as const\n\nexport const eligibilityMapResponse = {\n  snapshotDate: {\n    selector: [\"ext\\\\:ProgramEligibilitySnapshot nc\\\\:ActivityDate nc\\\\:Date\"],\n  },\n  exchangeApplicantId: {\n    selector: [\n      \"ext\\\\:ExchangeAssignedInsuranceApplicantIdentification nc\\\\:IdentificationID\",\n    ],\n  },\n  userAPTCStartDate: {\n    selector: [\"ext\\\\:APTCEligibility hixe\\\\:EligibilityDateRange nc\\\\:StartDate nc\\\\:Date\"],\n  },\n  eligibilityEnrollmentInitial_Indicator: {\n    selector: [\"ext\\\\:InitialEnrollmentPeriodEligibility hixe\\\\:EligibilityIndicator\"],\n  },\n  eligibilityEnrollmentInitial_StartDate: {\n    selector: [\n      \"ext\\\\:InitialEnrollmentPeriodEligibility hixe\\\\:EligibilityDateRange nc\\\\:StartDate nc\\\\:Date\",\n    ],\n  },\n  eligibilityEnrollmentInitial_EndDate: {\n    selector: [\n      \"ext\\\\:InitialEnrollmentPeriodEligibility hixe\\\\:EligibilityDateRange nc\\\\:EndDate nc\\\\:Date\",\n    ],\n  },\n  eligibilityEnrollmentInitial_EarliestQHPDate: {\n    selector: [\n      \"ext\\\\:InitialEnrollmentPeriodEligibility ext\\\\:EarliestQHPEffectiveDate nc\\\\:Date\",\n    ],\n  },\n  eligibilityEnrollmentInitial_LatestQHPDate: {\n    selector: [\n      \"ext\\\\:InitialEnrollmentPeriodEligibility ext\\\\:LatestQHPEffectiveDate nc\\\\:Date\",\n    ],\n  },\n  eligibilityEnrollmentSpecial_Indicator: {\n    selector: [\"ext\\\\:SpecialEnrollmentPeriodEligibility hixe\\\\:EligibilityIndicator\"],\n  },\n  eligibilityEnrollmentSpecial_StartDate: {\n    selector: [\n      \"ext\\\\:SpecialEnrollmentPeriodEligibility hixe\\\\:EligibilityDateRange nc\\\\:StartDate nc\\\\:Date\",\n    ],\n  },\n  eligibilityEnrollmentSpecial_EndDate: {\n    selector: [\n      \"ext\\\\:SpecialEnrollmentPeriodEligibility hixe\\\\:EligibilityDateRange nc\\\\:EndDate nc\\\\:Date\",\n    ],\n  },\n  eligibilityEnrollmentSpecial_EarliestQHPDate: {\n    selector: [\n      \"ext\\\\:SpecialEnrollmentPeriodEligibility ext\\\\:EarliestQHPEffectiveDate nc\\\\:Date\",\n    ],\n  },\n  eligibilityEnrollmentSpecial_LatestQHPDate: {\n    selector: [\n      \"ext\\\\:SpecialEnrollmentPeriodEligibility ext\\\\:LatestQHPEffectiveDate nc\\\\:Date\",\n    ],\n  },\n  eligibilityAPTCElected: {\n    selector: [\"ext\\\\:APTCEligibility ext\\\\:MonthlyAPTCAmount\"],\n  },\n  eligibilityAllowedMetalLevels: {\n    selector: [\"ext\\\\:AllowedPlanMetalLevelType\"],\n    array: true,\n  },\n  eligibilityCSRIndicator: {\n    selector: [\"ext\\\\:CSREligibility hixe\\\\:EligibilityIndicator\"],\n  },\n  eligibilityCSRVariantCategory: {\n    selector: [\"hixp\\\\:InsurancePlanVariantCategoryNumericCode\"],\n  },\n  userEmail: {\n    selector: [\"nc\\\\:ContactEmailID\"],\n  },\n  userPhone: {\n    selector: [\"nc\\\\:TelephoneNumberFullID\"],\n  },\n  userAddress: {\n    selector: [\"nc\\\\:StreetFullText\"],\n  },\n  userAddressCity: {\n    selector: [\"nc\\\\:LocationCityName\"],\n  },\n  userAddressCounty: {\n    selector: [\"nc\\\\:LocationCountyName\"],\n  },\n  userAddressCountyCode: {\n    selector: [\"ext\\\\:LocationCountyCode\"],\n  },\n  userAddressStateCode: {\n    selector: [\"nc\\\\:LocationStateUSPostalServiceCode\"],\n  },\n  userAddressZipCode: {\n    selector: [\"nc\\\\:LocationPostalCode\"],\n  },\n  userDOB: {\n    selector: [\"nc\\\\:PersonBirthDate nc\\\\:Date\"],\n    do_not_merge_same_selector: true,\n  },\n  userFirstName: {\n    selector: [\"nc\\\\:PersonGivenName\"],\n    do_not_merge_same_selector: true,\n  },\n  userMiddleName: {\n    selector: [\"nc\\\\:PersonMiddleName\"],\n    do_not_merge_same_selector: true,\n  },\n  userLastName: {\n    selector: [\"nc\\\\:PersonSurName\"],\n    do_not_merge_same_selector: true,\n  },\n  userSex: {\n    selector: [\"nc\\\\:PersonSexCode\"],\n    do_not_merge_same_selector: true,\n  },\n  object: {\n    selector: [\"ext\\\\:ApplicantEligibilityResponse\"],\n    children: {\n      insuranceApplication: {\n        selector: [\"ext\\\\:InsuranceApplication\"],\n        children: {\n          applicant: {\n            ...Applicant,\n            do_not_merge_same_selector: true,\n          },\n          applicants: {\n            ...Applicant,\n            array: true,\n          },\n\n          multipleTaxHouse: {\n            selector: [\"ext\\\\:InsuranceApplicationMultipleTaxHouseholdIndicator\"],\n            type: \"boolean\",\n          },\n        },\n      },\n      contact: {\n        selector: [\"ext\\\\:ContactInformation\"],\n        children: {\n          email: {\n            selector: [\"nc\\\\:ContactEmailID\"],\n          },\n          phoneMain: {\n            selector: [\n              \"hix\\\\:ContactMainTelephoneNumber nc\\\\:FullTelephoneNumber nc\\\\:TelephoneNumberFullID\",\n            ],\n          },\n          phoneMobile: {\n            selector: [\n              \"nc\\\\:ContactMobileTelephoneNumber nc\\\\:FullTelephoneNumber nc\\\\:TelephoneNumberFullID\",\n            ],\n          },\n          address: {\n            selector: [\"ext\\\\:ContactMailingAddress ext\\\\:StructuredAddress\"],\n            children: {\n              street: {\n                selector: [\"nc\\\\:LocationStreet nc\\\\:StreetFullText\"],\n              },\n              city: {\n                selector: [\"nc\\\\:LocationCityName\"],\n              },\n              county: {\n                selector: [\"nc\\\\:LocationCountyName\"],\n              },\n              countyCode: {\n                selector: [\"ext\\\\:LocationCountyCode\"],\n              },\n              stateCode: {\n                selector: [\"nc\\\\:LocationStateUSPostalServiceCode\"],\n              },\n              zip: {\n                selector: [\"nc\\\\:LocationPostalCode\"],\n              },\n            },\n          },\n        },\n      },\n      person: {\n        ...Person,\n        do_not_merge_same_selector: true,\n      },\n      persons: {\n        ...Person,\n        children: {\n          ...Person.children,\n        },\n        array: true,\n      },\n      policies: {\n        selector: [\"ext\\\\:InsurancePolicy\"],\n        array: true,\n        children: {\n          dateEffective: {\n            selector: [\"hixe\\\\:InsurancePolicyEffectiveDate nc\\\\:Date\"],\n          },\n          dateExpiration: {\n            selector: [\"hixe\\\\:InsurancePolicyExpirationDate nc\\\\:Date\"],\n          },\n          member: {\n            ...Member,\n            do_not_merge_same_selector: true,\n          },\n          members: {\n            ...Member,\n            array: true,\n          },\n          id_issuer: {\n            selector: [\n              \"ext\\\\:IssuerAssignedInsurancePolicyIdentification nc\\\\:IdentificationID\",\n            ],\n          },\n          id_exchange: {\n            selector: [\n              \"ext\\\\:ExchangeAssignedInsurancePolicyIdentification nc\\\\:IdentificationID\",\n            ],\n          },\n          premium: {\n            selector: [\"ext\\\\:InsurancePremium\"],\n            children: {\n              amount: {\n                selector: [\"hixe\\\\:InsurancePremiumAmount\"],\n                type: \"number\",\n              },\n              aptc_max: {\n                selector: [\"ext\\\\:InsurancePremiumMonthlyMaximumAllowedAPTCAmount\"],\n                type: \"number\",\n              },\n              aptc_elected: {\n                selector: [\"ext\\\\:InsurancePremiumElectedAPTCAmount\"],\n                type: \"number\",\n              },\n              aptc_applied: {\n                selector: [\"ext\\\\:InsurancePremiumAppliedAPTCAmount\"],\n                type: \"number\",\n              },\n              responsibility: {\n                selector: [\n                  \"ext\\\\:InsurancePremiumIndividualResponsibilityTotalAmount\",\n                ],\n                type: \"number\",\n              },\n            },\n          },\n          plan: {\n            selector: [\"hixe\\\\:InsurancePlan\"],\n            children: {\n              id: {\n                selector: [\n                  \"hixp\\\\:InsurancePlanStandardComponentIdentification nc\\\\:IdentificationID\",\n                ],\n              },\n              variant: {\n                selector: [\n                  \"hixp\\\\:InsurancePlanVariant hixp\\\\:InsurancePlanVariantIdentification nc\\\\:IdentificationID\",\n                ],\n              },\n              id_issuer: {\n                selector: [\n                  \"hixp\\\\:Issuer hixp\\\\:IssuerIdentification nc\\\\:IdentificationID\",\n                ],\n              },\n            },\n          },\n          status: {\n            selector: [\"hixe\\\\:InsurancePolicyStatus hixe\\\\:InsurancePolicyStatusCode\"],\n          },\n        },\n      },\n    },\n  },\n} as const\n//#endregion\nexport type EligibilityQuery = MapMapping2<typeof eligibilityMapRequest>\nexport type EligibilityResponse = MapMapping2<typeof eligibilityMapResponse>\n\n//#region Submit Request\nexport const submitMapRequest = {\n  stateCode: {\n    selector: [\"hix\\\\:InformationExchangeSystemStateCode\"],\n    default: \"FL\",\n  },\n  partnerId: {\n    selector: [\"hix\\\\:InformationExchangeSystemIdentification nc\\\\:IdentificationID\"],\n    default: partnerID,\n  },\n  partnerAssignedId: {\n    selector: [\n      \"ext\\\\:SSFPrimaryContactPartnerAssignedIdentification nc\\\\:IdentificationID\",\n    ],\n    default: \"\",\n  },\n  exchangeAssignedId: {\n    selector: [\n      \"ext\\\\:SSFPrimaryContactExchangeAssignedIdentification nc\\\\:IdentificationID\",\n    ],\n    default: \"\",\n  },\n  aptcIndicator: {\n    type: \"boolean\",\n    selector: [\n      \"ext\\\\:SSFPrimaryContact ext\\\\:APTCAttestationProvidedIndicator\"\n    ],\n    format: \"boolean\",\n    default: true\n  },\n  userCode: {\n    selector: [\"ext\\\\:PartnerWebSiteUserCode\"],\n    default: \"Consumer\" as \"Consumer\" | \"Broker\",\n  },\n  userEmail: {\n    selector: [\"ext\\\\:ExchangeUserIdentification nc\\\\:IdentificationID\"],\n    default: \"emailnotset@yopmail.com\",\n  },\n  persons: {\n    selector: [\"ext\\\\:Person\"],\n    children: {\n      id: {\n        selector: [],\n        attribute: \"s:id\",\n      },\n      sex: {\n        selector: [\"nc\\\\:PersonSexCode\"],\n        default: \"\",\n      },\n      ssn: {\n        selector: [\"nc\\\\:PersonSSNIdentification nc\\\\:IdentificationID\"],\n        default: \"111111111\",\n      },\n      dob: {\n        selector: [\"nc\\\\:PersonBirthDate nc\\\\:Date\"],\n        default: \"2000-01-01\",\n      },\n      firstName: {\n        selector: [\"nc\\\\:PersonGivenName\"],\n        default: \"\",\n      },\n      middleName: {\n        selector: [\"nc\\\\:PersonMiddleName\"],\n        default: \"\",\n      },\n      lastName: {\n        selector: [\"nc\\\\:PersonSurName\"],\n        default: \"\",\n      },\n    },\n    array: true,\n  },\n  \n  \n  \n  \n  policyCreationActivities: {\n    selector: [\"ext\\\\:PolicyCreationActivity\"],\n    children: {\n      actionEffectiveDate: {\n        selector: [\"ext\\\\:ActionEffectiveDate nc\\\\:Date\"]\n      },\n      policyPremium: {\n        selector: [\"hixe\\\\:InsurancePremiumAmount\"],\n        default: \"0.00\",\n      },\n      eligibilityAPTCElected: {\n        selector: [\"ext\\\\:InsurancePremiumElectedAPTCAmount\"],\n        default: \"0.00\",\n        format: \"number\",\n      },\n      policyAPTCApplied: {\n        selector: [\"ext\\\\:InsurancePremiumAppliedAPTCAmount\"],\n        default: \"0.00\",\n        format: \"number\",\n      },\n      policyRateArea: {\n        selector: [\"hixp\\\\:RateAreaIdentification nc\\\\:IdentificationID\"],\n        default: \"\",\n      },\n      eligibilityCSRVariantCategory: {\n        selector: [\"hixp\\\\:InsurancePlanVariantCategoryNumericCode\"],\n        default: \"01\",\n      },\n      policyPremiumResponsibility: {\n        selector: [\"ext\\\\:InsurancePremiumIndividualResponsibilityTotalAmount\"],\n        default: \"0.00\",\n        format: \"number\",\n      },\n      applicants: {\n        selector: [\"ext\\\\:InsuranceApplicant\"],\n        children: {\n          id: {\n            selector: [],\n            attribute: \"s:id\",\n          },\n          person_ref: {\n            selector: [\"hix\\\\:RoleOfPersonReference\"],\n            attribute: \"s:ref\",\n          },\n          identification: {\n            selector: [\n              \"ext\\\\:ExchangeAssignedInsuranceApplicantIdentification nc\\\\:IdentificationID\",\n            ],\n            default: \"\",\n          },\n          tobaccoUse: {\n            selector: [\"ext\\\\:TobaccoUseIndicator\"],\n            type: \"boolean\",\n            format: \"boolean\",\n          },\n          proposedSubscriber: {\n            selector: [\"ext\\\\:ProposedSubscriberIndicator\"],\n            type: \"boolean\",\n            format: \"boolean\",\n          },\n          relationshipToSubscriberCode: {\n            selector: [\"ext\\\\:RelationshipToSubscriberCode\"],\n            default: \"18\",\n          },\n        },\n        array: true,\n      },\n      planId: {\n        selector: [\n          \"hixp\\\\:InsurancePlanStandardComponentIdentification nc\\\\:IdentificationID\",\n        ],\n        default: \"\",\n      },\n      planIssuerId: {\n        selector: [\"hixp\\\\:IssuerIdentification nc\\\\:IdentificationID\"],\n        default: \"\",\n      },\n      planVariant: {\n        selector: [\"hixp\\\\:InsurancePlanVariantIdentification nc\\\\:IdentificationID\"],\n        default: \"01\",\n      },\n      policyEffectiveDate: {\n        selector: [\n          \"hixe\\\\:InsurancePolicyEffectiveDate nc\\\\:Date\",\n        ],\n        default: \"\",\n      },\n      policyExpirationDate: {\n        selector: [\n          \"hixe\\\\:InsurancePolicyExpirationDate nc\\\\:Date\",\n        ],\n        default: \"\",\n      }\n    },\n    array: true,\n  },\n} as const\n//#endregion\n//#region Submit Response\nexport const submitMapResponse = {\n  activityResponse: {\n    selector: [\"ext\\\\:PolicyActivityResponseCode\", \"ext\\\\:ResponseDescriptionText\"],\n  },\n  CorrectedInsurancePremiumAppliedAPTCAmount: {\n    selector: [\n      \"*|CorrectedInsurancePremium *|InsurancePremiumAppliedAPTCAmount\",\n    ],\n  },\n  CorrectedInsurancePremiumAmount: {\n    selector: [\"*|CorrectedInsurancePremium *|InsurancePremiumAmount\"],\n  },\n  transactionId: {\n    selector: [\"ext\\\\:PaymentTransactionID\"],\n  },\n} as const\n//#endregion\nexport type SubmitQuery = MapMapping2<typeof submitMapRequest>\nexport type SubmitResponse = MapMapping2<typeof submitMapResponse>\n\n//#region Plan Search\nexport type PlansSearchQuery = {\n  query?: Partial<MPP_PlanSearchQuery>\n  eligibilityData: EligibilityResponse\n}\nexport type PlansReturn = (\n  | {\n    planResponse: MPP_PlanDetailReturn\n    plansResponse?: any\n  }\n  | {\n    planResponse?: any\n    plansResponse: MPP_PlanSearchReturn\n  }\n) & {\n  county: ZIPCounty\n  planQuery: MPP_PlanSearchQuery\n  rateArea: string\n}\n//#endregion\n"}