@cosyte/x12 0.0.15 → 0.0.17
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 +700 -12
- package/KNOWN-LIMITATIONS.md +436 -28
- package/README.md +1 -1
- package/dist/index.cjs +365 -37
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +156 -70
- package/dist/index.d.ts +156 -70
- package/dist/index.mjs +365 -38
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -61,6 +61,7 @@ import { Buffer } from 'node:buffer';
|
|
|
61
61
|
declare const WARNING_CODES: {
|
|
62
62
|
readonly X12_CONTROL_NUMBER_MISMATCH: "X12_CONTROL_NUMBER_MISMATCH";
|
|
63
63
|
readonly X12_PRE_005010: "X12_PRE_005010";
|
|
64
|
+
readonly X12_ISA_EXTRA_ELEMENT_SEPARATOR: "X12_ISA_EXTRA_ELEMENT_SEPARATOR";
|
|
64
65
|
readonly X12_GROUP_COUNT_MISMATCH: "X12_GROUP_COUNT_MISMATCH";
|
|
65
66
|
readonly X12_TRANSACTION_COUNT_MISMATCH: "X12_TRANSACTION_COUNT_MISMATCH";
|
|
66
67
|
readonly X12_SEGMENT_COUNT_MISMATCH: "X12_SEGMENT_COUNT_MISMATCH";
|
|
@@ -285,9 +286,7 @@ interface X12ParseWarning {
|
|
|
285
286
|
* Neither side is echoed, not truncated and not hashed. A control number is
|
|
286
287
|
* free-form trading-partner text on five of the six slots (only ISA-13 is
|
|
287
288
|
* fixed-width), routinely carries a batch or patient-account identifier in
|
|
288
|
-
* the field, and is entirely sender-controlled.
|
|
289
|
-
* `iea.elements[2]`, `gs.elements[6]`, `ge.elements[2]`, `st.elements[2]`
|
|
290
|
-
* and `se.elements[2]` off the model when you need the values.
|
|
289
|
+
* the field, and is entirely sender-controlled.
|
|
291
290
|
*
|
|
292
291
|
* @example
|
|
293
292
|
* ```ts
|
|
@@ -315,12 +314,42 @@ declare function controlNumberMismatch(position: X12Position, pair: X12ControlNu
|
|
|
315
314
|
* ```
|
|
316
315
|
*/
|
|
317
316
|
declare function pre005010(position: X12Position): X12ParseWarning;
|
|
317
|
+
/**
|
|
318
|
+
* Build an `X12_ISA_EXTRA_ELEMENT_SEPARATOR` warning. Emitted when the ISA
|
|
319
|
+
* element area (bytes 0..104) splits on the detected element separator into
|
|
320
|
+
* anything other than `["ISA", e1, …, e16]`.
|
|
321
|
+
*
|
|
322
|
+
* `detectDelimiters` has already verified that the separator sits at all 16
|
|
323
|
+
* fixed 005010 positions, so the split can only come out LONGER than 17: an
|
|
324
|
+
* ISA element value is itself carrying the byte that was declared in-band as
|
|
325
|
+
* the element separator. The interchange is not 005010-conformant either way,
|
|
326
|
+
* and the parser does not choose between the two readings of that byte - it
|
|
327
|
+
* reports that the header did not frame and leaves `isa.elements` exactly as
|
|
328
|
+
* the split produced it, with `isa.raw` carrying all 106 bytes verbatim.
|
|
329
|
+
*
|
|
330
|
+
* `decodeEnvelope` raises this ahead of every warning it raises after it,
|
|
331
|
+
* because when it is present the ISA-derived diagnostics that follow
|
|
332
|
+
* (`X12_PRE_005010` off `elements[12]`, `X12_CONTROL_NUMBER_MISMATCH` off
|
|
333
|
+
* `elements[13]`) may be reading a displaced element rather than the one they
|
|
334
|
+
* name. **That is a statement about `parseX12`'s `warnings` (and `onWarning`)
|
|
335
|
+
* and about nothing else.** `serializeX12(ix, { specClean: true })` runs its own
|
|
336
|
+
* reconciliation off `interchange.isa.elements[13]` with no arity awareness and
|
|
337
|
+
* never raises this code, so on that channel a lone
|
|
338
|
+
* `X12_CONTROL_NUMBER_MISMATCH` can be a displaced read - and its absence is not
|
|
339
|
+
* evidence the header framed. Filed, not fixed here.
|
|
340
|
+
*
|
|
341
|
+
* @example
|
|
342
|
+
* ```ts
|
|
343
|
+
* import { isaExtraElementSeparator } from "@cosyte/x12";
|
|
344
|
+
* const w = isaExtraElementSeparator({ segmentIndex: 0, interchangeIndex: 0 });
|
|
345
|
+
* ```
|
|
346
|
+
*/
|
|
347
|
+
declare function isaExtraElementSeparator(position: X12Position): X12ParseWarning;
|
|
318
348
|
/**
|
|
319
349
|
* Build an `X12_GROUP_COUNT_MISMATCH` warning. Emitted when IEA-01 does not
|
|
320
350
|
* equal the actual number of GS..GE groups present in the interchange.
|
|
321
351
|
* Trading partners use this to detect transmission truncation. Both numbers
|
|
322
|
-
* stay on the model
|
|
323
|
-
* is silently corrected.
|
|
352
|
+
* stay on the model and neither is silently corrected.
|
|
324
353
|
*
|
|
325
354
|
* @example
|
|
326
355
|
* ```ts
|
|
@@ -332,8 +361,7 @@ declare function groupCountMismatch(position: X12Position): X12ParseWarning;
|
|
|
332
361
|
/**
|
|
333
362
|
* Build an `X12_TRANSACTION_COUNT_MISMATCH` warning. Emitted when GE-01
|
|
334
363
|
* does not equal the actual number of ST..SE transaction sets present in
|
|
335
|
-
* the group. Both numbers stay on the model
|
|
336
|
-
* `group.transactions.length`).
|
|
364
|
+
* the group. Both numbers stay on the model.
|
|
337
365
|
*
|
|
338
366
|
* @example
|
|
339
367
|
* ```ts
|
|
@@ -588,10 +616,15 @@ declare function missingRequiredLoop(position: X12Position, loop: X12RequiredLoo
|
|
|
588
616
|
* Build an `X12_837_UNKNOWN_VARIANT` warning. Emitted when the 837 helper
|
|
589
617
|
* cannot resolve the variant from ST-03's implementation-convention
|
|
590
618
|
* reference AND no SVx service-line segment is present to fall back on.
|
|
591
|
-
* The parsed submission still ships with `variant: "unknown"
|
|
592
|
-
* verbatim reference on `submission.implementationConventionReference`; the
|
|
619
|
+
* The parsed submission still ships with `variant: "unknown"`, and the
|
|
593
620
|
* walker does its best on shared structure (envelope, HL, claim header) and
|
|
594
|
-
* skips variant-specific service-line decoding.
|
|
621
|
+
* skips variant-specific service-line decoding. **This message deliberately
|
|
622
|
+
* points at no model field.** Recognition reads `ST-03` as FRAMED while
|
|
623
|
+
* `submission.implementationConventionReference` is decoded of any `?` release
|
|
624
|
+
* escape, so on a document that escapes a delimiter inside `ST-03` the two
|
|
625
|
+
* differ and the model field can hold an identifier this code just said was
|
|
626
|
+
* not recognised (`X12-ST03-READ-NOT-RELEASE-AWARE`). A pointer stood here and
|
|
627
|
+
* in the message text and is DELETED, not reworded.
|
|
595
628
|
*
|
|
596
629
|
* `get837Claims` anchors this at the **ST**, which is `tx.segments[0]` and
|
|
597
630
|
* carries the ST-03 the resolution reads. Through `0.0.10` it passed
|
|
@@ -1454,6 +1487,12 @@ declare const NON_SPEC_SEGMENT_ID = "(non-spec)";
|
|
|
1454
1487
|
* decodes to an empty segment (`id: ""`, `elements: [""]`); callers that
|
|
1455
1488
|
* care can guard.
|
|
1456
1489
|
*
|
|
1490
|
+
* **A degenerate delimiter set whose ELEMENT SEPARATOR is itself `?` splits
|
|
1491
|
+
* literally**, because one byte cannot both separate and escape. Only that
|
|
1492
|
+
* role is guarded here: a `?` repetition or component separator is a
|
|
1493
|
+
* different call and is deliberately unchanged (see
|
|
1494
|
+
* {@link "./release.js".splitWithRelease}).
|
|
1495
|
+
*
|
|
1457
1496
|
* @example
|
|
1458
1497
|
* ```ts
|
|
1459
1498
|
* import { decodeSegment } from "@cosyte/x12";
|
|
@@ -1824,16 +1863,22 @@ interface IsaSegment {
|
|
|
1824
1863
|
readonly elements: readonly string[];
|
|
1825
1864
|
}
|
|
1826
1865
|
/**
|
|
1827
|
-
* The decoded IEA interchange trailer.
|
|
1828
|
-
*
|
|
1829
|
-
*
|
|
1830
|
-
*
|
|
1866
|
+
* The decoded IEA interchange trailer. IEA-01 is the group count and IEA-02
|
|
1867
|
+
* the interchange control number, which the envelope walker reconciles
|
|
1868
|
+
* against ISA-13.
|
|
1869
|
+
*
|
|
1870
|
+
* `raw` is the exact segment string (without the segment terminator) and
|
|
1871
|
+
* `elements` is 1-indexed (`elements[0]` = `"IEA"`, `elements[1]` = IEA-01,
|
|
1872
|
+
* `elements[2]` = IEA-02). **Element values are stored RAW,
|
|
1873
|
+
* pre-`?`-unescape**, so an element is the framed byte text of its slot and
|
|
1874
|
+
* not necessarily the value the sender stated.
|
|
1831
1875
|
*
|
|
1832
1876
|
* @example
|
|
1833
1877
|
* ```ts
|
|
1834
1878
|
* import type { IeaSegment } from "@cosyte/x12";
|
|
1835
1879
|
* declare const iea: IeaSegment;
|
|
1836
|
-
* iea.
|
|
1880
|
+
* iea.raw; // verbatim segment text
|
|
1881
|
+
* iea.elements[2]; // raw text of IEA-02 (post-element-split, pre-?-unescape)
|
|
1837
1882
|
* ```
|
|
1838
1883
|
*/
|
|
1839
1884
|
interface IeaSegment {
|
|
@@ -1841,17 +1886,22 @@ interface IeaSegment {
|
|
|
1841
1886
|
readonly elements: readonly string[];
|
|
1842
1887
|
}
|
|
1843
1888
|
/**
|
|
1844
|
-
* The decoded GS functional group header.
|
|
1845
|
-
*
|
|
1846
|
-
*
|
|
1847
|
-
*
|
|
1889
|
+
* The decoded GS functional group header. GS-01 is the functional ID code
|
|
1890
|
+
* (`HC` for claims, `HP` for remittance, etc.), GS-06 the group control
|
|
1891
|
+
* number, which reconciles against GE-02, and GS-08 the version /
|
|
1892
|
+
* implementation convention reference (e.g. `005010X222A2`).
|
|
1893
|
+
*
|
|
1894
|
+
* `elements` is 1-indexed (`elements[0]` = `"GS"`, `elements[1]` = GS-01,
|
|
1895
|
+
* ..., `elements[8]` = GS-08). **Element values are stored RAW,
|
|
1896
|
+
* pre-`?`-unescape**, so an element is the framed byte text of its slot and
|
|
1897
|
+
* not necessarily the value the sender stated.
|
|
1848
1898
|
*
|
|
1849
1899
|
* @example
|
|
1850
1900
|
* ```ts
|
|
1851
1901
|
* import type { GsSegment } from "@cosyte/x12";
|
|
1852
1902
|
* declare const gs: GsSegment;
|
|
1853
|
-
* gs.
|
|
1854
|
-
* gs.elements[6];
|
|
1903
|
+
* gs.raw; // verbatim segment text
|
|
1904
|
+
* gs.elements[6]; // raw text of GS-06 (post-element-split, pre-?-unescape)
|
|
1855
1905
|
* ```
|
|
1856
1906
|
*/
|
|
1857
1907
|
interface GsSegment {
|
|
@@ -1859,16 +1909,21 @@ interface GsSegment {
|
|
|
1859
1909
|
readonly elements: readonly string[];
|
|
1860
1910
|
}
|
|
1861
1911
|
/**
|
|
1862
|
-
* The decoded GE functional group trailer.
|
|
1863
|
-
*
|
|
1864
|
-
*
|
|
1865
|
-
*
|
|
1912
|
+
* The decoded GE functional group trailer. GE-01 is the transaction count,
|
|
1913
|
+
* which reconciles against the number of ST/SE pairs in the group, and
|
|
1914
|
+
* GE-02 the group control number, which reconciles against GS-06.
|
|
1915
|
+
*
|
|
1916
|
+
* `elements` is 1-indexed (`elements[0]` = `"GE"`, `elements[1]` = GE-01,
|
|
1917
|
+
* `elements[2]` = GE-02). **Element values are stored RAW,
|
|
1918
|
+
* pre-`?`-unescape**, so an element is the framed byte text of its slot and
|
|
1919
|
+
* not necessarily the value the sender stated.
|
|
1866
1920
|
*
|
|
1867
1921
|
* @example
|
|
1868
1922
|
* ```ts
|
|
1869
1923
|
* import type { GeSegment } from "@cosyte/x12";
|
|
1870
1924
|
* declare const ge: GeSegment;
|
|
1871
|
-
* ge.
|
|
1925
|
+
* ge.raw; // verbatim segment text
|
|
1926
|
+
* ge.elements[2]; // raw text of GE-02 (post-element-split, pre-?-unescape)
|
|
1872
1927
|
* ```
|
|
1873
1928
|
*/
|
|
1874
1929
|
interface GeSegment {
|
|
@@ -1882,24 +1937,31 @@ interface GeSegment {
|
|
|
1882
1937
|
* GS at all (a TA1-only interchange). One interchange may carry multiple
|
|
1883
1938
|
* TA1 segments, each acknowledging a prior inbound interchange.
|
|
1884
1939
|
*
|
|
1885
|
-
*
|
|
1886
|
-
*
|
|
1887
|
-
* date YYMMDD
|
|
1888
|
-
*
|
|
1889
|
-
*
|
|
1890
|
-
*
|
|
1891
|
-
*
|
|
1940
|
+
* TA1-01 is the interchange control number of the acknowledged interchange
|
|
1941
|
+
* and the reassociation key. TA1-02 and TA1-03 are
|
|
1942
|
+
* its interchange date (YYMMDD) and time (HHMM). TA1-04 is the Interchange
|
|
1943
|
+
* Acknowledgment Code, code list I13 (`A` accepted, `E` accepted with
|
|
1944
|
+
* errors, `R` rejected), and TA1-05 the Interchange Note Code, code list
|
|
1945
|
+
* I18.
|
|
1946
|
+
*
|
|
1947
|
+
* `elements` is 1-indexed (`elements[0]` = `"TA1"`, `elements[1]` = TA1-01,
|
|
1948
|
+
* ..., `elements[5]` = TA1-05). **Element values are stored RAW,
|
|
1949
|
+
* pre-`?`-unescape**, so an element is the framed byte text of its slot and
|
|
1950
|
+
* not necessarily the value the sender stated.
|
|
1892
1951
|
*
|
|
1893
1952
|
* The Phase 3 envelope walker captures TA1 segments here verbatim; the
|
|
1894
|
-
* typed-ack model is built on top by `parseTA1
|
|
1895
|
-
*
|
|
1953
|
+
* typed-ack model is built on top by `parseTA1`, whose five decoded fields
|
|
1954
|
+
* are POST-`?`-unescape. `parseTA1` decodes the FIRST TA1 on an
|
|
1955
|
+
* interchange, so on a multi-TA1 inbound it does not necessarily describe
|
|
1956
|
+
* the segment you are holding. TA1 contains only structural control /
|
|
1957
|
+
* disposition codes - by spec it carries NO PHI.
|
|
1896
1958
|
*
|
|
1897
1959
|
* @example
|
|
1898
1960
|
* ```ts
|
|
1899
1961
|
* import type { Ta1Segment } from "@cosyte/x12";
|
|
1900
1962
|
* declare const ta1: Ta1Segment;
|
|
1901
|
-
* ta1.
|
|
1902
|
-
* ta1.elements[
|
|
1963
|
+
* ta1.raw; // verbatim segment text
|
|
1964
|
+
* ta1.elements[1]; // raw text of TA1-01 (post-element-split, pre-?-unescape)
|
|
1903
1965
|
* ```
|
|
1904
1966
|
*/
|
|
1905
1967
|
interface Ta1Segment {
|
|
@@ -1916,7 +1978,9 @@ interface Ta1Segment {
|
|
|
1916
1978
|
*
|
|
1917
1979
|
* `elements` on the ST and SE segments themselves IS decoded at envelope
|
|
1918
1980
|
* time so envelope invariants can be checked (ST-02 ↔ SE-02 control-number
|
|
1919
|
-
* reconciliation, SE-01 segment count).
|
|
1981
|
+
* reconciliation, SE-01 segment count). **Read "decoded" as element-SPLIT and
|
|
1982
|
+
* nothing more: the strings are PRE-`?`-unescape**, and a reader that publishes
|
|
1983
|
+
* one to a consumer unescapes it first (`X12-ST03-READ-NOT-RELEASE-AWARE`).
|
|
1920
1984
|
*
|
|
1921
1985
|
* @example
|
|
1922
1986
|
* ```ts
|
|
@@ -1948,7 +2012,6 @@ interface X12TransactionSet {
|
|
|
1948
2012
|
* ```ts
|
|
1949
2013
|
* import type { X12FunctionalGroup } from "@cosyte/x12";
|
|
1950
2014
|
* declare const group: X12FunctionalGroup;
|
|
1951
|
-
* group.gs.elements[1]; // GS-01 - functional ID code
|
|
1952
2015
|
* group.transactions.length;
|
|
1953
2016
|
* ```
|
|
1954
2017
|
*/
|
|
@@ -2197,7 +2260,7 @@ interface X12Interchange {
|
|
|
2197
2260
|
* ix.delimiters.element; // "*"
|
|
2198
2261
|
* ix.delimiters.component; // ":"
|
|
2199
2262
|
* ix.delimiters.segment; // "~"
|
|
2200
|
-
* ix.groups[0]?.gs.elements[1]; //
|
|
2263
|
+
* ix.groups[0]?.gs.elements[1]; // raw text of GS-01 (pre-?-unescape)
|
|
2201
2264
|
* for (const w of ix.warnings) {
|
|
2202
2265
|
* if (w.code === WARNING_CODES.X12_PRE_005010) {
|
|
2203
2266
|
* // sender on pre-005010 version family
|
|
@@ -12335,7 +12398,9 @@ type Ta1AckCode = (typeof TA1_ACK_CODES)[keyof typeof TA1_ACK_CODES];
|
|
|
12335
12398
|
* TA1-05 interchange note code (ASC X12 code list I18). Codes `000`–`028`
|
|
12336
12399
|
* are defined by the standard; values past `028` exist in some standard
|
|
12337
12400
|
* revisions and are accepted on parse (Postel's Law) but not enumerated
|
|
12338
|
-
* here - the parsed model carries the
|
|
12401
|
+
* here - the parsed model carries the un-narrowed string on `noteCodeRaw`,
|
|
12402
|
+
* post-`?`-unescape as of `X12-TA1-RESIDUALS`. **A clause here said "verbatim"
|
|
12403
|
+
* and is deleted rather than reworded**; `raw.elements[5]` is the byte surface.
|
|
12339
12404
|
*
|
|
12340
12405
|
* `000` is the canonical "no error" note paired with a `TA1-04 == 'A'`
|
|
12341
12406
|
* acceptance. The build-time safety guard refuses a fabricated `A` paired
|
|
@@ -12412,9 +12477,11 @@ declare const TA1_NOTE_CODES: {
|
|
|
12412
12477
|
/**
|
|
12413
12478
|
* String-literal union over {@link TA1_NOTE_CODES} - the standard-issued
|
|
12414
12479
|
* note codes `000`–`028`. Real-world inbound TA1 may carry a value past
|
|
12415
|
-
* `028` (some revisions extend the list); `parseTA1` exposes the
|
|
12416
|
-
* string in that case so the
|
|
12417
|
-
* cannot statically type it.
|
|
12480
|
+
* `028` (some revisions extend the list); `parseTA1` exposes the
|
|
12481
|
+
* un-narrowed string on `noteCodeRaw` in that case, so the value survives
|
|
12482
|
+
* even when the union cannot statically type it. **It is post-`?`-unescape
|
|
12483
|
+
* as of `X12-TA1-RESIDUALS`, and a clause here calling it VERBATIM is
|
|
12484
|
+
* deleted rather than reworded** - `raw.elements[5]` is the byte surface.
|
|
12418
12485
|
*/
|
|
12419
12486
|
type Ta1NoteCode = (typeof TA1_NOTE_CODES)[keyof typeof TA1_NOTE_CODES];
|
|
12420
12487
|
|
|
@@ -12636,13 +12703,23 @@ interface X12Ack999 {
|
|
|
12636
12703
|
* - `interchangeTime` - TA1-03: HHMM (echoes inbound ISA-10).
|
|
12637
12704
|
* - `ackCode` - TA1-04: {@link Ta1AckCode}.
|
|
12638
12705
|
* - `noteCode` - TA1-05: typed when the value is a known I18 code
|
|
12639
|
-
* ({@link Ta1NoteCode}); the
|
|
12640
|
-
* so unknown extensions
|
|
12641
|
-
*
|
|
12642
|
-
*
|
|
12706
|
+
* ({@link Ta1NoteCode}); `noteCodeRaw` carries the un-narrowed string
|
|
12707
|
+
* alongside so unknown extensions survive. **A clause here said that
|
|
12708
|
+
* string is preserved VERBATIM and is deleted, not reworded:**
|
|
12709
|
+
* `X12-TA1-RESIDUALS` made it post-unescape, and `raw.elements[5]` is
|
|
12710
|
+
* the verbatim surface.
|
|
12711
|
+
* - `noteCodeRaw` - the un-narrowed TA1-05 string. Equal to `noteCode` when
|
|
12712
|
+
* the value is a known I18 code; equal to the decoded inbound text when
|
|
12713
|
+
* not.
|
|
12643
12714
|
* - `raw` - the underlying envelope-level {@link Ta1Segment}, for
|
|
12644
12715
|
* byte-exact round-trip.
|
|
12645
12716
|
*
|
|
12717
|
+
* **The five decoded fields are POST-`?`-unescape; `raw` is the verbatim
|
|
12718
|
+
* byte surface and is not.** `X12-TA1-RESIDUALS` moved the decoded half:
|
|
12719
|
+
* before it, a released TA1-01 read back carrying its `?` and matched no
|
|
12720
|
+
* ISA-13, while every dot-path read of the same element already unescaped.
|
|
12721
|
+
* Read `raw.elements` when you want the bytes.
|
|
12722
|
+
*
|
|
12646
12723
|
* @example
|
|
12647
12724
|
* ```ts
|
|
12648
12725
|
* import type { X12AckTA1 } from "@cosyte/x12";
|
|
@@ -12956,20 +13033,17 @@ declare function build999(spec: Build999Spec): X12Interchange;
|
|
|
12956
13033
|
* number of `"0000^0001"`, truncating the reassociation key to the first
|
|
12957
13034
|
* repetition, and answers `"0000^0001"` here; the composite read `"01-1"`
|
|
12958
13035
|
* 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`
|
|
12961
|
-
*
|
|
12962
|
-
*
|
|
12963
|
-
*
|
|
12964
|
-
*
|
|
12965
|
-
*
|
|
12966
|
-
*
|
|
12967
|
-
*
|
|
12968
|
-
*
|
|
12969
|
-
*
|
|
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.
|
|
13036
|
+
* MID-STRING `?`, and only on the surfaces documented as raw**: `raw` and
|
|
13037
|
+
* `elements` read `"0000??0001"` where they read `"0000?0001"`, while the
|
|
13038
|
+
* dot-path read of THAT value unescapes and answered `"0000?0001"` on
|
|
13039
|
+
* both. Read the clause as scoped to the mid-string `?`, because it is
|
|
13040
|
+
* not true of `^` or `:` three sentences up. **`getSegmentValue` takes an
|
|
13041
|
+
* `X12Segment` and `Ta1Segment` carries no `id`, so add one to read a TA1
|
|
13042
|
+
* through it.** No total is published: that is what was measured, not a
|
|
13043
|
+
* closed account.
|
|
13044
|
+
* **🩺 A CLAUSE NAMING `parseTA1`'s FIELDS AS A THIRD SUCH SURFACE STOOD
|
|
13045
|
+
* HERE AND IS DELETED, NOT REWORDED.** `X12-TA1-RESIDUALS` made those
|
|
13046
|
+
* fields post-unescape, so it is measured false; do not restate it.
|
|
12973
13047
|
* - **A caller who was pre-releasing the value themselves** (the remedy
|
|
12974
13048
|
* `KNOWN-LIMITATIONS.md` named while this was open) is now escaping
|
|
12975
13049
|
* twice: `"00000001??"` in, `"00000001????"` out. The framing and the
|
|
@@ -12977,10 +13051,24 @@ declare function build999(spec: Build999Spec): X12Interchange;
|
|
|
12977
13051
|
* surface - the dot-path read answers `"00000001??"` where it answered
|
|
12978
13052
|
* `"00000001?"`. Drop the hand-rolled escape.
|
|
12979
13053
|
*
|
|
12980
|
-
* **And an EMPTY control number
|
|
12981
|
-
* early-returns on `""` and this module
|
|
12982
|
-
* `interchangeControlNumber: ""`
|
|
12983
|
-
* error,
|
|
13054
|
+
* **And an EMPTY control number USED to go out unrefused.** `escapeRelease`
|
|
13055
|
+
* early-returns on `""` and this module had no required-field guard, so
|
|
13056
|
+
* `interchangeControlNumber: ""` emitted `TA1**260601*1200*A*000` with no
|
|
13057
|
+
* error, through `0.0.15`. `X12-EMPTY-CONTROL-NUMBER-FABRICATED` closed it:
|
|
13058
|
+
* see {@link "../../builder/caller-control-number.js".requireControlNumber}.
|
|
13059
|
+
* `X12-CONTROL-NUMBER-GUARD-NOT-TYPE-CHECKED` then made the same guard
|
|
13060
|
+
* type-check, so TA1-01 draws a refusal naming TA1-01 rather than the escaper's
|
|
13061
|
+
* one naming only the builder - same class, same code, different words. The
|
|
13062
|
+
* guard is still byte-strict, so a whitespace-only TA1-01 still builds.
|
|
13063
|
+
*
|
|
13064
|
+
* **The other four slots were left open by that slice and `X12-TA1-RESIDUALS`
|
|
13065
|
+
* closes them.** TA1-01's guard was the only required-field guard this module
|
|
13066
|
+
* had, so `interchangeDate`, `interchangeTime`, `ackCode` and `noteCode` each
|
|
13067
|
+
* emitted an absent element on `""` with `warnings: []`. **TA1-05's cell has to
|
|
13068
|
+
* be read against a NON-Accept disposition, or `enforceAcceptIsClean` reaches
|
|
13069
|
+
* it first and the reading measures that guard instead** - see
|
|
13070
|
+
* {@link requireTa1Element}, which carries the grounding and the residual it
|
|
13071
|
+
* deliberately leaves.
|
|
12984
13072
|
*
|
|
12985
13073
|
* And the release is scoped to the delimiter set the caller states through
|
|
12986
13074
|
* {@link BuildTA1Options} - see that interface for why guessing one is a
|
|
@@ -13157,9 +13245,7 @@ interface BuildTA1Options {
|
|
|
13157
13245
|
* Every warning it emits is built by the same value-free factories the parser
|
|
13158
13246
|
* uses: `message` is a frozen-registry lookup and `position` locates the
|
|
13159
13247
|
* control segment, so a declared count or control number can never reach a
|
|
13160
|
-
* diagnostic.
|
|
13161
|
-
* (`se.elements[1]` against `tx.rawSegments.length`, `ge.elements[1]` against
|
|
13162
|
-
* `group.transactions.length`, `iea.elements[1]` against `ix.groups.length`).
|
|
13248
|
+
* diagnostic.
|
|
13163
13249
|
*/
|
|
13164
13250
|
|
|
13165
13251
|
/**
|
|
@@ -13881,4 +13967,4 @@ declare const profiles: {
|
|
|
13881
13967
|
*/
|
|
13882
13968
|
declare const VERSION: string;
|
|
13883
13969
|
|
|
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 };
|
|
13970
|
+
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, isaExtraElementSeparator, 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 };
|