@cosyte/x12 0.0.13 → 0.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +369 -2
- package/KNOWN-LIMITATIONS.md +325 -8
- package/dist/index.cjs +131 -26
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +277 -25
- package/dist/index.d.ts +277 -25
- package/dist/index.mjs +130 -27
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -78,6 +78,7 @@ declare const WARNING_CODES: {
|
|
|
78
78
|
readonly X12_UNKNOWN_HI_QUALIFIER: "X12_UNKNOWN_HI_QUALIFIER";
|
|
79
79
|
readonly X12_MISSING_REQUIRED_LOOP: "X12_MISSING_REQUIRED_LOOP";
|
|
80
80
|
readonly X12_837_UNKNOWN_VARIANT: "X12_837_UNKNOWN_VARIANT";
|
|
81
|
+
readonly X12_837_AMBIGUOUS_VARIANT: "X12_837_AMBIGUOUS_VARIANT";
|
|
81
82
|
readonly X12_UNKNOWN_CLAIM_STATUS_CATEGORY: "X12_UNKNOWN_CLAIM_STATUS_CATEGORY";
|
|
82
83
|
readonly X12_UNKNOWN_CLAIM_STATUS: "X12_UNKNOWN_CLAIM_STATUS";
|
|
83
84
|
readonly X12_834_UNKNOWN_MAINTENANCE_TYPE: "X12_834_UNKNOWN_MAINTENANCE_TYPE";
|
|
@@ -85,6 +86,7 @@ declare const WARNING_CODES: {
|
|
|
85
86
|
readonly X12_837_SERVICE_LINE_NOT_DECODED: "X12_837_SERVICE_LINE_NOT_DECODED";
|
|
86
87
|
readonly X12_837_SERVICE_LINE_DROPPED: "X12_837_SERVICE_LINE_DROPPED";
|
|
87
88
|
readonly X12_837_SERVICE_SEGMENT_WITHOUT_LX: "X12_837_SERVICE_SEGMENT_WITHOUT_LX";
|
|
89
|
+
readonly X12_837_SERVICE_SEGMENT_REPEATED: "X12_837_SERVICE_SEGMENT_REPEATED";
|
|
88
90
|
readonly X12_837_ENTITY_SEGMENT_DISCARDED_AFTER_LX: "X12_837_ENTITY_SEGMENT_DISCARDED_AFTER_LX";
|
|
89
91
|
readonly X12_837_PAY_TO_ADDRESS_REPEATED: "X12_837_PAY_TO_ADDRESS_REPEATED";
|
|
90
92
|
readonly X12_835_BALANCE_NOT_EVALUABLE: "X12_835_BALANCE_NOT_EVALUABLE";
|
|
@@ -602,6 +604,38 @@ declare function missingRequiredLoop(position: X12Position, loop: X12RequiredLoo
|
|
|
602
604
|
* ```
|
|
603
605
|
*/
|
|
604
606
|
declare function unknown837Variant(position: X12Position): X12ParseWarning;
|
|
607
|
+
/**
|
|
608
|
+
* Build an `X12_837_AMBIGUOUS_VARIANT` warning. Emitted by the 837 helper
|
|
609
|
+
* when the SVx fall-back is what resolved the variant AND the transaction
|
|
610
|
+
* body carries service segments naming more than one variant, so the
|
|
611
|
+
* resolution is a guess between contradictory evidence. The submission still
|
|
612
|
+
* ships with the resolved variant on `submission.variant`; nothing about how
|
|
613
|
+
* any claim or line decodes is changed by this warning.
|
|
614
|
+
*
|
|
615
|
+
* It reports the RESOLUTION, not the document. A caller-supplied `opts.type`
|
|
616
|
+
* wins ahead of the fall-back, and so does an ST-03 naming one of the three
|
|
617
|
+
* known implementation-convention references, and in either case no guess was
|
|
618
|
+
* made and this code is not raised however mixed the body is.
|
|
619
|
+
*
|
|
620
|
+
* Which service segment is the stray one is deliberately not decided: this
|
|
621
|
+
* reader cannot tell a stray service segment from a conformant one, and the
|
|
622
|
+
* fall-back takes the first in the body whether or not a Loop 2400 was open
|
|
623
|
+
* at it. Distinct from {@link unknown837Variant}, which is raised where
|
|
624
|
+
* NOTHING resolved a variant; the two can never travel together, because a
|
|
625
|
+
* body with conflicting service segments has at least one to fall back on.
|
|
626
|
+
*
|
|
627
|
+
* `get837Claims` anchors this at the **ST**, which is `tx.segments[0]` and
|
|
628
|
+
* carries the ST-03 that would have settled the question. No `elementIndex`
|
|
629
|
+
* is set: the conflict is a property of the body rather than of an element,
|
|
630
|
+
* and one route into it is an ST-03 that is absent altogether.
|
|
631
|
+
*
|
|
632
|
+
* @example
|
|
633
|
+
* ```ts
|
|
634
|
+
* import { ambiguous837Variant } from "@cosyte/x12";
|
|
635
|
+
* const w = ambiguous837Variant({ segmentIndex: 0, transactionIndex: 0 });
|
|
636
|
+
* ```
|
|
637
|
+
*/
|
|
638
|
+
declare function ambiguous837Variant(position: X12Position): X12ParseWarning;
|
|
605
639
|
/**
|
|
606
640
|
* Build an `X12_837_SERVICE_LINE_NOT_DECODED` warning. Emitted by the 837
|
|
607
641
|
* helper when a Loop 2400 service line is closed without ever having
|
|
@@ -665,7 +699,10 @@ declare function serviceLineDropped(position: X12Position): X12ParseWarning;
|
|
|
665
699
|
* implementation convention, the reader falls back to the first
|
|
666
700
|
* SV1 / SV2 / SV3 in the transaction, and a segment reported here is
|
|
667
701
|
* eligible for that fallback like any other - pre-existing behaviour,
|
|
668
|
-
* documented in `KNOWN-LIMITATIONS.md
|
|
702
|
+
* documented in `KNOWN-LIMITATIONS.md` and unchanged. Where that fallback
|
|
703
|
+
* decided the variant and the body names more than one,
|
|
704
|
+
* {@link ambiguous837Variant} reports the resolution as contested; it is
|
|
705
|
+
* additive and does not change which documents reach this code.
|
|
669
706
|
*
|
|
670
707
|
* @example
|
|
671
708
|
* ```ts
|
|
@@ -674,6 +711,52 @@ declare function serviceLineDropped(position: X12Position): X12ParseWarning;
|
|
|
674
711
|
* ```
|
|
675
712
|
*/
|
|
676
713
|
declare function serviceSegmentWithoutLx(position: X12Position): X12ParseWarning;
|
|
714
|
+
/**
|
|
715
|
+
* Build an `X12_837_SERVICE_SEGMENT_REPEATED` warning. Emitted by the 837
|
|
716
|
+
* helper at the second and each subsequent `SV1` / `SV2` / `SV3` to arrive
|
|
717
|
+
* inside one open Loop 2400. `position` names the repeated service segment
|
|
718
|
+
* itself, which is the segment a consumer resolves back through
|
|
719
|
+
* `tx.segments`; there is no `elementIndex`, because what is reported is a
|
|
720
|
+
* second occurrence of the segment rather than a defect in any element of it.
|
|
721
|
+
*
|
|
722
|
+
* Once per repeat, so three service segments in one Loop 2400 are two
|
|
723
|
+
* warnings. The count lives on the line and is cleared when the line flushes,
|
|
724
|
+
* so a first service segment under a later `LX` is a first and never a
|
|
725
|
+
* repeat - a scope, not a latch.
|
|
726
|
+
*
|
|
727
|
+
* **The rule the reader applies, because a consumer cannot infer it from a
|
|
728
|
+
* one-slot model:** occurrences are never merged and the LAST one matching
|
|
729
|
+
* the submission's resolved variant wins, writing every slot its kind writes.
|
|
730
|
+
* So an earlier matching occurrence leaves nothing on the line, not even in a
|
|
731
|
+
* slot the later one's own element is absent from - there the later one's
|
|
732
|
+
* `undefined` replaces an amount the earlier one stated. Through `0.0.13` a
|
|
733
|
+
* charge of `8500` and a CPT of `99213` were replaced by a repeat's `12` and
|
|
734
|
+
* `99999` with `warnings: []`. An occurrence whose kind does NOT match the
|
|
735
|
+
* resolved variant is read into nothing and overwrites nothing.
|
|
736
|
+
*
|
|
737
|
+
* It reports that the DOCUMENT sent more than one, and asserts nothing about
|
|
738
|
+
* what usage the TR3s give the segment. It does not decide which occurrence
|
|
739
|
+
* the sender meant: this reader cannot tell a stray service segment from a
|
|
740
|
+
* conformant one, exactly as {@link ambiguous837Variant} records for the
|
|
741
|
+
* variant fallback.
|
|
742
|
+
*
|
|
743
|
+
* Disjoint from {@link serviceSegmentWithoutLx} by construction - that one
|
|
744
|
+
* fires only where no Loop 2400 is open and this one only where one is - so
|
|
745
|
+
* the two can never name the same segment. Read that as disjointness only:
|
|
746
|
+
* a service segment following an `LX` that opened no line is named by
|
|
747
|
+
* NEITHER, because {@link serviceLineDropped} at that `LX` already reports
|
|
748
|
+
* the loss and suppresses the orphan code. {@link serviceLineNotDecoded} is
|
|
749
|
+
* raised at the `LX` and reports that no matching service segment decoded
|
|
750
|
+
* onto the line at all; a document can carry both codes on different
|
|
751
|
+
* segments.
|
|
752
|
+
*
|
|
753
|
+
* @example
|
|
754
|
+
* ```ts
|
|
755
|
+
* import { serviceSegmentRepeated } from "@cosyte/x12";
|
|
756
|
+
* const w = serviceSegmentRepeated({ segmentIndex: 9, transactionIndex: 0 });
|
|
757
|
+
* ```
|
|
758
|
+
*/
|
|
759
|
+
declare function serviceSegmentRepeated(position: X12Position): X12ParseWarning;
|
|
677
760
|
/**
|
|
678
761
|
* Build an `X12_837_ENTITY_SEGMENT_DISCARDED_AFTER_LX` warning. Emitted by
|
|
679
762
|
* the 837 helper for an `N3` / `N4` / `PER` / `REF` that reached no party
|
|
@@ -2400,9 +2483,10 @@ declare function unescapeRelease(input: string, delimiters: Delimiters, emit: (w
|
|
|
2400
2483
|
* the untyped-refusal defect this package has fixed elsewhere. This is a pure
|
|
2401
2484
|
* text utility with no spec, no element and no caller context to name, so
|
|
2402
2485
|
* `TypeError` is the accurate answer for a wrong-typed argument. **Nothing
|
|
2403
|
-
* inside this library can reach it**:
|
|
2486
|
+
* inside this library can reach it**: every builder routes its elements
|
|
2404
2487
|
* through `src/builder/caller-string.ts`, which refuses first with the calling
|
|
2405
|
-
* builder's own typed, code-tagged error.
|
|
2488
|
+
* builder's own typed, code-tagged error. (No count: it is asserted by
|
|
2489
|
+
* `test/builder-string-type.test.ts` and was stale here.) This throw is the backstop for a
|
|
2406
2490
|
* consumer calling the export directly, where the alternative was silent data
|
|
2407
2491
|
* loss.
|
|
2408
2492
|
*
|
|
@@ -4864,10 +4948,10 @@ declare function checkRemitTotalBalance(bpr02: X12Decimal | undefined, claims: r
|
|
|
4864
4948
|
|
|
4865
4949
|
/**
|
|
4866
4950
|
* Typed model for an X12 005010 837 Healthcare Claim - the three sibling
|
|
4867
|
-
*
|
|
4868
|
-
* `
|
|
4869
|
-
* `get837Claims()` - adding fields is
|
|
4870
|
-
* fields is breaking.
|
|
4951
|
+
* TR3 families (`005010X222` Professional / `005010X223` Institutional /
|
|
4952
|
+
* `005010X224` Dental, each together with its published errata). The shape
|
|
4953
|
+
* is the public contract of `get837Claims()` - adding fields is
|
|
4954
|
+
* backward-compatible; renaming fields is breaking.
|
|
4871
4955
|
*
|
|
4872
4956
|
* Spec source: WPC TR3s for X222A2 / X223A3 / X224A2 plus the X12 005010
|
|
4873
4957
|
* base specification (envelope + segment definitions).
|
|
@@ -4879,10 +4963,15 @@ declare function checkRemitTotalBalance(bpr02: X12Decimal | undefined, claims: r
|
|
|
4879
4963
|
*
|
|
4880
4964
|
* Variant discrimination. {@link X12Claim837Variant} drives the
|
|
4881
4965
|
* service-line discriminated union ({@link X12_837ServiceLine}). The
|
|
4882
|
-
* walker reads ST-03's implementation convention reference
|
|
4883
|
-
*
|
|
4966
|
+
* walker reads ST-03's implementation convention reference where it
|
|
4967
|
+
* recognises one (the table lives beside `get837Claims`, and the sources
|
|
4968
|
+
* every key came from are named there); otherwise infers from service-line
|
|
4884
4969
|
* segment id (SV1 → P, SV2 → I, SV3 → D); otherwise marks the variant
|
|
4885
|
-
* `"unknown"` and emits `X12_837_UNKNOWN_VARIANT`.
|
|
4970
|
+
* `"unknown"` and emits `X12_837_UNKNOWN_VARIANT`. That inference takes the
|
|
4971
|
+
* FIRST such segment in the body, whether or not a Loop 2400 was open at it,
|
|
4972
|
+
* and where the body names more than one variant it emits
|
|
4973
|
+
* `X12_837_AMBIGUOUS_VARIANT` as well: the variant it resolved is a guess,
|
|
4974
|
+
* and a caller's `type` option is what settles it.
|
|
4886
4975
|
*/
|
|
4887
4976
|
|
|
4888
4977
|
/**
|
|
@@ -5632,8 +5721,24 @@ declare function get837Claims(delimiters: Delimiters, tx: X12TransactionSet, opt
|
|
|
5632
5721
|
|
|
5633
5722
|
/**
|
|
5634
5723
|
* Interchange + group + transaction identity for the built 837. The builder
|
|
5635
|
-
* fixes GS-01 to `"HC"
|
|
5636
|
-
* (`005010X222A2` / `X223A3` / `X224A2`) so the caller never
|
|
5724
|
+
* fixes GS-01 to `"HC"`, and defaults the ST-03 / GS-08 reference to the
|
|
5725
|
+
* variant's TR3 (`005010X222A2` / `X223A3` / `X224A2`) so the caller never
|
|
5726
|
+
* has to hand-code it.
|
|
5727
|
+
*
|
|
5728
|
+
* **🩺 That default is not what every trading partner accepts, so
|
|
5729
|
+
* {@link Build837EnvelopeSpec.implementationConventionReference} overrides
|
|
5730
|
+
* it.** The three defaults are published errata guides, but they are
|
|
5731
|
+
* neither the identifiers HIPAA adopts at 45 CFR 162.1102 nor the ones
|
|
5732
|
+
* payer companion guides commonly require in ST-03 / GS-08 (CMS and several
|
|
5733
|
+
* state Medicaid guides state `005010X222A1` for Professional and
|
|
5734
|
+
* `005010X223A2` for Institutional). **A partner that requires one of those
|
|
5735
|
+
* will reject a Professional or Institutional 837 built on the default**,
|
|
5736
|
+
* and the override is how you send what your partner asked for. The default
|
|
5737
|
+
* itself was deliberately NOT re-stamped: which published guide identifier
|
|
5738
|
+
* a partner accepts is a partner fact rather than a spec fact, and changing
|
|
5739
|
+
* bytes this library already emitted would break the partners it works with
|
|
5740
|
+
* today. The READ side is unaffected - `get837Claims` recognises all of
|
|
5741
|
+
* these references.
|
|
5637
5742
|
*
|
|
5638
5743
|
* @example
|
|
5639
5744
|
* ```ts
|
|
@@ -5661,6 +5766,44 @@ interface Build837EnvelopeSpec {
|
|
|
5661
5766
|
readonly groupControlNumber: string;
|
|
5662
5767
|
/** ST-02 / SE-02 - transaction set control number. */
|
|
5663
5768
|
readonly transactionSetControlNumber: string;
|
|
5769
|
+
/**
|
|
5770
|
+
* 🩺 ST-03 **and** GS-08 - the implementation convention reference this
|
|
5771
|
+
* 837 declares. Default: the variant's TR3 (`005010X222A2` Professional,
|
|
5772
|
+
* `005010X223A3` Institutional, `005010X224A2` Dental).
|
|
5773
|
+
*
|
|
5774
|
+
* **Set it to whatever your trading partner's companion guide requires**,
|
|
5775
|
+
* for example `005010X222A1` on a professional claim to a payer that asks
|
|
5776
|
+
* for it. Which published identifier a partner accepts is a partner fact,
|
|
5777
|
+
* so this library will not choose for you: it defaults to a real published
|
|
5778
|
+
* guide and gets out of the way. **One value is written to both elements**,
|
|
5779
|
+
* because this builder has always written the same reference to ST-03 and
|
|
5780
|
+
* GS-08 and nothing grounds a caller making them differ. That is a statement
|
|
5781
|
+
* about the bytes this field emits, not about what each element may legally
|
|
5782
|
+
* hold: GS-08 is data element 480 (`AN 1/12`) and ST-03 is element 1705
|
|
5783
|
+
* (`AN 1/35`), and nothing here bounds the length.
|
|
5784
|
+
*
|
|
5785
|
+
* Refused, all `X12_837_BUILD_INVALID_SPEC`. An **empty** string, because a
|
|
5786
|
+
* trailing empty element is dropped on emit, so it would delete ST-03 and
|
|
5787
|
+
* GS-08 rather than send them empty. One carrying an **active delimiter or
|
|
5788
|
+
* the release character**, because these two elements cannot carry it even
|
|
5789
|
+
* escaped: the ST and GS segments are read by a splitter that is not
|
|
5790
|
+
* release-aware, so the declaration would silently become two elements. And
|
|
5791
|
+
* one **this library's own reader resolves to a different variant**
|
|
5792
|
+
* (`005010X223A2` handed to `build837P`): the file would declare one variant
|
|
5793
|
+
* and carry another's service segments, and `get837Claims` would then decode
|
|
5794
|
+
* none of its service lines. Those are what this field adds, on top of the
|
|
5795
|
+
* element-type guard every string slot already has, which refuses a
|
|
5796
|
+
* non-string with the same code - no total is published. **Anything else is
|
|
5797
|
+
* emitted as given** - the set of published errata is not provably
|
|
5798
|
+
* exhaustive, so an identifier this library does not carry is the caller's
|
|
5799
|
+
* call, not an error.
|
|
5800
|
+
*
|
|
5801
|
+
* 🩺 A guard on this element cannot make the element trustworthy. An active
|
|
5802
|
+
* delimiter in a DIFFERENT envelope field splits its own segment and shifts
|
|
5803
|
+
* every element after it, so ST-03 / GS-08 are then read out of a
|
|
5804
|
+
* neighbour's slot. `KNOWN-LIMITATIONS.md` carries the measurement.
|
|
5805
|
+
*/
|
|
5806
|
+
readonly implementationConventionReference?: string;
|
|
5664
5807
|
/** ISA-05 - interchange sender qualifier. Default `"ZZ"`. */
|
|
5665
5808
|
readonly senderQualifier?: string;
|
|
5666
5809
|
/** ISA-07 - interchange receiver qualifier. Default `"ZZ"`. */
|
|
@@ -6372,8 +6515,9 @@ interface Build837Spec {
|
|
|
6372
6515
|
|
|
6373
6516
|
/**
|
|
6374
6517
|
* `build837P` / `build837I` / `build837D` - pure-function builders for a
|
|
6375
|
-
* 005010 837 Healthcare Claim (Professional
|
|
6376
|
-
*
|
|
6518
|
+
* 005010 837 Healthcare Claim (Professional, Institutional, Dental; the
|
|
6519
|
+
* ST-03 / GS-08 guide reference defaults to `X222A2` / `X223A3` / `X224A2`
|
|
6520
|
+
* and the caller may state another). NEVER auto-sends, NEVER opens a socket, NEVER
|
|
6377
6521
|
* touches the filesystem. The library mechanically emits the claim it is
|
|
6378
6522
|
* told; a spec whose billing-provider → subscriber → (claims | patient)
|
|
6379
6523
|
* tree cannot form a valid HL hierarchy is REFUSED via {@link
|
|
@@ -6402,7 +6546,9 @@ interface Build837Spec {
|
|
|
6402
6546
|
*/
|
|
6403
6547
|
|
|
6404
6548
|
/**
|
|
6405
|
-
* `build837P` - assemble a
|
|
6549
|
+
* `build837P` - assemble a Professional 837 around the spec, declaring
|
|
6550
|
+
* `005010X222A2` unless `envelope.implementationConventionReference` states
|
|
6551
|
+
* the guide your trading partner requires.
|
|
6406
6552
|
*
|
|
6407
6553
|
* @example
|
|
6408
6554
|
* ```ts
|
|
@@ -6434,8 +6580,10 @@ interface Build837Spec {
|
|
|
6434
6580
|
*/
|
|
6435
6581
|
declare function build837P(spec: Build837Spec): X12Interchange;
|
|
6436
6582
|
/**
|
|
6437
|
-
* `build837I` - assemble
|
|
6438
|
-
*
|
|
6583
|
+
* `build837I` - assemble an Institutional 837 around the spec, declaring
|
|
6584
|
+
* `005010X223A3` unless `envelope.implementationConventionReference` states
|
|
6585
|
+
* the guide your trading partner requires. Service lines must be
|
|
6586
|
+
* `variant: "I"` (SV2).
|
|
6439
6587
|
*
|
|
6440
6588
|
* @example
|
|
6441
6589
|
* ```ts
|
|
@@ -6446,8 +6594,10 @@ declare function build837P(spec: Build837Spec): X12Interchange;
|
|
|
6446
6594
|
*/
|
|
6447
6595
|
declare function build837I(spec: Build837Spec): X12Interchange;
|
|
6448
6596
|
/**
|
|
6449
|
-
* `build837D` - assemble a
|
|
6450
|
-
*
|
|
6597
|
+
* `build837D` - assemble a Dental 837 around the spec, declaring
|
|
6598
|
+
* `005010X224A2` unless `envelope.implementationConventionReference` states
|
|
6599
|
+
* the guide your trading partner requires. Service lines must be
|
|
6600
|
+
* `variant: "D"` (SV3); per-line tooth detail rides on TOO.
|
|
6451
6601
|
*
|
|
6452
6602
|
* @example
|
|
6453
6603
|
* ```ts
|
|
@@ -12759,6 +12909,82 @@ declare function build999(spec: Build999Spec): X12Interchange;
|
|
|
12759
12909
|
* library does NOT silently invent envelope bytes around it - the caller's
|
|
12760
12910
|
* application boundary owns whether the TA1 is embedded in an outbound
|
|
12761
12911
|
* interchange or sent as a standalone TA1-only interchange.
|
|
12912
|
+
*
|
|
12913
|
+
* ## 🩺 Why every element is released, and what that changed
|
|
12914
|
+
*
|
|
12915
|
+
* `raw` used to be `[...five caller values].join(elementSeparator)` with
|
|
12916
|
+
* nothing in between, so a caller value carrying an active delimiter took
|
|
12917
|
+
* a slot of its own and shifted every element after it down one. TA1-04 is
|
|
12918
|
+
* the disposition and TA1-05 the note, so the shift landed the read on the
|
|
12919
|
+
* wrong pair, and `parseTA1` narrows an out-of-enum TA1-04 to `R`:
|
|
12920
|
+
* **an Accept this library emitted read back as a Reject**, with the TA1-01
|
|
12921
|
+
* reassociation key merged into TA1-02 and `warnings: []` on every channel.
|
|
12922
|
+
* The inverse is the less safe one and also existed: a `noteCode` of
|
|
12923
|
+
* literally `"A"` (a value the type forbids and nothing checks at run time)
|
|
12924
|
+
* shifted onto TA1-04 and made a **Reject read back as an Accept**, which a
|
|
12925
|
+
* sender never resubmits against.
|
|
12926
|
+
*
|
|
12927
|
+
* The grounding is inside the package, not in a spec clause, which is the
|
|
12928
|
+
* same tiebreak `X12-ENVELOPE-SPLITTER-NOT-RELEASE-AWARE` recorded: one
|
|
12929
|
+
* function disagreed with itself. This module emitted bytes that this
|
|
12930
|
+
* package's own reader decoded into a different disposition than the one
|
|
12931
|
+
* the caller asked for, and every other builder already released the same
|
|
12932
|
+
* class of element through the same helper.
|
|
12933
|
+
*
|
|
12934
|
+
* **It changes bytes, and that is the cost that kept it open for a slice.**
|
|
12935
|
+
* A value containing none of the four delimiters or the release character
|
|
12936
|
+
* is emitted byte-for-byte as before, which is every conformant TA1. A
|
|
12937
|
+
* value containing one is now released, so its bytes differ from the ones
|
|
12938
|
+
* `0.0.14` and earlier put on the wire. What that costs is stated outright
|
|
12939
|
+
* below rather than argued away, and **without a total**: two drafts of this
|
|
12940
|
+
* account published a closed one and both were refuted.
|
|
12941
|
+
*
|
|
12942
|
+
* - **The consumer predicate moves in BOTH directions.** Read the property
|
|
12943
|
+
* rather than a direction list: `parseTA1` of a `buildTA1` output now
|
|
12944
|
+
* reports the disposition and note the CALLER passed, where before it
|
|
12945
|
+
* reported whatever element the shift left in TA1-04. So
|
|
12946
|
+
* `ackCode === "R"` stops firing where an Accept had been shifted onto
|
|
12947
|
+
* it, and starts firing where a Reject had been shifted off it -
|
|
12948
|
+
* `interchangeTime: "12*A"` with `ackCode: "R"` read `"A"` before and
|
|
12949
|
+
* reads `"R"` here, every field a valid member of its union. What is
|
|
12950
|
+
* one-directional is the safety, which is a different statement.
|
|
12951
|
+
* - **Only three values in the escaped set ever shifted the segment's own
|
|
12952
|
+
* element framing**: the element separator, the segment terminator, and
|
|
12953
|
+
* a `?` immediately before the separator. **`^` and `:` moved the
|
|
12954
|
+
* dot-path reader instead, and releasing them is a GAIN there.**
|
|
12955
|
+
* `getSegmentValue(ta1, "01")` answered `"0000"` before for a control
|
|
12956
|
+
* number of `"0000^0001"`, truncating the reassociation key to the first
|
|
12957
|
+
* repetition, and answers `"0000^0001"` here; the composite read `"01-1"`
|
|
12958
|
+
* answered `"0000"` for `"0000:0001"`. **The measured pure cost is a
|
|
12959
|
+
* MID-STRING `?`, and only on the surfaces documented as raw**: `raw`,
|
|
12960
|
+
* `elements` and `parseTA1`'s fields read `"0000??0001"` where they read
|
|
12961
|
+
* `"0000?0001"`, while the dot-path read of THAT value unescapes and
|
|
12962
|
+
* answered `"0000?0001"` on both. Read the clause as scoped to the
|
|
12963
|
+
* mid-string `?`, because it is not true of `^` or `:` three sentences
|
|
12964
|
+
* up. **`getSegmentValue` takes an `X12Segment` and `Ta1Segment` carries
|
|
12965
|
+
* no `id`, so add one to read a TA1 through it.** No total is published:
|
|
12966
|
+
* that is what was measured, not a closed account.
|
|
12967
|
+
* - **`parseTA1` reads elements RAW, pre-`?`-unescape**, exactly as
|
|
12968
|
+
* `X12Segment.elements` has always documented. So a control number of
|
|
12969
|
+
* `"00000001?"` now reads back as `"00000001??"` rather than as
|
|
12970
|
+
* `"00000001?*260601"`. The disposition is correct where it was
|
|
12971
|
+
* inverted; the key still needs `unescapeRelease` applied by the reader.
|
|
12972
|
+
* That is a property of the read half and is not changed here.
|
|
12973
|
+
* - **A caller who was pre-releasing the value themselves** (the remedy
|
|
12974
|
+
* `KNOWN-LIMITATIONS.md` named while this was open) is now escaping
|
|
12975
|
+
* twice: `"00000001??"` in, `"00000001????"` out. The framing and the
|
|
12976
|
+
* disposition stay correct, and this one regresses on BOTH kinds of
|
|
12977
|
+
* surface - the dot-path read answers `"00000001??"` where it answered
|
|
12978
|
+
* `"00000001?"`. Drop the hand-rolled escape.
|
|
12979
|
+
*
|
|
12980
|
+
* **And an EMPTY control number is still not refused.** `escapeRelease`
|
|
12981
|
+
* early-returns on `""` and this module has no required-field guard, so
|
|
12982
|
+
* `interchangeControlNumber: ""` emits `TA1**260601*1200*A*000` with no
|
|
12983
|
+
* error, here and at every earlier release. Only a NON-string refuses.
|
|
12984
|
+
*
|
|
12985
|
+
* And the release is scoped to the delimiter set the caller states through
|
|
12986
|
+
* {@link BuildTA1Options} - see that interface for why guessing one is a
|
|
12987
|
+
* value corruption rather than a safe default.
|
|
12762
12988
|
*/
|
|
12763
12989
|
|
|
12764
12990
|
/**
|
|
@@ -12773,7 +12999,18 @@ declare function build999(spec: Build999Spec): X12Interchange;
|
|
|
12773
12999
|
* - `ackCode === "A"` paired with `noteCode !== "000"` →
|
|
12774
13000
|
* {@link "./errors.js".ACK_BUILD_ERROR_CODES.X12_TA1_ACCEPT_WITH_NOTE}.
|
|
12775
13001
|
* Accept must mean accept. Use `E` (accept with errors) when the
|
|
12776
|
-
* inbound had structural defects you elected to ignore.
|
|
13002
|
+
* inbound had structural defects you elected to ignore. This one runs
|
|
13003
|
+
* FIRST and its precedence is unchanged.
|
|
13004
|
+
* - Any of the five element values that is not a `string` →
|
|
13005
|
+
* {@link "./errors.js".ACK_BUILD_ERROR_CODES.X12_ACK_INVALID_SPEC}. This
|
|
13006
|
+
* is not a bonus guard: releasing a value means routing it through
|
|
13007
|
+
* {@link "../../builder/caller-string.js".makeCallerEscaper}, and the
|
|
13008
|
+
* bare `escapeRelease` underneath it returns its empty accumulator for a
|
|
13009
|
+
* `number`, so escaping without the type check would have replaced the
|
|
13010
|
+
* shifted-element defect with a silently VANISHED TA1-01. **A number or
|
|
13011
|
+
* an `undefined` control number used to emit as `TA1*12345*…` (the
|
|
13012
|
+
* number surviving onto `elements`, in a `readonly string[]`) or
|
|
13013
|
+
* `TA1**250101*…`; both now refuse.**
|
|
12777
13014
|
*
|
|
12778
13015
|
* @param spec - The TA1 fields. `interchangeControlNumber` echoes the
|
|
12779
13016
|
* inbound ISA-13; `interchangeDate` / `interchangeTime` echo
|
|
@@ -12811,13 +13048,28 @@ declare function build999(spec: Build999Spec): X12Interchange;
|
|
|
12811
13048
|
*/
|
|
12812
13049
|
declare function buildTA1(spec: BuildTA1Spec, options?: BuildTA1Options): Ta1Segment;
|
|
12813
13050
|
/**
|
|
12814
|
-
* Options accepted by {@link buildTA1}
|
|
12815
|
-
*
|
|
12816
|
-
*
|
|
12817
|
-
*
|
|
13051
|
+
* Options accepted by {@link buildTA1}: the delimiter set the returned
|
|
13052
|
+
* segment will be read against. Every field is optional and defaults to the
|
|
13053
|
+
* cosyte parser archetype (`*` element, `^` repetition, `:` component, `~`
|
|
13054
|
+
* segment), which is the same four `build999` takes on
|
|
13055
|
+
* {@link "./types.js".Build999EnvelopeSpec}.
|
|
13056
|
+
*
|
|
13057
|
+
* **The three non-element fields exist for ESCAPING and nothing else.**
|
|
13058
|
+
* `buildTA1` still emits no segment terminator, no repetition and no
|
|
13059
|
+
* composite. It has to know them because a caller value carrying one of
|
|
13060
|
+
* them has to be released, and because escaping a byte that is NOT a
|
|
13061
|
+
* delimiter where the segment lands corrupts the value: `unescapeRelease`
|
|
13062
|
+
* preserves `?X` verbatim for any `X` outside the declared set, so a value
|
|
13063
|
+
* released against a guessed delimiter comes back carrying a stray `?`.
|
|
13064
|
+
* **If you embed a TA1 in an envelope whose delimiters are not the
|
|
13065
|
+
* archetype, state them here** - the defaults are an assumption this
|
|
13066
|
+
* function cannot verify, exactly as they were before it escaped anything.
|
|
12818
13067
|
*/
|
|
12819
13068
|
interface BuildTA1Options {
|
|
12820
13069
|
readonly elementSeparator?: string;
|
|
13070
|
+
readonly repetitionSeparator?: string;
|
|
13071
|
+
readonly componentSeparator?: string;
|
|
13072
|
+
readonly segmentTerminator?: string;
|
|
12821
13073
|
}
|
|
12822
13074
|
|
|
12823
13075
|
/**
|
|
@@ -13629,4 +13881,4 @@ declare const profiles: {
|
|
|
13629
13881
|
*/
|
|
13630
13882
|
declare const VERSION: string;
|
|
13631
13883
|
|
|
13632
|
-
export { ACK_BUILD_ERROR_CODES, ALL_WARNING_MESSAGES, AUTH_278_BUILD_ERROR_CODES, AUTH_278_LOOP_2000A, AUTH_278_LOOP_2000B, AUTH_278_LOOP_2000C, AUTH_278_LOOP_2000D, AUTH_278_LOOP_2000E, AUTH_278_LOOP_2000F, AckBuildError, type AckBuildErrorCode, BALANCE_INVARIANTS, BUILD_REFUSAL_VALUE_MAX_LENGTH, BUILD_REFUSAL_VALUE_MAX_RENDERED, type Build271AddressSpec, type Build271BenefitSpec, type Build271DateSpec, type Build271DependentSpec, type Build271EntitySpec, type Build271EnvelopeSpec, type Build271InformationReceiverSpec, type Build271InformationSourceSpec, type Build271MemberSpec, type Build271ReferenceSpec, type Build271ServiceTypeSpec, type Build271Spec, type Build271SubscriberSpec, type Build271TraceSpec, type Build277ClaimSpec, type Build277DateSpec, type Build277DependentSpec, type Build277EntitySpec, type Build277EnvelopeSpec, type Build277InformationReceiverSpec, type Build277InformationSourceSpec, type Build277MemberSpec, type Build277ProviderSpec, type Build277ReferenceSpec, type Build277ServiceLineSpec, type Build277Spec, type Build277StatusCodeSpec, type Build277StatusSpec, type Build277SubscriberSpec, type Build277TraceSpec, type Build278DateSpec, type Build278DecisionSpec, type Build278DependentSpec, type Build278DiagnosisSpec, type Build278EntitySpec, type Build278EnvelopeSpec, type Build278HeaderSpec, type Build278MemberSpec, type Build278ReferenceSpec, type Build278ReviewSpec, type Build278Spec, type Build278SubscriberSpec, type Build278TraceSpec, type Build820AddressSpec, type Build820AdjustmentSpec, type Build820DateSpec, type Build820EntitySpec, type Build820EnvelopeSpec, type Build820OpenItemSpec, type Build820PartySpec, type Build820PaymentSpec, type Build820PersonSpec, type Build820ReferenceSpec, type Build820RemittanceSpec, type Build820Spec, type Build820TraceSpec, type Build834AddressSpec, type Build834AmountSpec, type Build834CoordinationOfBenefitsSpec, type Build834CoverageSpec, type Build834DateSpec, type Build834EnvelopeSpec, type Build834HeaderSpec, type Build834MemberNameSpec, type Build834MemberSpec, type Build834PartySpec, type Build834ReferenceSpec, type Build834Spec, type Build835AddressSpec, type Build835AdjustmentSpec, type Build835AmountSpec, type Build835ClaimSpec, type Build835ContactSpec, type Build835EnvelopeSpec, type Build835PartySpec, type Build835PaymentSpec, type Build835PersonSpec, type Build835ProviderAdjustmentSpec, type Build835ProviderSpec, type Build835ReferenceSpec, type Build835RemarkSpec, type Build835ServiceLineSpec, type Build835Spec, type Build835TraceSpec, type Build837AddressSpec, type Build837AdjudicationSpec, type Build837AdjustmentSpec, type Build837AmountSpec, type Build837BillingProviderSpec, type Build837ClaimSpec, type Build837ContactSpec, type Build837DateSpec, type Build837DrugSpec, type Build837EntitySpec, type Build837EnvelopeSpec, type Build837HiCodeSpec, type Build837NoteSpec, type Build837OtherSubscriberSpec, type Build837PatientSpec, type Build837ReferenceSpec, type Build837ServiceLineBaseSpec, type Build837ServiceLineDentalSpec, type Build837ServiceLineInstitutionalSpec, type Build837ServiceLineProfessionalSpec, type Build837ServiceLineSpec, type Build837Spec, type Build837SubscriberInfoSpec, type Build837SubscriberSpec, type Build837ToothSpec, type Build999ElementErrorSpec, type Build999EnvelopeSpec, type Build999FunctionalGroupSpec, type Build999SegmentErrorSpec, type Build999Spec, type Build999TransactionResponseSpec, type BuildTA1Options, type BuildTA1Spec, CARC, CLAIM_837D_LOOP_2000A, CLAIM_837D_LOOP_2300, CLAIM_837D_LOOP_2400, CLAIM_837I_LOOP_2000A, CLAIM_837I_LOOP_2300, CLAIM_837I_LOOP_2400, CLAIM_837P_LOOP_2000A, CLAIM_837P_LOOP_2300, CLAIM_837P_LOOP_2400, CLAIM_837P_LOOP_2410, CLAIM_837_BUILD_ERROR_CODES, CLAIM_837_LOOP_1000A, CLAIM_837_LOOP_1000B, CLAIM_837_LOOP_2010AA, CLAIM_837_LOOP_2010BA, CLAIM_837_LOOP_2010BB, CLAIM_837_LOOP_2010CA, CLAIM_837_LOOP_2430, CLAIM_ADJUSTMENT_GROUP_CODES, CLAIM_STATUS_277_BUILD_ERROR_CODES, CLAIM_STATUS_CATEGORY_CODES, CLAIM_STATUS_CODES, CLP_STATUS, CONTROL_NUMBER_PAIRS, Claim837BuildError, type Claim837BuildErrorCode, type ClaimAdjustmentGroupCode, ClaimStatus277BuildError, type ClaimStatus277BuildErrorCode, type CodeListEntry, type CodeListMeta, type CodeListSnapshot, DELIMITER_POSITIONS, type DefineLoopSpecInput, type Delimiters, ELIGIBILITY_271_BUILD_ERROR_CODES, ELIGIBILITY_271_LOOP_2000A, ELIGIBILITY_271_LOOP_2000B, ELIGIBILITY_271_LOOP_2000C, ELIGIBILITY_271_LOOP_2000D, ELIGIBILITY_271_LOOP_2100C, ELIGIBILITY_271_LOOP_2100D, ELIGIBILITY_271_LOOP_2110, ENROLLMENT_834_BUILD_ERROR_CODES, ENROLLMENT_834_LOOP_1000A, ENROLLMENT_834_LOOP_1000B, ENROLLMENT_834_LOOP_2000, ENROLLMENT_834_LOOP_2100A, ENROLLMENT_834_LOOP_2300, ENROLLMENT_834_LOOP_2320, Eligibility271BuildError, type Eligibility271BuildErrorCode, Enrollment834BuildError, type Enrollment834BuildErrorCode, FATAL_CODES, type FunctionalGroupSpec, type GeSegment, type GsSegment, HI_QUALIFIERS, HL_LEVEL_CODES, IK3_SYNTAX_ERROR_CODES, IK4_SYNTAX_ERROR_CODES, ISA_MIN_LENGTH, type IeaSegment, type Ik304Code, type Ik403Code, type InterchangeSpec, type IsaSegment, type LoopMax, type LoopSegmentSpec, type LoopSpec, LoopSpecDefinitionError, type LoopUsage, MAINTENANCE_TYPE_CODES, NM1_QUALIFIERS, NON_SPEC_SEGMENT_ID, type OnWarningCallback, PREMIUM_820_BUILD_ERROR_CODES, PREMIUM_820_LOOP_1000A, PREMIUM_820_LOOP_1000B, PREMIUM_820_LOOP_2000A, PREMIUM_820_LOOP_2100A, PREMIUM_820_LOOP_2300A, PREMIUM_820_LOOP_2310A, Premium820BuildError, type Premium820BuildErrorCode, RARC, RELEASE_CHAR, REMIT_835_BUILD_ERROR_CODES, REMIT_835_LOOP_1000A, REMIT_835_LOOP_1000B, REMIT_835_LOOP_2000, REMIT_835_LOOP_2100, REMIT_835_LOOP_2110, REQUIRED_LOOPS, Remit835BuildError, type Remit835BuildErrorCode, SERVICE_TYPE_CODES, STATUS_277_LOOP_2000A, STATUS_277_LOOP_2000B, STATUS_277_LOOP_2000C, STATUS_277_LOOP_2000D, STATUS_277_LOOP_2000E, STATUS_277_LOOP_2200, STATUS_277_LOOP_2220, type SegmentSpec, type SerializeOptions, ServicesReview278BuildError, type ServicesReview278BuildErrorCode, TA1_ACK_CODES, TA1_NOTE_CODES, type Ta1AckCode, type Ta1NoteCode, type Ta1Segment, type TransactionSetSpec, UNEXPECTED_SEGMENT_CONTEXTS, VERSION, WARNING_CODES, type X12Ack999, type X12Ack999Ak1, type X12Ack999Ak2, type X12Ack999Ak9, type X12Ack999ElementNote, type X12Ack999Ik3, type X12Ack999Ik4, type X12Ack999Ik4Position, type X12Ack999Ik5, type X12Ack999SegmentNote, type X12Ack999TransactionResponse, type X12AckDispositionCode, type X12AckTA1, type X12AuthDate, type X12AuthDiagnosis, type X12AuthEntity, type X12AuthHeader, type X12AuthMember, type X12AuthReference, type X12AuthTrace, type X12BalanceInvariant, X12BuildError, type X12BuildErrorCode, type X12Claim, type X12Claim837Variant, type X12ClaimAddress, type X12ClaimAmount, type X12ClaimContact, type X12ClaimDate, type X12ClaimEntity, type X12ClaimHiCode, type X12ClaimMember, type X12ClaimNote, type X12ClaimReference, type X12ClaimStatus, type X12ClaimStatusResponse, type X12ControlNumberPair, type X12CoordinationOfBenefits, X12Decimal, type X12DecimalRead, type X12DecimalStatus, type X12DecimalWarningSink, type X12Eligibility, type X12EligibilityAddress, type X12EligibilityBenefit, type X12EligibilityDate, type X12EligibilityDependent, type X12EligibilityEntity, type X12EligibilityMember, type X12EligibilityReference, type X12EligibilityServiceType, type X12EligibilitySubscriber, type X12EligibilityTrace, type X12Enrollment, type X12EnrollmentAddress, type X12EnrollmentAmount, type X12EnrollmentDate, type X12EnrollmentHeader, type X12EnrollmentMember, type X12EnrollmentParty, type X12EnrollmentReference, type X12FatalCode, type X12FunctionalGroup, type X12HealthCoverage, type X12HiCategory, type X12HiCodeSystem, type X12HiQualifier, type X12HierarchicalLevel, type X12Hl, type X12Interchange, type X12LineAdjudication, type X12LineDrug, type X12OrphanAnchor, type X12OrphanAnchorKind, type X12OrphanSegment, type X12OtherSubscriber, X12ParseError, type X12ParseOptions, type X12ParseWarning, type X12Position, type X12PremiumAddress, type X12PremiumAdjustment, type X12PremiumDate, type X12PremiumEntity, type X12PremiumOpenItem, type X12PremiumParty, type X12PremiumPaymentHeader, type X12PremiumPayments, type X12PremiumPerson, type X12PremiumReference, type X12PremiumRemittance, type X12PremiumTrace, type X12Profile, type X12ProfileDescription, type X12ProfileEffect, X12ProfileError, type X12ProfileQuirk, type X12ProfileSpec, type X12RemitAddress, type X12RemitAdjustment, type X12RemitAmount, type X12RemitClaim, type X12RemitContact, type X12RemitParty, type X12RemitPaymentHeader, type X12RemitPerson, type X12RemitProvider, type X12RemitProviderAdjustment, type X12RemitReference, type X12RemitRemark, type X12RemitServiceLine, type X12RemitTrace, type X12Remittance, type X12RequiredLoop, type X12ReviewDecision, type X12Segment, type X12ServiceLineStatus, type X12ServiceReview, type X12ServicesReview, type X12StatusCode, type X12StatusDate, type X12StatusEntity, type X12StatusInfo, type X12StatusMember, type X12StatusReference, type X12StatusTrace, type X12SubscriberInfo, type X12ToothInformation, type X12TransactionSet, type X12UnexpectedSegmentContext, type X12WarningCode, type X12WarningPartition, type X12_837ServiceLine, type X12_837ServiceLineDental, type X12_837ServiceLineInstitutional, type X12_837ServiceLineProfessional, type X12_837Submission, X12_ACK_DISPOSITION_CODES, X12_BUILD_ERROR_CODES, amountRowDropped, balanceNotEvaluable, build271, build277, build277CA, build278Request, build278Response, build820, build834, build835, build837D, build837I, build837P, build999, buildInterchange, buildTA1, checkClaimBalance, checkRemitTotalBalance, checkServiceLineBalance, collectElementValues, componentOptional, controlNumberMismatch, danglingReleaseChar, decodeSegment, defineLoopSpec, defineProfile, detectDelimiters, elementDecimal, elementDecimalOrZero, elementOptional, elementValue, entitySegmentDiscardedAfterLx, escapeRelease, get271Eligibility, get277CADisposition, get277Status, get278Request, get278Response, get820Payments, get834Enrollments, get834Header, get835, get837Claims, getAllSegmentValues, getDefaultProfile, getSegmentValue, groupCountMismatch, hlParentLevelInvalid, hlParentMismatch, isAcceptDisposition, isClaimAdjustmentGroupCode, isDiagnosisQualifier, isProcedureQualifier, lookupCarc, lookupClaimStatus, lookupClaimStatusCategory, lookupClpStatus, lookupMaintenanceType, lookupRarc, lookupServiceType, missingGe, missingIea, missingRequiredLoop, missingSe, parse999, parseTA1, parseX12, partitionWarnings, payToAddressRepeated, pre005010, profiles, readElementDecimal, remitBalanceMismatch, renderCallerValue, resolveHiQualifier, segmentCountMismatch, serializeX12, serviceLineDropped, serviceLineNotDecoded, serviceSegmentWithoutLx, setDefaultProfile, statedAmountDiscarded, trailingGarbage, transactionCountMismatch, unescapeRelease, unexpectedSegment, unknown837Variant, unknownCarc, unknownClaimStatus, unknownClaimStatusCategory, unknownHiQualifier, unknownMaintenanceType, unknownRarc, unparseableDecimal };
|
|
13884
|
+
export { ACK_BUILD_ERROR_CODES, ALL_WARNING_MESSAGES, AUTH_278_BUILD_ERROR_CODES, AUTH_278_LOOP_2000A, AUTH_278_LOOP_2000B, AUTH_278_LOOP_2000C, AUTH_278_LOOP_2000D, AUTH_278_LOOP_2000E, AUTH_278_LOOP_2000F, AckBuildError, type AckBuildErrorCode, BALANCE_INVARIANTS, BUILD_REFUSAL_VALUE_MAX_LENGTH, BUILD_REFUSAL_VALUE_MAX_RENDERED, type Build271AddressSpec, type Build271BenefitSpec, type Build271DateSpec, type Build271DependentSpec, type Build271EntitySpec, type Build271EnvelopeSpec, type Build271InformationReceiverSpec, type Build271InformationSourceSpec, type Build271MemberSpec, type Build271ReferenceSpec, type Build271ServiceTypeSpec, type Build271Spec, type Build271SubscriberSpec, type Build271TraceSpec, type Build277ClaimSpec, type Build277DateSpec, type Build277DependentSpec, type Build277EntitySpec, type Build277EnvelopeSpec, type Build277InformationReceiverSpec, type Build277InformationSourceSpec, type Build277MemberSpec, type Build277ProviderSpec, type Build277ReferenceSpec, type Build277ServiceLineSpec, type Build277Spec, type Build277StatusCodeSpec, type Build277StatusSpec, type Build277SubscriberSpec, type Build277TraceSpec, type Build278DateSpec, type Build278DecisionSpec, type Build278DependentSpec, type Build278DiagnosisSpec, type Build278EntitySpec, type Build278EnvelopeSpec, type Build278HeaderSpec, type Build278MemberSpec, type Build278ReferenceSpec, type Build278ReviewSpec, type Build278Spec, type Build278SubscriberSpec, type Build278TraceSpec, type Build820AddressSpec, type Build820AdjustmentSpec, type Build820DateSpec, type Build820EntitySpec, type Build820EnvelopeSpec, type Build820OpenItemSpec, type Build820PartySpec, type Build820PaymentSpec, type Build820PersonSpec, type Build820ReferenceSpec, type Build820RemittanceSpec, type Build820Spec, type Build820TraceSpec, type Build834AddressSpec, type Build834AmountSpec, type Build834CoordinationOfBenefitsSpec, type Build834CoverageSpec, type Build834DateSpec, type Build834EnvelopeSpec, type Build834HeaderSpec, type Build834MemberNameSpec, type Build834MemberSpec, type Build834PartySpec, type Build834ReferenceSpec, type Build834Spec, type Build835AddressSpec, type Build835AdjustmentSpec, type Build835AmountSpec, type Build835ClaimSpec, type Build835ContactSpec, type Build835EnvelopeSpec, type Build835PartySpec, type Build835PaymentSpec, type Build835PersonSpec, type Build835ProviderAdjustmentSpec, type Build835ProviderSpec, type Build835ReferenceSpec, type Build835RemarkSpec, type Build835ServiceLineSpec, type Build835Spec, type Build835TraceSpec, type Build837AddressSpec, type Build837AdjudicationSpec, type Build837AdjustmentSpec, type Build837AmountSpec, type Build837BillingProviderSpec, type Build837ClaimSpec, type Build837ContactSpec, type Build837DateSpec, type Build837DrugSpec, type Build837EntitySpec, type Build837EnvelopeSpec, type Build837HiCodeSpec, type Build837NoteSpec, type Build837OtherSubscriberSpec, type Build837PatientSpec, type Build837ReferenceSpec, type Build837ServiceLineBaseSpec, type Build837ServiceLineDentalSpec, type Build837ServiceLineInstitutionalSpec, type Build837ServiceLineProfessionalSpec, type Build837ServiceLineSpec, type Build837Spec, type Build837SubscriberInfoSpec, type Build837SubscriberSpec, type Build837ToothSpec, type Build999ElementErrorSpec, type Build999EnvelopeSpec, type Build999FunctionalGroupSpec, type Build999SegmentErrorSpec, type Build999Spec, type Build999TransactionResponseSpec, type BuildTA1Options, type BuildTA1Spec, CARC, CLAIM_837D_LOOP_2000A, CLAIM_837D_LOOP_2300, CLAIM_837D_LOOP_2400, CLAIM_837I_LOOP_2000A, CLAIM_837I_LOOP_2300, CLAIM_837I_LOOP_2400, CLAIM_837P_LOOP_2000A, CLAIM_837P_LOOP_2300, CLAIM_837P_LOOP_2400, CLAIM_837P_LOOP_2410, CLAIM_837_BUILD_ERROR_CODES, CLAIM_837_LOOP_1000A, CLAIM_837_LOOP_1000B, CLAIM_837_LOOP_2010AA, CLAIM_837_LOOP_2010BA, CLAIM_837_LOOP_2010BB, CLAIM_837_LOOP_2010CA, CLAIM_837_LOOP_2430, CLAIM_ADJUSTMENT_GROUP_CODES, CLAIM_STATUS_277_BUILD_ERROR_CODES, CLAIM_STATUS_CATEGORY_CODES, CLAIM_STATUS_CODES, CLP_STATUS, CONTROL_NUMBER_PAIRS, Claim837BuildError, type Claim837BuildErrorCode, type ClaimAdjustmentGroupCode, ClaimStatus277BuildError, type ClaimStatus277BuildErrorCode, type CodeListEntry, type CodeListMeta, type CodeListSnapshot, DELIMITER_POSITIONS, type DefineLoopSpecInput, type Delimiters, ELIGIBILITY_271_BUILD_ERROR_CODES, ELIGIBILITY_271_LOOP_2000A, ELIGIBILITY_271_LOOP_2000B, ELIGIBILITY_271_LOOP_2000C, ELIGIBILITY_271_LOOP_2000D, ELIGIBILITY_271_LOOP_2100C, ELIGIBILITY_271_LOOP_2100D, ELIGIBILITY_271_LOOP_2110, ENROLLMENT_834_BUILD_ERROR_CODES, ENROLLMENT_834_LOOP_1000A, ENROLLMENT_834_LOOP_1000B, ENROLLMENT_834_LOOP_2000, ENROLLMENT_834_LOOP_2100A, ENROLLMENT_834_LOOP_2300, ENROLLMENT_834_LOOP_2320, Eligibility271BuildError, type Eligibility271BuildErrorCode, Enrollment834BuildError, type Enrollment834BuildErrorCode, FATAL_CODES, type FunctionalGroupSpec, type GeSegment, type GsSegment, HI_QUALIFIERS, HL_LEVEL_CODES, IK3_SYNTAX_ERROR_CODES, IK4_SYNTAX_ERROR_CODES, ISA_MIN_LENGTH, type IeaSegment, type Ik304Code, type Ik403Code, type InterchangeSpec, type IsaSegment, type LoopMax, type LoopSegmentSpec, type LoopSpec, LoopSpecDefinitionError, type LoopUsage, MAINTENANCE_TYPE_CODES, NM1_QUALIFIERS, NON_SPEC_SEGMENT_ID, type OnWarningCallback, PREMIUM_820_BUILD_ERROR_CODES, PREMIUM_820_LOOP_1000A, PREMIUM_820_LOOP_1000B, PREMIUM_820_LOOP_2000A, PREMIUM_820_LOOP_2100A, PREMIUM_820_LOOP_2300A, PREMIUM_820_LOOP_2310A, Premium820BuildError, type Premium820BuildErrorCode, RARC, RELEASE_CHAR, REMIT_835_BUILD_ERROR_CODES, REMIT_835_LOOP_1000A, REMIT_835_LOOP_1000B, REMIT_835_LOOP_2000, REMIT_835_LOOP_2100, REMIT_835_LOOP_2110, REQUIRED_LOOPS, Remit835BuildError, type Remit835BuildErrorCode, SERVICE_TYPE_CODES, STATUS_277_LOOP_2000A, STATUS_277_LOOP_2000B, STATUS_277_LOOP_2000C, STATUS_277_LOOP_2000D, STATUS_277_LOOP_2000E, STATUS_277_LOOP_2200, STATUS_277_LOOP_2220, type SegmentSpec, type SerializeOptions, ServicesReview278BuildError, type ServicesReview278BuildErrorCode, TA1_ACK_CODES, TA1_NOTE_CODES, type Ta1AckCode, type Ta1NoteCode, type Ta1Segment, type TransactionSetSpec, UNEXPECTED_SEGMENT_CONTEXTS, VERSION, WARNING_CODES, type X12Ack999, type X12Ack999Ak1, type X12Ack999Ak2, type X12Ack999Ak9, type X12Ack999ElementNote, type X12Ack999Ik3, type X12Ack999Ik4, type X12Ack999Ik4Position, type X12Ack999Ik5, type X12Ack999SegmentNote, type X12Ack999TransactionResponse, type X12AckDispositionCode, type X12AckTA1, type X12AuthDate, type X12AuthDiagnosis, type X12AuthEntity, type X12AuthHeader, type X12AuthMember, type X12AuthReference, type X12AuthTrace, type X12BalanceInvariant, X12BuildError, type X12BuildErrorCode, type X12Claim, type X12Claim837Variant, type X12ClaimAddress, type X12ClaimAmount, type X12ClaimContact, type X12ClaimDate, type X12ClaimEntity, type X12ClaimHiCode, type X12ClaimMember, type X12ClaimNote, type X12ClaimReference, type X12ClaimStatus, type X12ClaimStatusResponse, type X12ControlNumberPair, type X12CoordinationOfBenefits, X12Decimal, type X12DecimalRead, type X12DecimalStatus, type X12DecimalWarningSink, type X12Eligibility, type X12EligibilityAddress, type X12EligibilityBenefit, type X12EligibilityDate, type X12EligibilityDependent, type X12EligibilityEntity, type X12EligibilityMember, type X12EligibilityReference, type X12EligibilityServiceType, type X12EligibilitySubscriber, type X12EligibilityTrace, type X12Enrollment, type X12EnrollmentAddress, type X12EnrollmentAmount, type X12EnrollmentDate, type X12EnrollmentHeader, type X12EnrollmentMember, type X12EnrollmentParty, type X12EnrollmentReference, type X12FatalCode, type X12FunctionalGroup, type X12HealthCoverage, type X12HiCategory, type X12HiCodeSystem, type X12HiQualifier, type X12HierarchicalLevel, type X12Hl, type X12Interchange, type X12LineAdjudication, type X12LineDrug, type X12OrphanAnchor, type X12OrphanAnchorKind, type X12OrphanSegment, type X12OtherSubscriber, X12ParseError, type X12ParseOptions, type X12ParseWarning, type X12Position, type X12PremiumAddress, type X12PremiumAdjustment, type X12PremiumDate, type X12PremiumEntity, type X12PremiumOpenItem, type X12PremiumParty, type X12PremiumPaymentHeader, type X12PremiumPayments, type X12PremiumPerson, type X12PremiumReference, type X12PremiumRemittance, type X12PremiumTrace, type X12Profile, type X12ProfileDescription, type X12ProfileEffect, X12ProfileError, type X12ProfileQuirk, type X12ProfileSpec, type X12RemitAddress, type X12RemitAdjustment, type X12RemitAmount, type X12RemitClaim, type X12RemitContact, type X12RemitParty, type X12RemitPaymentHeader, type X12RemitPerson, type X12RemitProvider, type X12RemitProviderAdjustment, type X12RemitReference, type X12RemitRemark, type X12RemitServiceLine, type X12RemitTrace, type X12Remittance, type X12RequiredLoop, type X12ReviewDecision, type X12Segment, type X12ServiceLineStatus, type X12ServiceReview, type X12ServicesReview, type X12StatusCode, type X12StatusDate, type X12StatusEntity, type X12StatusInfo, type X12StatusMember, type X12StatusReference, type X12StatusTrace, type X12SubscriberInfo, type X12ToothInformation, type X12TransactionSet, type X12UnexpectedSegmentContext, type X12WarningCode, type X12WarningPartition, type X12_837ServiceLine, type X12_837ServiceLineDental, type X12_837ServiceLineInstitutional, type X12_837ServiceLineProfessional, type X12_837Submission, X12_ACK_DISPOSITION_CODES, X12_BUILD_ERROR_CODES, ambiguous837Variant, amountRowDropped, balanceNotEvaluable, build271, build277, build277CA, build278Request, build278Response, build820, build834, build835, build837D, build837I, build837P, build999, buildInterchange, buildTA1, checkClaimBalance, checkRemitTotalBalance, checkServiceLineBalance, collectElementValues, componentOptional, controlNumberMismatch, danglingReleaseChar, decodeSegment, defineLoopSpec, defineProfile, detectDelimiters, elementDecimal, elementDecimalOrZero, elementOptional, elementValue, entitySegmentDiscardedAfterLx, escapeRelease, get271Eligibility, get277CADisposition, get277Status, get278Request, get278Response, get820Payments, get834Enrollments, get834Header, get835, get837Claims, getAllSegmentValues, getDefaultProfile, getSegmentValue, groupCountMismatch, hlParentLevelInvalid, hlParentMismatch, isAcceptDisposition, isClaimAdjustmentGroupCode, isDiagnosisQualifier, isProcedureQualifier, lookupCarc, lookupClaimStatus, lookupClaimStatusCategory, lookupClpStatus, lookupMaintenanceType, lookupRarc, lookupServiceType, missingGe, missingIea, missingRequiredLoop, missingSe, parse999, parseTA1, parseX12, partitionWarnings, payToAddressRepeated, pre005010, profiles, readElementDecimal, remitBalanceMismatch, renderCallerValue, resolveHiQualifier, segmentCountMismatch, serializeX12, serviceLineDropped, serviceLineNotDecoded, serviceSegmentRepeated, serviceSegmentWithoutLx, setDefaultProfile, statedAmountDiscarded, trailingGarbage, transactionCountMismatch, unescapeRelease, unexpectedSegment, unknown837Variant, unknownCarc, unknownClaimStatus, unknownClaimStatusCategory, unknownHiQualifier, unknownMaintenanceType, unknownRarc, unparseableDecimal };
|