Executive Summary
JIL Sovereign's normalization layer ingests messages from four largely incompatible healthcare and claims data standards - X12 electronic data interchange, HL7 version 2 clinical messaging, NCPDP pharmacy claim formats, and FHIR resources - through four independent, protocol-specific adapters, each mapping its native format into one shared canonical event schema. What distinguishes the layer is not the mapping itself, but three conventions every adapter deliberately follows regardless of source protocol.
First, a strict three-timestamp model that is never collapsed: the time an event actually occurred, the time the source message was created, and the time the message was ingested are recorded as three distinct fields, for every event, from every source. Second, verbatim raw-segment preservation: each adapter retains the original, un-normalized native segment or resource alongside its interpreted canonical fields, rather than discarding the source once parsed. Third, a common reversible placeholder-identity convention: when an inbound message references an entity not yet resolved to a canonical identity, the adapter writes a reversible, deterministically resolvable placeholder rather than blocking ingestion or guessing a match.
Problem Statement
Healthcare and claims data arrives through standards built for different eras and different purposes: X12's 837/835 claims and remittance EDI transactions, HL7v2's loosely specified pipe-delimited clinical messaging, NCPDP's pharmacy-specific claim format, and FHIR's modern REST/JSON resource model. Each has its own native timestamp semantics, its own encoding conventions, and its own way of referring to patients, members, and providers. A naive integration project that forces all four into a single canonical schema tends to fail in one of three predictable ways.
It collapses distinct timing concepts into a single "as-of" field, destroying the evidentiary precision needed to answer questions like "when did this actually happen" versus "when were we told." It discards the raw wire-format message once parsed, so a later dispute over what a message actually said has no ground truth beyond the interpreted copy - which is exactly the copy in question if the dispute is about a parsing or mapping error. Or it blocks ingestion until identity resolution completes, creating backlogs and silent data loss under load, or forces a best-guess identity match that, if wrong, corrupts every downstream record derived from it.
Native Standard Comparison
| Standard | Primary Domain | Native Timestamp Semantics | Native Identity Model |
|---|---|---|---|
| X12 (837/835) | Claims and remittance EDI | Transaction and service-date segments, loosely standardized | Subscriber/member identifiers, payer-specific formats |
| HL7v2 | Clinical messaging | Message-time fields, inconsistently populated across sending systems | MRN and site-specific patient identifiers |
| NCPDP | Pharmacy claims | Fill-date and transaction-date fields | Cardholder/member ID, plan-specific |
| FHIR | Modern clinical REST/JSON | Resource-level timestamps, more consistently structured | Resource references, requiring cross-system reconciliation |
Why Generic Integration Engines Fall Short
- Generic interoperability engines (Mirth Connect, Rhapsody-style tooling): optimized for clinical/operational message routing, not for preserving evidentiary fidelity of the source data across all four standards uniformly.
- Point-to-point custom converters: typically built one protocol at a time, without a shared timestamp or identity discipline enforced consistently across all sources.
- Single-timestamp warehousing pipelines: collapse timing into one "event date" field for simplicity, at the cost of the evidentiary distinctions this layer preserves.
Technical Architecture
Adapter Convergence Model
Four independent, protocol-specific adapters - one each for X12, HL7v2, NCPDP, and FHIR - each ingest messages in their native format and map them into one shared canonical event schema. The adapters are architecturally independent of one another; none depends on another's internal parsing logic. What unifies them is not shared code, but three shared conventions applied consistently regardless of source protocol.
Convention 1: The Three-Timestamp Model
Every canonical event carries three distinct, independently populated timestamps that are never merged or collapsed into a single field: the time the underlying real-world event occurred, the time the source system created or sent the message describing it, and the time this normalization layer ingested the message. All three persist for the life of the record, regardless of which of the four source protocols the event originated from.
Convention 2: Verbatim Raw-Segment Preservation
Alongside the interpreted, canonical fields, each adapter retains the exact original native segment or resource fragment - the X12 segment, the HL7v2 segment, the NCPDP field, or the FHIR resource fragment - byte-for-byte. If a mapping rule is later found to be incorrect, or a standard-version ambiguity is discovered, the untouched source remains available to re-derive from, rather than only the potentially-flawed interpreted copy.
Convention 3: Reversible Placeholder Identity
When an inbound message references a patient, member, or provider not yet resolved to a canonical identity, the adapter writes a reversible, tokenized placeholder identity rather than blocking ingestion or guessing a possibly-wrong match. Once identity resolution completes, the placeholder is deterministically resolvable back to - and swappable for - the canonical identity, without loss or corruption of any events ingested in the interim.
Three-Timestamp Model & Adapter Conventions
| Timestamp | Represents | Why It Cannot Be Collapsed |
|---|---|---|
| Event-occurred time | When the underlying real-world event actually happened | The fact a timely-filing or statute-of-limitations analysis must anchor to |
| Source-created time | When the originating system created or transmitted the message | Distinguishes a delayed report from a delayed occurrence |
| Ingested time | When this normalization layer received and processed the message | Establishes what was actually knowable to downstream systems, and when |
Because all three are retained independently rather than reduced to a single "event date," downstream evidentiary and clinical-correlation work can distinguish, after the fact, precisely which of the three questions - when it happened, when it was reported, when it was received - is being asked, without depending on which one happened to be captured.
Prior Art Differentiation
| Approach | Uniform Timestamp Discipline Across Protocols? | Raw Source Preserved Verbatim? | Non-Blocking Identity Resolution? |
|---|---|---|---|
| Generic interoperability engines (Mirth/Rhapsody-style) | Not enforced uniformly | Typically discarded after parsing | Varies by configuration |
| Point-to-point custom converters | No - inconsistent per protocol/team | Rarely retained systematically | Often blocks or best-guesses |
| Single-timestamp warehousing pipelines | No - deliberately collapsed for simplicity | No | Varies |
| JIL evidentiary-aware normalization layer | Yes - all four adapters, three timestamps each | Yes - verbatim, co-stored | Yes - reversible placeholder identity |