Skip to main content

State examples (Ohio MITS)

Outcome

You have a worked example of a real, in-production companion guide for one state Medicaid system (Ohio MITS) and can use it as a model for similar state guides — recognizing the patterns that recur across states.

Prerequisites

You have read 7.1 — The editor and 7.2 — Rule types & applicator. The Ohio MITS reference fixture lives at packages/x12/src/companion-guides/ohio-mits.test.ts and is the authoritative source for what is shown below.

What Ohio MITS is

The Ohio Medicaid Information Technology System (MITS) is the state's fiscal agent for Medicaid claims. Ohio MITS publishes a companion guide that adds a small set of state-specific overlays on top of the standard 837P / 837I / 270 / 271 implementation conventions. The platform's Ohio MITS guide encodes those overlays.

The full rule set (illustrative)

The shipped guide carries roughly two dozen rules. The categories:

Submitter / receiver overrides

rule_type: override
location: 1000B.NM1[NM101=40].NM103
value: "OHIO MEDICAID"
note: ISA-bound name should always read OHIO MEDICAID, not the partner display name.

rule_type: override
location: 1000B.NM1[NM101=40].NM109
value: "0617003"
note: Ohio MITS submitter ID, not the standard payer NPI.

Provider taxonomy validation

rule_type: validate
location: 2010AA.PRV[PRV01=BI].PRV03
expression: oneOf({PRV03}, [
"171M00000X", "171R00000X", "183500000X",
"175F00000X", "1041C0700X", "101200000X"
])
note: |
Ohio's IDD waiver only accepts a fixed taxonomy set. If the billing
provider's taxonomy is not in this list, the claim will be silently
pended at MITS.

Service location rules

rule_type: append
location: 2310C.N4+1
segment: REF*LU*{serviceLocation.countyCode}~
note: |
Ohio requires the service-location county FIPS code in a REF*LU. Without
it, IDD waiver claims fail downstream verification.

Diagnosis pointer constraints

rule_type: validate
location: 2400.SV1.SV107
expression: and(
match({SV107}, "^[0-9]+(:[0-9]+)*$"),
len(split({SV107}, ":")) <= 4
)
note: |
Ohio MITS rejects more than four diagnosis pointers per line, even when
the implementation convention permits up to eight.

Required K3 segments

rule_type: append
location: 2300.HI[HI01:1=BK]+1
segment: K3*WAIVER:{program.waiverCode}*0~
note: |
IDD waiver claims must carry the waiver code in a K3 immediately after
the principal diagnosis HI. Other Ohio programs may require different K3s.

Tax ID handling for solo providers

rule_type: override
location: 2010AA.REF[REF01=EI].REF02
value: "{billingProvider.tin}"
condition: eq({billingProvider.organizationType}, "SOLO")
note: |
Solo / sole-prop providers send TIN, not EIN. The override only applies
when the billing provider is registered as SOLO.

Patterns that recur across states

Reading Ohio's guide alongside California, New York, or Texas highlights common themes:

PatternWhy states do it
Submitter / receiver name overrideThe state's MMIS expects a fixed display name in 1000B regardless of how the partner is referenced upstream.
Taxonomy validationEach state enforces its own approved-taxonomy list per program.
County / region appendingMost state Medicaid systems require a county FIPS or region code in a REF*LU.
Diagnosis pointer capsStates cap pointers below the 8 the standard allows (4 is typical).
Required K3 segmentsEach state has its own K3 family — waiver code, program specifier, special-population indicator.
TIN vs EIN handlingSolo providers and group providers carry different REF qualifiers.

When onboarding a new state, scan its published guide for these six patterns first; they account for the vast majority of state-specific overlays.

Steps to onboard a new state from a published guide

  1. Read the state's published companion guide PDF cover-to-cover. Note every section that says "differs from standard" or "in addition to the standard implementation."

  2. Open /companion-guides+ New guide. Pick the trading partner and target transaction (837P / 837I / 270 / etc.).

  3. Author rules pattern-by-pattern. Use the Ohio MITS fixture as the template. The pattern table above covers ~80% of any state guide.

  4. Test against state-published sample transactions. Most states publish test cases; drop them into Live preview. The transformed output should match the state's expected examples.

  5. Run Test connection on the trading partner (2.5 — Probe & test connection) to confirm the partner accepts the new envelope.

  6. Activate with an effective_from aligned to the state's mandated go-live date.

Validation

CheckExpected
Live preview against the state's published sample matchesYes — character-for-character on the diff.
Test connection succeeds end-to-endYes.
First production claim acknowledged with STC01 = A2:20Yes — accepted into adjudication.
No payer-pended claims for the first weekConfirms taxonomy and K3 rules are correct.

Troubleshooting

SymptomCauseFix
State pends claims silentlyValidation rules are too laxTighten the validate expressions; the state's pending criteria are usually published in the guide PDF.
Live preview matches but production rejectsThe state added a new rule between guide publication and your activationRead the state's change log; clone and add the new rule.
K3 segments arrive in wrong orderappend position selector wrongUse a more-specific anchor (e.g. HI[HI01:1=BK]+1 rather than HI+1).
Provider taxonomy rejects but the operator believes it is validThe taxonomy code is valid in NPPES but not on the state's approved listThe state's guide is final; change the billing provider's enrolled taxonomy with the state.

Next

2.1 — Onboard a new trading partner shows how guides bind to partners.