@cosyte/x12 0.0.12 → 0.0.13
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 +238 -0
- package/KNOWN-LIMITATIONS.md +183 -27
- package/README.md +2 -2
- package/dist/index.cjs +179 -61
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +326 -43
- package/dist/index.d.ts +326 -43
- package/dist/index.mjs +176 -62
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -86,6 +86,10 @@ declare const WARNING_CODES: {
|
|
|
86
86
|
readonly X12_837_SERVICE_LINE_DROPPED: "X12_837_SERVICE_LINE_DROPPED";
|
|
87
87
|
readonly X12_837_SERVICE_SEGMENT_WITHOUT_LX: "X12_837_SERVICE_SEGMENT_WITHOUT_LX";
|
|
88
88
|
readonly X12_837_ENTITY_SEGMENT_DISCARDED_AFTER_LX: "X12_837_ENTITY_SEGMENT_DISCARDED_AFTER_LX";
|
|
89
|
+
readonly X12_837_PAY_TO_ADDRESS_REPEATED: "X12_837_PAY_TO_ADDRESS_REPEATED";
|
|
90
|
+
readonly X12_835_BALANCE_NOT_EVALUABLE: "X12_835_BALANCE_NOT_EVALUABLE";
|
|
91
|
+
readonly X12_AMOUNT_ROW_DROPPED: "X12_AMOUNT_ROW_DROPPED";
|
|
92
|
+
readonly X12_STATED_AMOUNT_DISCARDED: "X12_STATED_AMOUNT_DISCARDED";
|
|
89
93
|
};
|
|
90
94
|
/**
|
|
91
95
|
* Discriminant type for `X12ParseWarning.code`. Narrowing a warning by this
|
|
@@ -468,6 +472,29 @@ declare function unexpectedSegment(position: X12Position, context: X12Unexpected
|
|
|
468
472
|
* ```
|
|
469
473
|
*/
|
|
470
474
|
declare function remitBalanceMismatch(position: X12Position, invariant: X12BalanceInvariant): X12ParseWarning;
|
|
475
|
+
/**
|
|
476
|
+
* Build an `X12_835_BALANCE_NOT_EVALUABLE` warning. Emitted where a term of
|
|
477
|
+
* a TR3 X221A1 §1.10.2 invariant is `undefined` on the model, so the
|
|
478
|
+
* equation has nothing to compare on one side. `invariant` names which
|
|
479
|
+
* equation could not be run.
|
|
480
|
+
*
|
|
481
|
+
* This is deliberately a DIFFERENT code from
|
|
482
|
+
* {@link remitBalanceMismatch}: that one asserts a computed inequality
|
|
483
|
+
* between amounts the sender supplied, and this one asserts only that the
|
|
484
|
+
* comparison could not be made. Reading an absent term as `0` is what made
|
|
485
|
+
* the two indistinguishable before `X12Decimal | undefined`, and it is the
|
|
486
|
+
* thing this code exists to stop.
|
|
487
|
+
*
|
|
488
|
+
* @example
|
|
489
|
+
* ```ts
|
|
490
|
+
* import { balanceNotEvaluable, BALANCE_INVARIANTS } from "@cosyte/x12";
|
|
491
|
+
* const w = balanceNotEvaluable(
|
|
492
|
+
* { segmentIndex: 12, groupIndex: 0, transactionIndex: 0 },
|
|
493
|
+
* BALANCE_INVARIANTS.CLAIM,
|
|
494
|
+
* );
|
|
495
|
+
* ```
|
|
496
|
+
*/
|
|
497
|
+
declare function balanceNotEvaluable(position: X12Position, invariant: X12BalanceInvariant): X12ParseWarning;
|
|
471
498
|
/**
|
|
472
499
|
* Build an `X12_UNKNOWN_CARC` warning. Emitted when a CAS adjustment
|
|
473
500
|
* carries a CARC code outside the bundled snapshot (see
|
|
@@ -582,9 +609,11 @@ declare function unknown837Variant(position: X12Position): X12ParseWarning;
|
|
|
582
609
|
* carries no SVx at all, or it carries one belonging to a different 837
|
|
583
610
|
* variant than ST-03 (or the caller's `type` option) named. The line is
|
|
584
611
|
* still retained, and every segment stays verbatim on the transaction set,
|
|
585
|
-
* but the line's `charge` and `units` are
|
|
586
|
-
*
|
|
587
|
-
*
|
|
612
|
+
* but the line's `charge` and `units` are `undefined` rather than anything
|
|
613
|
+
* read off the wire. Through `0.0.12` they were the accumulator's seeded
|
|
614
|
+
* `X12Decimal.ZERO`, which a consumer could not tell from a charge of zero
|
|
615
|
+
* the sender did state. `position` names the LX segment that opened the
|
|
616
|
+
* line.
|
|
588
617
|
*
|
|
589
618
|
* @example
|
|
590
619
|
* ```ts
|
|
@@ -674,6 +703,38 @@ declare function serviceSegmentWithoutLx(position: X12Position): X12ParseWarning
|
|
|
674
703
|
* ```
|
|
675
704
|
*/
|
|
676
705
|
declare function entitySegmentDiscardedAfterLx(position: X12Position): X12ParseWarning;
|
|
706
|
+
/**
|
|
707
|
+
* Build an `X12_837_PAY_TO_ADDRESS_REPEATED` warning. Emitted by the 837
|
|
708
|
+
* helper at the second and each subsequent `NM1*87` within one Loop 2000A,
|
|
709
|
+
* where the TR3s allow Loop 2010AB at most once. `position` names the
|
|
710
|
+
* repeated `NM1*87` itself, which is the segment a consumer resolves back
|
|
711
|
+
* through `tx.segments`; there is no `elementIndex`, because what is being
|
|
712
|
+
* reported is a second occurrence of the segment rather than a defect in
|
|
713
|
+
* any element of it.
|
|
714
|
+
*
|
|
715
|
+
* Once per repeat, so two repeats in one Loop 2000A are two warnings. The
|
|
716
|
+
* counter resets at the Loop 2000A `HL`, beside the pay-to slot it guards -
|
|
717
|
+
* a first `NM1*87` under a later billing provider is a first, not a repeat.
|
|
718
|
+
*
|
|
719
|
+
* It reports that the DOCUMENT named the pay-to address more than once. It
|
|
720
|
+
* does NOT report that anything was mis-read, and it is not a service-line
|
|
721
|
+
* or entity-segment code: nothing else on the channel says this, and this
|
|
722
|
+
* says nothing about the other 837 codes' subjects.
|
|
723
|
+
*
|
|
724
|
+
* **The rule the reader applies, because a consumer cannot infer it from a
|
|
725
|
+
* one-slot model:** occurrences are never merged, the last occurrence that
|
|
726
|
+
* states an address of its own wins, and an occurrence that states none does
|
|
727
|
+
* not blank one that did. "States an address" means exactly what the emit
|
|
728
|
+
* side would write a segment for - see `./address-segments.ts`, which both
|
|
729
|
+
* sides share so they cannot drift.
|
|
730
|
+
*
|
|
731
|
+
* @example
|
|
732
|
+
* ```ts
|
|
733
|
+
* import { payToAddressRepeated } from "@cosyte/x12";
|
|
734
|
+
* const w = payToAddressRepeated({ segmentIndex: 12, transactionIndex: 0 });
|
|
735
|
+
* ```
|
|
736
|
+
*/
|
|
737
|
+
declare function payToAddressRepeated(position: X12Position): X12ParseWarning;
|
|
677
738
|
/**
|
|
678
739
|
* Build an `X12_UNKNOWN_CLAIM_STATUS_CATEGORY` warning. Emitted by the 277
|
|
679
740
|
* / 277CA helpers when an STC composite's Claim Status Category Code
|
|
@@ -734,11 +795,13 @@ declare function unknownMaintenanceType(position: X12Position): X12ParseWarning;
|
|
|
734
795
|
*
|
|
735
796
|
* `position.elementIndex` is the 1-indexed element that failed, so a
|
|
736
797
|
* consumer can go read the verbatim bytes off the segment. The message
|
|
737
|
-
* takes NO discriminant and deliberately does not name
|
|
738
|
-
*
|
|
739
|
-
*
|
|
740
|
-
*
|
|
741
|
-
*
|
|
798
|
+
* takes NO discriminant and deliberately does not name what landed in the
|
|
799
|
+
* slot instead: this library's own readers now either leave the slot
|
|
800
|
+
* `undefined` or drop the row entirely, and a reader built on
|
|
801
|
+
* {@link "./segment.js".elementDecimalOrZero} still substitutes
|
|
802
|
+
* `X12Decimal.ZERO`. The one thing true of all of them is that whatever
|
|
803
|
+
* occupies that slot is not the sender's. Read the model field itself to
|
|
804
|
+
* see which happened.
|
|
742
805
|
*
|
|
743
806
|
* @example
|
|
744
807
|
* ```ts
|
|
@@ -747,6 +810,91 @@ declare function unknownMaintenanceType(position: X12Position): X12ParseWarning;
|
|
|
747
810
|
* ```
|
|
748
811
|
*/
|
|
749
812
|
declare function unparseableDecimal(position: X12Position): X12ParseWarning;
|
|
813
|
+
/**
|
|
814
|
+
* Build an `X12_AMOUNT_ROW_DROPPED` warning. Emitted where an `AMT` or `ADX`
|
|
815
|
+
* decoded no value from its amount element (AMT-02, ADX-01) and the reader
|
|
816
|
+
* therefore built no row at all, so the qualifier or adjustment reason code
|
|
817
|
+
* the sender did state is off the model with it.
|
|
818
|
+
*
|
|
819
|
+
* `position` names the `AMT` / `ADX` segment itself and carries NO
|
|
820
|
+
* `elementIndex`: one of the two routes here is an absent element, and an
|
|
821
|
+
* absent element has no index to name. The element the reader was reading is
|
|
822
|
+
* fixed by the segment anyway - AMT-02 or ADX-01 - so the segment locates the
|
|
823
|
+
* loss exactly.
|
|
824
|
+
*
|
|
825
|
+
* It is raised for BOTH routes to an undecoded amount, and
|
|
826
|
+
* {@link unparseableDecimal} is unchanged by it: a present-but-undecodable
|
|
827
|
+
* element still raises `X12_UNPARSEABLE_DECIMAL` at its own `elementIndex`,
|
|
828
|
+
* now ALONGSIDE this code rather than instead of it, so a consumer predicate
|
|
829
|
+
* written against that code alone still fires exactly where it did. The
|
|
830
|
+
* absent route raises this code and nothing else, which is what tells the two
|
|
831
|
+
* apart.
|
|
832
|
+
*
|
|
833
|
+
* Read the bound literally. This reports a row whose AMOUNT was read and
|
|
834
|
+
* decoded no value. A segment a reader discards before reading its amount is
|
|
835
|
+
* not on this channel, and neither is one whose amount decoded and then found
|
|
836
|
+
* nothing open to attach the row to. An 820 `RMR` is not on it either, for its
|
|
837
|
+
* own reason: `decodeRmr` drops on open-item IDENTITY, RMR-01 and RMR-02 both
|
|
838
|
+
* empty, before the amount is read - so an `RMR` that states an open item and
|
|
839
|
+
* no amount keeps its row with `amountPaid` `undefined`, while one that states
|
|
840
|
+
* an amount and no open item is dropped whole. That second case is a separate
|
|
841
|
+
* loss, as is an 837 `AMT` that decoded while a Loop 2430 adjudication was
|
|
842
|
+
* open; {@link statedAmountDiscarded} reports both and this code reports
|
|
843
|
+
* neither. Nothing is fabricated to stand in and the segments stay verbatim on
|
|
844
|
+
* the transaction set.
|
|
845
|
+
*
|
|
846
|
+
* @example
|
|
847
|
+
* ```ts
|
|
848
|
+
* import { amountRowDropped } from "@cosyte/x12";
|
|
849
|
+
* const w = amountRowDropped({ segmentIndex: 7, transactionIndex: 0 });
|
|
850
|
+
* ```
|
|
851
|
+
*/
|
|
852
|
+
declare function amountRowDropped(position: X12Position): X12ParseWarning;
|
|
853
|
+
/**
|
|
854
|
+
* Build an `X12_STATED_AMOUNT_DISCARDED` warning. Emitted where a segment
|
|
855
|
+
* POPULATED its amount element, the loop that would carry its row was open,
|
|
856
|
+
* and the reader built no row anyway - for a reason that is not a failure to
|
|
857
|
+
* decode that amount. The money the sender wrote is on no part of the typed
|
|
858
|
+
* model. **This code asserts nothing about whether that amount is decodable**:
|
|
859
|
+
* route 2 below decoded it, route 1 never attempted the decode.
|
|
860
|
+
*
|
|
861
|
+
* Two routes, enumerated because a count without its list cannot correct
|
|
862
|
+
* itself:
|
|
863
|
+
*
|
|
864
|
+
* 1. An 820 `RMR` under an open remittance loop whose RMR-01 and RMR-02 are
|
|
865
|
+
* BOTH empty while RMR-04 or RMR-05 is populated. `decodeRmr` refuses the
|
|
866
|
+
* open item on identity before either amount element is read, so a stated
|
|
867
|
+
* payment, a stated amount due and the payment action code beside them are
|
|
868
|
+
* lost together.
|
|
869
|
+
* 2. An 837 `AMT` arriving while a Loop 2430 line adjudication (`SVD`) is
|
|
870
|
+
* open, whose AMT-02 decoded. The v1 adjudication model carries no amount
|
|
871
|
+
* row, so the row is skipped rather than attached to the service line,
|
|
872
|
+
* which is this reader's own line and not the other payer's.
|
|
873
|
+
*
|
|
874
|
+
* `position` names the `RMR` / `AMT` segment itself and carries NO
|
|
875
|
+
* `elementIndex`: on the first route the loss spans RMR-04 and RMR-05 and no
|
|
876
|
+
* single element names it, and on the second the element is fixed by the
|
|
877
|
+
* segment.
|
|
878
|
+
*
|
|
879
|
+
* Read the bound as a property of the READ. This does NOT report an `AMT` or
|
|
880
|
+
* `ADX` that reaches a reader with no loop open to carry its row at all: the
|
|
881
|
+
* 834's `AMT` with no `HD` open, the 820's `ADX` with no remittance open, and
|
|
882
|
+
* the 835's and the 837's `AMT` that decodes before any claim or service line
|
|
883
|
+
* is open are all still silent, and recorded in `KNOWN-LIMITATIONS.md`. It is
|
|
884
|
+
* additive: {@link unparseableDecimal} and {@link amountRowDropped} fire on
|
|
885
|
+
* exactly the documents they fired on before. On route 1 no
|
|
886
|
+
* `X12_UNPARSEABLE_DECIMAL` accompanies this code even where the amount bytes
|
|
887
|
+
* are unreadable, because that route never attempts the decode - so never read
|
|
888
|
+
* an unaccompanied instance as evidence the bytes are postable. Read them off
|
|
889
|
+
* the segment and decode them yourself.
|
|
890
|
+
*
|
|
891
|
+
* @example
|
|
892
|
+
* ```ts
|
|
893
|
+
* import { statedAmountDiscarded } from "@cosyte/x12";
|
|
894
|
+
* const w = statedAmountDiscarded({ segmentIndex: 9, transactionIndex: 0 });
|
|
895
|
+
* ```
|
|
896
|
+
*/
|
|
897
|
+
declare function statedAmountDiscarded(position: X12Position): X12ParseWarning;
|
|
750
898
|
|
|
751
899
|
/**
|
|
752
900
|
* Type definitions for the `@cosyte/x12` profile subsystem (Phase 9).
|
|
@@ -3267,14 +3415,22 @@ interface X12Remittance {
|
|
|
3267
3415
|
* ```ts
|
|
3268
3416
|
* import type { X12RemitPaymentHeader } from "@cosyte/x12";
|
|
3269
3417
|
* declare const p: X12RemitPaymentHeader;
|
|
3270
|
-
* p.totalActualPayment
|
|
3418
|
+
* p.totalActualPayment?.toString(); // "945.00", or undefined if none decoded
|
|
3271
3419
|
* p.method; // "ACH"
|
|
3272
3420
|
* p.paymentDate; // "20260601" (CCYYMMDD, verbatim)
|
|
3273
3421
|
* ```
|
|
3274
3422
|
*/
|
|
3275
3423
|
interface X12RemitPaymentHeader {
|
|
3276
3424
|
readonly transactionHandlingCode: string;
|
|
3277
|
-
|
|
3425
|
+
/**
|
|
3426
|
+
* BPR-02, the amount the bank actually moved. `undefined` where this library decoded no value
|
|
3427
|
+
* from that element - it was absent or empty, or it held bytes that do
|
|
3428
|
+
* not decode as a decimal (which also emits `X12_UNPARSEABLE_DECIMAL` at
|
|
3429
|
+
* its `elementIndex`). Through `0.0.12` both cases read
|
|
3430
|
+
* `X12Decimal.ZERO`, indistinguishable from an amount of zero the sender
|
|
3431
|
+
* did state, and the balance invariants summed that fabricated zero.
|
|
3432
|
+
*/
|
|
3433
|
+
readonly totalActualPayment: X12Decimal | undefined;
|
|
3278
3434
|
/**
|
|
3279
3435
|
* BPR-03 credit/debit flag. Spec-defined values: `"C"` (credit - money
|
|
3280
3436
|
* to provider, the normal case) or `"D"` (debit - refund / chargeback,
|
|
@@ -3418,8 +3574,8 @@ interface X12RemitContact {
|
|
|
3418
3574
|
* import type { X12RemitClaim } from "@cosyte/x12";
|
|
3419
3575
|
* declare const c: X12RemitClaim;
|
|
3420
3576
|
* c.patientControlNumber; // "PT-ACCT-001"
|
|
3421
|
-
* c.totalChargeAmount
|
|
3422
|
-
* c.totalPaymentAmount
|
|
3577
|
+
* c.totalChargeAmount?.toString(); // "500.00", or undefined if none decoded
|
|
3578
|
+
* c.totalPaymentAmount?.toString(); // "450.00", or undefined if none decoded
|
|
3423
3579
|
* c.claimStatusCode; // "1" - Processed as Primary
|
|
3424
3580
|
* c.serviceLines.length; // count of SVC loops
|
|
3425
3581
|
* ```
|
|
@@ -3428,9 +3584,33 @@ interface X12RemitClaim {
|
|
|
3428
3584
|
readonly patientControlNumber: string;
|
|
3429
3585
|
readonly claimStatusCode: string;
|
|
3430
3586
|
readonly claimStatusDescription: string | undefined;
|
|
3431
|
-
|
|
3432
|
-
|
|
3433
|
-
|
|
3587
|
+
/**
|
|
3588
|
+
* CLP-03, the total submitted charge. `undefined` where this library decoded no value
|
|
3589
|
+
* from that element - it was absent or empty, or it held bytes that do
|
|
3590
|
+
* not decode as a decimal (which also emits `X12_UNPARSEABLE_DECIMAL` at
|
|
3591
|
+
* its `elementIndex`). Through `0.0.12` both cases read
|
|
3592
|
+
* `X12Decimal.ZERO`, indistinguishable from an amount of zero the sender
|
|
3593
|
+
* did state, and the balance invariants summed that fabricated zero.
|
|
3594
|
+
*/
|
|
3595
|
+
readonly totalChargeAmount: X12Decimal | undefined;
|
|
3596
|
+
/**
|
|
3597
|
+
* CLP-04, the total amount paid on the claim. `undefined` where this library decoded no value
|
|
3598
|
+
* from that element - it was absent or empty, or it held bytes that do
|
|
3599
|
+
* not decode as a decimal (which also emits `X12_UNPARSEABLE_DECIMAL` at
|
|
3600
|
+
* its `elementIndex`). Through `0.0.12` both cases read
|
|
3601
|
+
* `X12Decimal.ZERO`, indistinguishable from an amount of zero the sender
|
|
3602
|
+
* did state, and the balance invariants summed that fabricated zero.
|
|
3603
|
+
*/
|
|
3604
|
+
readonly totalPaymentAmount: X12Decimal | undefined;
|
|
3605
|
+
/**
|
|
3606
|
+
* CLP-05, the patient responsibility amount. `undefined` where this library decoded no value
|
|
3607
|
+
* from that element - it was absent or empty, or it held bytes that do
|
|
3608
|
+
* not decode as a decimal (which also emits `X12_UNPARSEABLE_DECIMAL` at
|
|
3609
|
+
* its `elementIndex`). Through `0.0.12` both cases read
|
|
3610
|
+
* `X12Decimal.ZERO`, indistinguishable from an amount of zero the sender
|
|
3611
|
+
* did state, and the balance invariants summed that fabricated zero.
|
|
3612
|
+
*/
|
|
3613
|
+
readonly patientResponsibilityAmount: X12Decimal | undefined;
|
|
3434
3614
|
readonly claimFilingIndicatorCode: string | undefined;
|
|
3435
3615
|
readonly payerClaimControlNumber: string | undefined;
|
|
3436
3616
|
readonly facilityTypeCode: string | undefined;
|
|
@@ -3467,14 +3647,22 @@ interface X12RemitClaim {
|
|
|
3467
3647
|
* a.groupCode; // "PR" (patient responsibility)
|
|
3468
3648
|
* a.reasonCode; // "1" (deductible)
|
|
3469
3649
|
* a.reasonDescription; // "Deductible Amount"
|
|
3470
|
-
* a.amount
|
|
3650
|
+
* a.amount?.toString(); // "50.00", or undefined if none decoded
|
|
3471
3651
|
* ```
|
|
3472
3652
|
*/
|
|
3473
3653
|
interface X12RemitAdjustment {
|
|
3474
3654
|
readonly groupCode: string;
|
|
3475
3655
|
readonly reasonCode: string;
|
|
3476
3656
|
readonly reasonDescription: string | undefined;
|
|
3477
|
-
|
|
3657
|
+
/**
|
|
3658
|
+
* The CAS adjustment amount for this triple. `undefined` where this library decoded no value
|
|
3659
|
+
* from that element - it was absent or empty, or it held bytes that do
|
|
3660
|
+
* not decode as a decimal (which also emits `X12_UNPARSEABLE_DECIMAL` at
|
|
3661
|
+
* its `elementIndex`). Through `0.0.12` both cases read
|
|
3662
|
+
* `X12Decimal.ZERO`, indistinguishable from an amount of zero the sender
|
|
3663
|
+
* did state, and the balance invariants summed that fabricated zero.
|
|
3664
|
+
*/
|
|
3665
|
+
readonly amount: X12Decimal | undefined;
|
|
3478
3666
|
readonly quantity: X12Decimal | undefined;
|
|
3479
3667
|
}
|
|
3480
3668
|
/**
|
|
@@ -3593,16 +3781,32 @@ interface X12RemitRemark {
|
|
|
3593
3781
|
* declare const s: X12RemitServiceLine;
|
|
3594
3782
|
* s.productServiceIdQualifier; // "HC"
|
|
3595
3783
|
* s.productServiceId; // "99213"
|
|
3596
|
-
* s.chargeAmount
|
|
3597
|
-
* s.paymentAmount
|
|
3784
|
+
* s.chargeAmount?.toString(); // "150.00", or undefined if none decoded
|
|
3785
|
+
* s.paymentAmount?.toString(); // "135.00", or undefined if none decoded
|
|
3598
3786
|
* ```
|
|
3599
3787
|
*/
|
|
3600
3788
|
interface X12RemitServiceLine {
|
|
3601
3789
|
readonly productServiceIdQualifier: string;
|
|
3602
3790
|
readonly productServiceId: string;
|
|
3603
3791
|
readonly modifiers: readonly string[];
|
|
3604
|
-
|
|
3605
|
-
|
|
3792
|
+
/**
|
|
3793
|
+
* SVC-02, the line's submitted charge. `undefined` where this library decoded no value
|
|
3794
|
+
* from that element - it was absent or empty, or it held bytes that do
|
|
3795
|
+
* not decode as a decimal (which also emits `X12_UNPARSEABLE_DECIMAL` at
|
|
3796
|
+
* its `elementIndex`). Through `0.0.12` both cases read
|
|
3797
|
+
* `X12Decimal.ZERO`, indistinguishable from an amount of zero the sender
|
|
3798
|
+
* did state, and the balance invariants summed that fabricated zero.
|
|
3799
|
+
*/
|
|
3800
|
+
readonly chargeAmount: X12Decimal | undefined;
|
|
3801
|
+
/**
|
|
3802
|
+
* SVC-03, the amount paid on the line. `undefined` where this library decoded no value
|
|
3803
|
+
* from that element - it was absent or empty, or it held bytes that do
|
|
3804
|
+
* not decode as a decimal (which also emits `X12_UNPARSEABLE_DECIMAL` at
|
|
3805
|
+
* its `elementIndex`). Through `0.0.12` both cases read
|
|
3806
|
+
* `X12Decimal.ZERO`, indistinguishable from an amount of zero the sender
|
|
3807
|
+
* did state, and the balance invariants summed that fabricated zero.
|
|
3808
|
+
*/
|
|
3809
|
+
readonly paymentAmount: X12Decimal | undefined;
|
|
3606
3810
|
/** SVC-04 - NUBC revenue code. Absent on a professional line. */
|
|
3607
3811
|
readonly revenueCode: string | undefined;
|
|
3608
3812
|
/** SVC-05 - Units of Service Paid Count: what the payer adjudicated. */
|
|
@@ -3647,7 +3851,7 @@ interface X12RemitServiceLine {
|
|
|
3647
3851
|
* p.fiscalPeriodDate; // "20261231"
|
|
3648
3852
|
* p.reasonCode; // "WO" (withholding)
|
|
3649
3853
|
* p.subCode; // "123456" (related-claim reference)
|
|
3650
|
-
* p.amount
|
|
3854
|
+
* p.amount?.toString();// "50.00", or undefined if none decoded
|
|
3651
3855
|
* ```
|
|
3652
3856
|
*/
|
|
3653
3857
|
interface X12RemitProviderAdjustment {
|
|
@@ -3655,7 +3859,15 @@ interface X12RemitProviderAdjustment {
|
|
|
3655
3859
|
readonly fiscalPeriodDate: string;
|
|
3656
3860
|
readonly reasonCode: string;
|
|
3657
3861
|
readonly subCode: string | undefined;
|
|
3658
|
-
|
|
3862
|
+
/**
|
|
3863
|
+
* The PLB adjustment amount, with its raw EDI sign. `undefined` where this library decoded no value
|
|
3864
|
+
* from that element - it was absent or empty, or it held bytes that do
|
|
3865
|
+
* not decode as a decimal (which also emits `X12_UNPARSEABLE_DECIMAL` at
|
|
3866
|
+
* its `elementIndex`). Through `0.0.12` both cases read
|
|
3867
|
+
* `X12Decimal.ZERO`, indistinguishable from an amount of zero the sender
|
|
3868
|
+
* did state, and the balance invariants summed that fabricated zero.
|
|
3869
|
+
*/
|
|
3870
|
+
readonly amount: X12Decimal | undefined;
|
|
3659
3871
|
}
|
|
3660
3872
|
|
|
3661
3873
|
/**
|
|
@@ -3686,9 +3898,9 @@ interface X12RemitProviderAdjustment {
|
|
|
3686
3898
|
* for (const tx of group.transactions) {
|
|
3687
3899
|
* if (tx.st.elements[1] !== "835") continue;
|
|
3688
3900
|
* const remit = get835(ix.delimiters, tx);
|
|
3689
|
-
* remit?.payment.totalActualPayment
|
|
3901
|
+
* remit?.payment.totalActualPayment?.toString();
|
|
3690
3902
|
* for (const claim of remit?.claims ?? []) {
|
|
3691
|
-
* claim.totalPaymentAmount
|
|
3903
|
+
* claim.totalPaymentAmount?.toString();
|
|
3692
3904
|
* }
|
|
3693
3905
|
* }
|
|
3694
3906
|
* }
|
|
@@ -4541,6 +4753,20 @@ declare const REMIT_835_LOOP_1000B: LoopSpec;
|
|
|
4541
4753
|
* > slice with a forward-pointer to this module so the contract stays
|
|
4542
4754
|
* > consistent.
|
|
4543
4755
|
*
|
|
4756
|
+
* **A term that did not decode makes the equation UNEVALUABLE, and that is a
|
|
4757
|
+
* third outcome, not a failure.** Every amount these three checks read is
|
|
4758
|
+
* `X12Decimal | undefined` on the model, and `undefined` means this library
|
|
4759
|
+
* decoded no value from that element. Where any term of an invariant is
|
|
4760
|
+
* `undefined` the check emits
|
|
4761
|
+
* {@link "../../parser/warnings.js".WARNING_CODES.X12_835_BALANCE_NOT_EVALUABLE}
|
|
4762
|
+
* and never `X12_835_REMIT_BALANCE_MISMATCH`: the mismatch code asserts a
|
|
4763
|
+
* computed inequality between amounts the sender supplied, and there is no
|
|
4764
|
+
* such computation to report. Substituting `0` for the absent term is what
|
|
4765
|
+
* this library did through `0.0.12`, and it made "the payer paid nothing"
|
|
4766
|
+
* and "the payer said nothing" the same reading. An EMPTY list of
|
|
4767
|
+
* adjustments is NOT that case: it sums to `X12Decimal.ZERO`, because a
|
|
4768
|
+
* claim carrying no CAS really did state no adjustments.
|
|
4769
|
+
*
|
|
4544
4770
|
* **PHI discipline: the message names the equation and carries no value at
|
|
4545
4771
|
* all**, not even an amount. An EDI amount is a consumer-controlled element
|
|
4546
4772
|
* like any other: `CLP-03` is whatever the payer sent, so the spec'd /
|
|
@@ -4634,7 +4860,7 @@ declare function checkServiceLineBalance(claim: X12RemitClaim, position: X12Posi
|
|
|
4634
4860
|
* );
|
|
4635
4861
|
* ```
|
|
4636
4862
|
*/
|
|
4637
|
-
declare function checkRemitTotalBalance(bpr02: X12Decimal, claims: readonly X12RemitClaim[], providerAdjustments: readonly X12RemitProviderAdjustment[], position: X12Position): X12ParseWarning | undefined;
|
|
4863
|
+
declare function checkRemitTotalBalance(bpr02: X12Decimal | undefined, claims: readonly X12RemitClaim[], providerAdjustments: readonly X12RemitProviderAdjustment[], position: X12Position): X12ParseWarning | undefined;
|
|
4638
4864
|
|
|
4639
4865
|
/**
|
|
4640
4866
|
* Typed model for an X12 005010 837 Healthcare Claim - the three sibling
|
|
@@ -5019,7 +5245,7 @@ interface X12OtherSubscriber {
|
|
|
5019
5245
|
* declare const c: X12Claim;
|
|
5020
5246
|
* c.variant; // "P" / "I" / "D" / "unknown"
|
|
5021
5247
|
* c.claimId; // CLM-01 (patient account number)
|
|
5022
|
-
* c.totalCharge
|
|
5248
|
+
* c.totalCharge?.toString(); // CLM-02 as X12Decimal, or undefined if none decoded
|
|
5023
5249
|
* c.diagnoses[0]?.codeSystem; // "ICD-10-CM"
|
|
5024
5250
|
* c.serviceLines.length; // count of LX/SVx loops
|
|
5025
5251
|
* ```
|
|
@@ -5034,7 +5260,15 @@ interface X12Claim {
|
|
|
5034
5260
|
readonly payer: X12ClaimEntity | undefined;
|
|
5035
5261
|
readonly patient: X12ClaimMember | undefined;
|
|
5036
5262
|
readonly claimId: string;
|
|
5037
|
-
|
|
5263
|
+
/**
|
|
5264
|
+
* CLM-02, the total claim charge. `undefined` where this library decoded
|
|
5265
|
+
* no value from that element - it was absent or empty, or it held bytes
|
|
5266
|
+
* that do not decode as a decimal (which also emits
|
|
5267
|
+
* `X12_UNPARSEABLE_DECIMAL` at its `elementIndex`). Through `0.0.12` both
|
|
5268
|
+
* cases read `X12Decimal.ZERO`, indistinguishable from a claim whose
|
|
5269
|
+
* charge really is zero.
|
|
5270
|
+
*/
|
|
5271
|
+
readonly totalCharge: X12Decimal | undefined;
|
|
5038
5272
|
readonly placeOfServiceCode: string | undefined;
|
|
5039
5273
|
readonly facilityCodeQualifier: string | undefined;
|
|
5040
5274
|
readonly claimFrequencyCode: string | undefined;
|
|
@@ -5076,8 +5310,25 @@ type X12_837ServiceLine = X12_837ServiceLineProfessional | X12_837ServiceLineIns
|
|
|
5076
5310
|
/** Fields shared across every service-line variant. @internal */
|
|
5077
5311
|
interface X12_837ServiceLineBase {
|
|
5078
5312
|
readonly lineNumber: string;
|
|
5079
|
-
|
|
5080
|
-
|
|
5313
|
+
/**
|
|
5314
|
+
* The service line's charge - SV1-02 (professional), SV2-03
|
|
5315
|
+
* (institutional) or SV3-02 (dental). `undefined` where this library
|
|
5316
|
+
* decoded no value from that element: it was absent or empty, it held
|
|
5317
|
+
* bytes that do not decode as a decimal (which also emits
|
|
5318
|
+
* `X12_UNPARSEABLE_DECIMAL`), or no SVx for the resolved variant was
|
|
5319
|
+
* decoded onto the line at all (which emits
|
|
5320
|
+
* `X12_837_SERVICE_LINE_NOT_DECODED` at the LX). Through `0.0.12` all
|
|
5321
|
+
* three read `X12Decimal.ZERO`, and a consumer could not tell any of them
|
|
5322
|
+
* from a line the sender charged nothing for.
|
|
5323
|
+
*/
|
|
5324
|
+
readonly charge: X12Decimal | undefined;
|
|
5325
|
+
/**
|
|
5326
|
+
* The service line's unit count - SV1-04 (professional), SV2-05
|
|
5327
|
+
* (institutional) or SV3-06 (dental). `undefined` on the same three
|
|
5328
|
+
* conditions as {@link X12_837ServiceLineBase.charge}, and for the same
|
|
5329
|
+
* reason: a fabricated count is a count the sender never sent.
|
|
5330
|
+
*/
|
|
5331
|
+
readonly units: X12Decimal | undefined;
|
|
5081
5332
|
readonly unitOfMeasure: string | undefined;
|
|
5082
5333
|
readonly placeOfServiceCode: string | undefined;
|
|
5083
5334
|
readonly dates: readonly X12ClaimDate[];
|
|
@@ -5231,7 +5482,7 @@ interface X12LineDrug {
|
|
|
5231
5482
|
* import type { X12LineAdjudication } from "@cosyte/x12";
|
|
5232
5483
|
* declare const a: X12LineAdjudication;
|
|
5233
5484
|
* a.otherPayerId; // "84320" (the other payer's id)
|
|
5234
|
-
* a.amountPaid
|
|
5485
|
+
* a.amountPaid?.toString(); // "50.00", or undefined if none decoded
|
|
5235
5486
|
* a.procedureCode; // "99213"
|
|
5236
5487
|
* a.adjustments[0]?.groupCode;// "CO"
|
|
5237
5488
|
* a.dateAdjudicated; // "20260520" CCYYMMDD verbatim
|
|
@@ -5239,7 +5490,14 @@ interface X12LineDrug {
|
|
|
5239
5490
|
*/
|
|
5240
5491
|
interface X12LineAdjudication {
|
|
5241
5492
|
readonly otherPayerId: string;
|
|
5242
|
-
|
|
5493
|
+
/**
|
|
5494
|
+
* SVD-02, the amount the other payer paid on this line. `undefined` where
|
|
5495
|
+
* this library decoded no value from that element - absent, empty, or
|
|
5496
|
+
* bytes that do not decode (which also emits `X12_UNPARSEABLE_DECIMAL`).
|
|
5497
|
+
* Through `0.0.12` both cases read `X12Decimal.ZERO`, indistinguishable
|
|
5498
|
+
* from a payer that adjudicated the line to nothing.
|
|
5499
|
+
*/
|
|
5500
|
+
readonly amountPaid: X12Decimal | undefined;
|
|
5243
5501
|
readonly procedureQualifier: string | undefined;
|
|
5244
5502
|
readonly procedureCode: string | undefined;
|
|
5245
5503
|
readonly paidUnits: X12Decimal | undefined;
|
|
@@ -5340,7 +5598,7 @@ declare const NM1_QUALIFIERS: Readonly<{
|
|
|
5340
5598
|
* const sub = get837Claims(ix.delimiters, tx);
|
|
5341
5599
|
* sub?.variant; // "P" / "I" / "D" / "unknown"
|
|
5342
5600
|
* for (const claim of sub?.claims ?? []) {
|
|
5343
|
-
* claim.totalCharge
|
|
5601
|
+
* claim.totalCharge?.toString();
|
|
5344
5602
|
* claim.diagnoses[0]?.codeSystem; // "ICD-10-CM"
|
|
5345
5603
|
* }
|
|
5346
5604
|
* }
|
|
@@ -5729,10 +5987,19 @@ interface Build837ToothSpec {
|
|
|
5729
5987
|
interface Build837ServiceLineBaseSpec {
|
|
5730
5988
|
/** LX-01 - line number. Default: the 1-based index within the claim. */
|
|
5731
5989
|
readonly lineNumber?: string;
|
|
5732
|
-
/** SVx charge amount. */
|
|
5990
|
+
/** SVx charge amount - SV1-02 (P), SV2-03 (I) or SV3-02 (D). */
|
|
5733
5991
|
readonly charge: X12Decimal;
|
|
5734
|
-
/**
|
|
5735
|
-
|
|
5992
|
+
/**
|
|
5993
|
+
* SVx units of service - SV1-04 (P), SV2-05 (I) or SV3-06 (D).
|
|
5994
|
+
*
|
|
5995
|
+
* **Required as of `0.0.13`.** Through `0.0.12` this was optional and an
|
|
5996
|
+
* omitted value was emitted as the literal `"0"`, so the builder stated a
|
|
5997
|
+
* service unit count the caller never supplied. It now refuses with
|
|
5998
|
+
* `X12_837_BUILD_INVALID_SPEC` instead, the same stance `build277` takes
|
|
5999
|
+
* for SVC-07: this builder will not invent a count, and will not leave the
|
|
6000
|
+
* element empty for the receiver to guess at either.
|
|
6001
|
+
*/
|
|
6002
|
+
readonly units: X12Decimal;
|
|
5736
6003
|
/** SVx unit/basis-of-measurement code (`UN`, `MJ`, …). */
|
|
5737
6004
|
readonly unitOfMeasure?: string;
|
|
5738
6005
|
/** DTP service-line dates. */
|
|
@@ -8718,14 +8985,22 @@ interface X12PremiumPayments {
|
|
|
8718
8985
|
* ```ts
|
|
8719
8986
|
* import type { X12PremiumPaymentHeader } from "@cosyte/x12";
|
|
8720
8987
|
* declare const p: X12PremiumPaymentHeader;
|
|
8721
|
-
* p.totalPremiumAmount
|
|
8988
|
+
* p.totalPremiumAmount?.toString(); // "12500.00", or undefined if none decoded
|
|
8722
8989
|
* p.method; // "ACH"
|
|
8723
8990
|
* p.paymentDate; // "20260601" (CCYYMMDD, verbatim)
|
|
8724
8991
|
* ```
|
|
8725
8992
|
*/
|
|
8726
8993
|
interface X12PremiumPaymentHeader {
|
|
8727
8994
|
readonly transactionHandlingCode: string;
|
|
8728
|
-
|
|
8995
|
+
/**
|
|
8996
|
+
* BPR-02, the aggregate premium moved. `undefined` where this library decoded no value
|
|
8997
|
+
* from that element - it was absent or empty, or it held bytes that do
|
|
8998
|
+
* not decode as a decimal (which also emits `X12_UNPARSEABLE_DECIMAL` at
|
|
8999
|
+
* its `elementIndex`). Through `0.0.12` both cases read
|
|
9000
|
+
* `X12Decimal.ZERO`, indistinguishable from an amount of zero the sender
|
|
9001
|
+
* did state.
|
|
9002
|
+
*/
|
|
9003
|
+
readonly totalPremiumAmount: X12Decimal | undefined;
|
|
8729
9004
|
/**
|
|
8730
9005
|
* BPR-03 credit/debit flag. Spec-defined `"C"` (credit) or `"D"` (debit);
|
|
8731
9006
|
* typed `string` to preserve any verbatim non-spec value from a quirky
|
|
@@ -8915,14 +9190,22 @@ interface X12PremiumPerson {
|
|
|
8915
9190
|
* declare const o: X12PremiumOpenItem;
|
|
8916
9191
|
* o.qualifier; // "AZ"
|
|
8917
9192
|
* o.referenceId; // "POL-0001"
|
|
8918
|
-
* o.amountPaid
|
|
9193
|
+
* o.amountPaid?.toString(); // "250.00", or undefined if none decoded
|
|
8919
9194
|
* ```
|
|
8920
9195
|
*/
|
|
8921
9196
|
interface X12PremiumOpenItem {
|
|
8922
9197
|
readonly qualifier: string;
|
|
8923
9198
|
readonly referenceId: string;
|
|
8924
9199
|
readonly paymentActionCode: string | undefined;
|
|
8925
|
-
|
|
9200
|
+
/**
|
|
9201
|
+
* RMR-04, the amount paid against this open item. `undefined` where this library decoded no value
|
|
9202
|
+
* from that element - it was absent or empty, or it held bytes that do
|
|
9203
|
+
* not decode as a decimal (which also emits `X12_UNPARSEABLE_DECIMAL` at
|
|
9204
|
+
* its `elementIndex`). Through `0.0.12` both cases read
|
|
9205
|
+
* `X12Decimal.ZERO`, indistinguishable from an amount of zero the sender
|
|
9206
|
+
* did state.
|
|
9207
|
+
*/
|
|
9208
|
+
readonly amountPaid: X12Decimal | undefined;
|
|
8926
9209
|
readonly amountDue: X12Decimal | undefined;
|
|
8927
9210
|
}
|
|
8928
9211
|
/**
|
|
@@ -8974,9 +9257,9 @@ interface X12PremiumAdjustment {
|
|
|
8974
9257
|
* const tx = ix.groups[0]?.transactions.find((t) => t.st.elements[1] === "820");
|
|
8975
9258
|
* if (tx !== undefined) {
|
|
8976
9259
|
* const prem = get820Payments(ix.delimiters, tx);
|
|
8977
|
-
* prem?.payment.totalPremiumAmount
|
|
9260
|
+
* prem?.payment.totalPremiumAmount?.toString();
|
|
8978
9261
|
* for (const r of prem?.remittances ?? []) {
|
|
8979
|
-
* r.openItems[0]?.amountPaid
|
|
9262
|
+
* r.openItems[0]?.amountPaid?.toString();
|
|
8980
9263
|
* }
|
|
8981
9264
|
* }
|
|
8982
9265
|
* ```
|
|
@@ -13346,4 +13629,4 @@ declare const profiles: {
|
|
|
13346
13629
|
*/
|
|
13347
13630
|
declare const VERSION: string;
|
|
13348
13631
|
|
|
13349
|
-
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, 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, pre005010, profiles, readElementDecimal, remitBalanceMismatch, renderCallerValue, resolveHiQualifier, segmentCountMismatch, serializeX12, serviceLineDropped, serviceLineNotDecoded, serviceSegmentWithoutLx, setDefaultProfile, trailingGarbage, transactionCountMismatch, unescapeRelease, unexpectedSegment, unknown837Variant, unknownCarc, unknownClaimStatus, unknownClaimStatusCategory, unknownHiQualifier, unknownMaintenanceType, unknownRarc, unparseableDecimal };
|
|
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 };
|