@cosyte/x12 0.0.1 → 0.0.3
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 +295 -145
- package/README.md +24 -14
- package/TRADEMARKS.md +31 -0
- package/dist/index.cjs +132 -132
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1291 -1291
- package/dist/index.d.ts +1291 -1291
- package/dist/index.mjs +132 -132
- package/dist/index.mjs.map +1 -1
- package/package.json +6 -4
package/dist/index.mjs
CHANGED
|
@@ -51,7 +51,7 @@ function detectDelimiters(raw) {
|
|
|
51
51
|
if (raw.length < 3 || raw.slice(0, 3) !== "ISA") {
|
|
52
52
|
throw new X12ParseError(
|
|
53
53
|
FATAL_CODES.X12_NO_ISA_HEADER,
|
|
54
|
-
"Input does not begin with an ISA segment
|
|
54
|
+
"Input does not begin with an ISA segment - X12 interchanges must start with ISA.",
|
|
55
55
|
fatalPosition,
|
|
56
56
|
snip
|
|
57
57
|
);
|
|
@@ -59,7 +59,7 @@ function detectDelimiters(raw) {
|
|
|
59
59
|
if (raw.length < ISA_MIN_LENGTH) {
|
|
60
60
|
throw new X12ParseError(
|
|
61
61
|
FATAL_CODES.X12_ISA_TOO_SHORT,
|
|
62
|
-
`ISA segment is truncated
|
|
62
|
+
`ISA segment is truncated - need ${String(ISA_MIN_LENGTH)} bytes including the segment terminator, got ${String(raw.length)}.`,
|
|
63
63
|
fatalPosition,
|
|
64
64
|
snip
|
|
65
65
|
);
|
|
@@ -103,7 +103,7 @@ function detectDelimiters(raw) {
|
|
|
103
103
|
if (raw.charAt(pos) !== element) {
|
|
104
104
|
throw new X12ParseError(
|
|
105
105
|
FATAL_CODES.X12_INVALID_DELIMITERS,
|
|
106
|
-
`Element separator "${element}" was detected at ISA byte 4 but is missing at fixed ISA byte ${String(pos + 1)}
|
|
106
|
+
`Element separator "${element}" was detected at ISA byte 4 but is missing at fixed ISA byte ${String(pos + 1)} - ISA element layout is not 005010-conformant.`,
|
|
107
107
|
fatalPosition,
|
|
108
108
|
snip
|
|
109
109
|
);
|
|
@@ -175,35 +175,35 @@ function segmentCountMismatch(position, declared, actual) {
|
|
|
175
175
|
function trailingGarbage(position, byteCount) {
|
|
176
176
|
return {
|
|
177
177
|
code: WARNING_CODES.X12_TRAILING_GARBAGE,
|
|
178
|
-
message: `${String(byteCount)} byte(s) followed the IEA terminator
|
|
178
|
+
message: `${String(byteCount)} byte(s) followed the IEA terminator - preserved verbatim on \`trailingBytes\`.`,
|
|
179
179
|
position
|
|
180
180
|
};
|
|
181
181
|
}
|
|
182
182
|
function missingIea(position) {
|
|
183
183
|
return {
|
|
184
184
|
code: WARNING_CODES.X12_MISSING_IEA,
|
|
185
|
-
message: "Interchange has no IEA trailer
|
|
185
|
+
message: "Interchange has no IEA trailer - input is truncated.",
|
|
186
186
|
position
|
|
187
187
|
};
|
|
188
188
|
}
|
|
189
189
|
function missingGe(position) {
|
|
190
190
|
return {
|
|
191
191
|
code: WARNING_CODES.X12_MISSING_GE,
|
|
192
|
-
message: "Functional group has no GE trailer
|
|
192
|
+
message: "Functional group has no GE trailer - group is truncated.",
|
|
193
193
|
position
|
|
194
194
|
};
|
|
195
195
|
}
|
|
196
196
|
function missingSe(position) {
|
|
197
197
|
return {
|
|
198
198
|
code: WARNING_CODES.X12_MISSING_SE,
|
|
199
|
-
message: "Transaction set has no SE trailer
|
|
199
|
+
message: "Transaction set has no SE trailer - transaction is truncated.",
|
|
200
200
|
position
|
|
201
201
|
};
|
|
202
202
|
}
|
|
203
203
|
function danglingReleaseChar(position) {
|
|
204
204
|
return {
|
|
205
205
|
code: WARNING_CODES.X12_DANGLING_RELEASE_CHAR,
|
|
206
|
-
message: "Release character (`?`) appears at end of element/segment with no following byte to escape
|
|
206
|
+
message: "Release character (`?`) appears at end of element/segment with no following byte to escape - preserved verbatim.",
|
|
207
207
|
position
|
|
208
208
|
};
|
|
209
209
|
}
|
|
@@ -212,7 +212,7 @@ function unexpectedSegment(position, segmentId, context) {
|
|
|
212
212
|
const safeId = SEGMENT_ID_SHAPE_RE.test(segmentId) ? segmentId : "(non-spec)";
|
|
213
213
|
return {
|
|
214
214
|
code: WARNING_CODES.X12_UNEXPECTED_SEGMENT,
|
|
215
|
-
message: `Unexpected "${safeId}" segment
|
|
215
|
+
message: `Unexpected "${safeId}" segment - ${context}; segment is preserved on the prior open container if any.`,
|
|
216
216
|
position
|
|
217
217
|
};
|
|
218
218
|
}
|
|
@@ -228,7 +228,7 @@ function unknownCarc(position, code) {
|
|
|
228
228
|
const safe = CODE_LIST_VALUE_SHAPE_RE.test(code) ? code : "(non-spec)";
|
|
229
229
|
return {
|
|
230
230
|
code: WARNING_CODES.X12_UNKNOWN_CARC,
|
|
231
|
-
message: `Unknown CARC "${safe}"
|
|
231
|
+
message: `Unknown CARC "${safe}" - code is outside the bundled snapshot; verbatim value preserved, description unavailable.`,
|
|
232
232
|
position
|
|
233
233
|
};
|
|
234
234
|
}
|
|
@@ -236,7 +236,7 @@ function unknownRarc(position, code) {
|
|
|
236
236
|
const safe = CODE_LIST_VALUE_SHAPE_RE.test(code) ? code : "(non-spec)";
|
|
237
237
|
return {
|
|
238
238
|
code: WARNING_CODES.X12_UNKNOWN_RARC,
|
|
239
|
-
message: `Unknown RARC "${safe}"
|
|
239
|
+
message: `Unknown RARC "${safe}" - code is outside the bundled snapshot; verbatim value preserved, description unavailable.`,
|
|
240
240
|
position
|
|
241
241
|
};
|
|
242
242
|
}
|
|
@@ -248,7 +248,7 @@ function hlParentMismatch(position, hlId, declaredParentId) {
|
|
|
248
248
|
const safeParent = HL_ID_SHAPE_RE.test(declaredParentId) ? declaredParentId : "(non-spec)";
|
|
249
249
|
return {
|
|
250
250
|
code: WARNING_CODES.X12_HL_PARENT_MISMATCH,
|
|
251
|
-
message: `HL "${safeHl}" declares parent "${safeParent}" but no earlier HL with that id was emitted
|
|
251
|
+
message: `HL "${safeHl}" declares parent "${safeParent}" but no earlier HL with that id was emitted - parser preserves the declared pointer verbatim and NEVER silently re-numbers.`,
|
|
252
252
|
position
|
|
253
253
|
};
|
|
254
254
|
}
|
|
@@ -268,7 +268,7 @@ function unknownHiQualifier(position, qualifier) {
|
|
|
268
268
|
const safe = HI_QUALIFIER_SHAPE_RE.test(qualifier) ? qualifier : "(non-spec)";
|
|
269
269
|
return {
|
|
270
270
|
code: WARNING_CODES.X12_UNKNOWN_HI_QUALIFIER,
|
|
271
|
-
message: `Unknown HI qualifier "${safe}"
|
|
271
|
+
message: `Unknown HI qualifier "${safe}" - qualifier is outside the bundled HI_QUALIFIERS snapshot; verbatim qualifier + code preserved, codeSystem resolves to "unknown".`,
|
|
272
272
|
position
|
|
273
273
|
};
|
|
274
274
|
}
|
|
@@ -286,7 +286,7 @@ function unknown837Variant(position, implementationConventionReference) {
|
|
|
286
286
|
const safe = implementationConventionReference !== void 0 && ICR_SHAPE_RE.test(implementationConventionReference) ? implementationConventionReference : "(non-spec)";
|
|
287
287
|
return {
|
|
288
288
|
code: WARNING_CODES.X12_837_UNKNOWN_VARIANT,
|
|
289
|
-
message: `837 variant could not be resolved
|
|
289
|
+
message: `837 variant could not be resolved - ST-03 implementation convention reference "${safe}" is not one of "005010X222A2" / "X223A3" / "X224A2"; no SVx service-line segment was seen to fall back on.`,
|
|
290
290
|
position
|
|
291
291
|
};
|
|
292
292
|
}
|
|
@@ -295,7 +295,7 @@ function unknownClaimStatusCategory(position, code) {
|
|
|
295
295
|
const safe = CLAIM_STATUS_CATEGORY_SHAPE_RE.test(code) ? code : "(non-spec)";
|
|
296
296
|
return {
|
|
297
297
|
code: WARNING_CODES.X12_UNKNOWN_CLAIM_STATUS_CATEGORY,
|
|
298
|
-
message: `Unknown claim status category (CSCC) "${safe}"
|
|
298
|
+
message: `Unknown claim status category (CSCC) "${safe}" - code is outside the bundled snapshot; verbatim value preserved, description unavailable.`,
|
|
299
299
|
position
|
|
300
300
|
};
|
|
301
301
|
}
|
|
@@ -303,7 +303,7 @@ function unknownClaimStatus(position, code) {
|
|
|
303
303
|
const safe = CODE_LIST_VALUE_SHAPE_RE.test(code) ? code : "(non-spec)";
|
|
304
304
|
return {
|
|
305
305
|
code: WARNING_CODES.X12_UNKNOWN_CLAIM_STATUS,
|
|
306
|
-
message: `Unknown claim status code (CSC) "${safe}"
|
|
306
|
+
message: `Unknown claim status code (CSC) "${safe}" - code is outside the bundled snapshot; verbatim value preserved, description unavailable.`,
|
|
307
307
|
position
|
|
308
308
|
};
|
|
309
309
|
}
|
|
@@ -312,7 +312,7 @@ function unknownMaintenanceType(position, code) {
|
|
|
312
312
|
const safe = MAINTENANCE_TYPE_SHAPE_RE.test(code) ? code : "(non-spec)";
|
|
313
313
|
return {
|
|
314
314
|
code: WARNING_CODES.X12_834_UNKNOWN_MAINTENANCE_TYPE,
|
|
315
|
-
message: `Unknown 834 maintenance type "${safe}"
|
|
315
|
+
message: `Unknown 834 maintenance type "${safe}" - INS-03/HD-01 code is outside the bundled snapshot; verbatim value preserved, action NOT inferred.`,
|
|
316
316
|
position
|
|
317
317
|
};
|
|
318
318
|
}
|
|
@@ -391,7 +391,7 @@ var X12_DECIMAL_RE = /^([+-])?(\d*)(?:\.(\d*))?$/u;
|
|
|
391
391
|
var STATE = /* @__PURE__ */ new WeakMap();
|
|
392
392
|
var X12Decimal = class _X12Decimal {
|
|
393
393
|
/**
|
|
394
|
-
* Construct a new `X12Decimal` directly from state. Internal
|
|
394
|
+
* Construct a new `X12Decimal` directly from state. Internal - call
|
|
395
395
|
* `fromString` / `fromBigInt` / `ZERO` instead from outside the module.
|
|
396
396
|
* @internal
|
|
397
397
|
*/
|
|
@@ -403,7 +403,7 @@ var X12Decimal = class _X12Decimal {
|
|
|
403
403
|
* Decode an X12 R-type decimal element into an `X12Decimal`, or
|
|
404
404
|
* `undefined` when the input is empty or does not match the shape
|
|
405
405
|
* `[+-]?digits(.digits?)?`. **Empty string returns `undefined`, never
|
|
406
|
-
* zero**
|
|
406
|
+
* zero** - "not supplied" and "zero" are spec-distinct.
|
|
407
407
|
*
|
|
408
408
|
* @example
|
|
409
409
|
* ```ts
|
|
@@ -454,7 +454,7 @@ var X12Decimal = class _X12Decimal {
|
|
|
454
454
|
return new _X12Decimal({ raw, scaled: magnitude, scale, signum });
|
|
455
455
|
}
|
|
456
456
|
/**
|
|
457
|
-
* Canonical zero with `scale: 0`
|
|
457
|
+
* Canonical zero with `scale: 0` - `"0"`. Used as the additive identity
|
|
458
458
|
* for balance reductions. Use `X12Decimal.fromBigInt(0n, n)` for a zero
|
|
459
459
|
* at a specific scale.
|
|
460
460
|
*
|
|
@@ -492,7 +492,7 @@ var X12Decimal = class _X12Decimal {
|
|
|
492
492
|
* Helpers return `X12Decimal`, not `number`; use this only for display
|
|
493
493
|
* or when the loss is acceptable. Magnitudes large enough to lose
|
|
494
494
|
* precision (> `Number.MAX_SAFE_INTEGER` after scaling) still convert
|
|
495
|
-
* without throwing
|
|
495
|
+
* without throwing - silently lossy.
|
|
496
496
|
*
|
|
497
497
|
* @example
|
|
498
498
|
* ```ts
|
|
@@ -572,7 +572,7 @@ var X12Decimal = class _X12Decimal {
|
|
|
572
572
|
* import { X12Decimal } from "@cosyte/x12";
|
|
573
573
|
* const a = X12Decimal.fromString("0.1")!;
|
|
574
574
|
* const b = X12Decimal.fromString("0.2")!;
|
|
575
|
-
* a.add(b).toString(); // "0.3"
|
|
575
|
+
* a.add(b).toString(); // "0.3" - exact, never 0.30000000000000004
|
|
576
576
|
* ```
|
|
577
577
|
*/
|
|
578
578
|
add(other) {
|
|
@@ -639,7 +639,7 @@ var X12Decimal = class _X12Decimal {
|
|
|
639
639
|
function state(d) {
|
|
640
640
|
const s = STATE.get(d);
|
|
641
641
|
if (s === void 0) {
|
|
642
|
-
throw new TypeError("X12Decimal instance has no internal state
|
|
642
|
+
throw new TypeError("X12Decimal instance has no internal state - was it tampered with?");
|
|
643
643
|
}
|
|
644
644
|
return s;
|
|
645
645
|
}
|
|
@@ -997,7 +997,7 @@ function decodeEnvelope(raw, delimiters) {
|
|
|
997
997
|
groupIndex: groups.length
|
|
998
998
|
},
|
|
999
999
|
"TA1",
|
|
1000
|
-
"TA1 segment is envelope-level
|
|
1000
|
+
"TA1 segment is envelope-level - appeared inside an open functional group"
|
|
1001
1001
|
)
|
|
1002
1002
|
);
|
|
1003
1003
|
break;
|
|
@@ -1334,7 +1334,7 @@ var CARC = Object.freeze({
|
|
|
1334
1334
|
meta: Object.freeze({
|
|
1335
1335
|
id: "CARC",
|
|
1336
1336
|
description: "Claim Adjustment Reason Codes",
|
|
1337
|
-
source: "WPC (Washington Publishing Company)
|
|
1337
|
+
source: "WPC (Washington Publishing Company) - x12.org/codes/claim-adjustment-reason-codes",
|
|
1338
1338
|
publishedDate: "2026-03-01",
|
|
1339
1339
|
snapshotDate: "2026-06-27",
|
|
1340
1340
|
note: "Pre-launch initial subset (~30 most commonly observed codes). Phase 10 ships a full-regen script."
|
|
@@ -1467,7 +1467,7 @@ var CLP_STATUS = Object.freeze({
|
|
|
1467
1467
|
source: "X12 005010X221A1 TR3 \xA7CLP Claim Payment Information, Element CLP-02 (Code Source 65)",
|
|
1468
1468
|
publishedDate: "2010-04-01",
|
|
1469
1469
|
snapshotDate: "2026-06-27",
|
|
1470
|
-
note: "Initial subset; X12-internal list (not WPC)
|
|
1470
|
+
note: "Initial subset; X12-internal list (not WPC) - codes are stable."
|
|
1471
1471
|
}),
|
|
1472
1472
|
codes: Object.freeze({
|
|
1473
1473
|
"1": "Processed as Primary",
|
|
@@ -1492,7 +1492,7 @@ var MAINTENANCE_TYPE_CODES = Object.freeze({
|
|
|
1492
1492
|
source: "WPC TR3 005010X220A1 \xA7INS Member Level Detail, Element INS-03 (Code Source 875)",
|
|
1493
1493
|
publishedDate: "2010-04-01",
|
|
1494
1494
|
snapshotDate: "2026-06-28",
|
|
1495
|
-
note: "HIPAA-relevant subset; X12-internal list
|
|
1495
|
+
note: "HIPAA-relevant subset; X12-internal list - codes are stable."
|
|
1496
1496
|
}),
|
|
1497
1497
|
codes: Object.freeze({
|
|
1498
1498
|
"001": "Change",
|
|
@@ -1516,7 +1516,7 @@ var SERVICE_TYPE_CODES = Object.freeze({
|
|
|
1516
1516
|
source: "ASC X12 005010X279A1 TR3 \xA7EB Eligibility or Benefit Information, Element EB-03 (Code Source 1365)",
|
|
1517
1517
|
publishedDate: "2008-08-01",
|
|
1518
1518
|
snapshotDate: "2026-06-27",
|
|
1519
|
-
note: "Initial common subset; X12-maintained list (~600 codes)
|
|
1519
|
+
note: "Initial common subset; X12-maintained list (~600 codes) - refreshed on the Phase 10 release cadence, never at runtime."
|
|
1520
1520
|
}),
|
|
1521
1521
|
codes: Object.freeze({
|
|
1522
1522
|
"1": "Medical Care",
|
|
@@ -1579,7 +1579,7 @@ var RARC = Object.freeze({
|
|
|
1579
1579
|
meta: Object.freeze({
|
|
1580
1580
|
id: "RARC",
|
|
1581
1581
|
description: "Remittance Advice Remark Codes",
|
|
1582
|
-
source: "WPC (Washington Publishing Company)
|
|
1582
|
+
source: "WPC (Washington Publishing Company) - x12.org/codes/remittance-advice-remark-codes",
|
|
1583
1583
|
publishedDate: "2026-03-01",
|
|
1584
1584
|
snapshotDate: "2026-06-27",
|
|
1585
1585
|
note: "Pre-launch initial subset (~15 most commonly observed codes). Phase 10 ships a full-regen script."
|
|
@@ -1681,7 +1681,7 @@ var HI_QUALIFIERS = {
|
|
|
1681
1681
|
DR: {
|
|
1682
1682
|
system: "DRG",
|
|
1683
1683
|
category: "drg",
|
|
1684
|
-
description: "Diagnosis Related Group (DRG)
|
|
1684
|
+
description: "Diagnosis Related Group (DRG) - payment-grouping code."
|
|
1685
1685
|
},
|
|
1686
1686
|
// ---------------- NUBC institutional code sets (837I) ----------------
|
|
1687
1687
|
BG: {
|
|
@@ -1692,17 +1692,17 @@ var HI_QUALIFIERS = {
|
|
|
1692
1692
|
BH: {
|
|
1693
1693
|
system: "NUBC-OCCURRENCE",
|
|
1694
1694
|
category: "occurrence",
|
|
1695
|
-
description: "Occurrence code (NUBC FL 31-34)
|
|
1695
|
+
description: "Occurrence code (NUBC FL 31-34) - date paired in HI-NN-4."
|
|
1696
1696
|
},
|
|
1697
1697
|
BI: {
|
|
1698
1698
|
system: "NUBC-OCCURRENCE-SPAN",
|
|
1699
1699
|
category: "occurrence-span",
|
|
1700
|
-
description: "Occurrence span code (NUBC FL 35-36)
|
|
1700
|
+
description: "Occurrence span code (NUBC FL 35-36) - date range in HI-NN-5/6."
|
|
1701
1701
|
},
|
|
1702
1702
|
BE: {
|
|
1703
1703
|
system: "NUBC-VALUE",
|
|
1704
1704
|
category: "value",
|
|
1705
|
-
description: "Value code (NUBC FL 39-41)
|
|
1705
|
+
description: "Value code (NUBC FL 39-41) - paired amount in HI-NN-5 as decimal."
|
|
1706
1706
|
},
|
|
1707
1707
|
PR: {
|
|
1708
1708
|
system: "NUBC-PATIENT-REASON",
|
|
@@ -2422,9 +2422,9 @@ function build835(spec) {
|
|
|
2422
2422
|
pad(envelope.receiverId, 15),
|
|
2423
2423
|
// ISA-08
|
|
2424
2424
|
pad(envelope.interchangeDate, 6),
|
|
2425
|
-
// ISA-09
|
|
2425
|
+
// ISA-09 - YYMMDD
|
|
2426
2426
|
pad(envelope.interchangeTime, 4),
|
|
2427
|
-
// ISA-10
|
|
2427
|
+
// ISA-10 - HHMM
|
|
2428
2428
|
repetitionSeparator,
|
|
2429
2429
|
// ISA-11
|
|
2430
2430
|
"00501",
|
|
@@ -2445,15 +2445,15 @@ function build835(spec) {
|
|
|
2445
2445
|
const gs = seg([
|
|
2446
2446
|
"GS",
|
|
2447
2447
|
X12_835_FUNCTIONAL_ID,
|
|
2448
|
-
// GS-01
|
|
2448
|
+
// GS-01 - "HP"
|
|
2449
2449
|
esc(applicationSenderCode),
|
|
2450
2450
|
// GS-02
|
|
2451
2451
|
esc(applicationReceiverCode),
|
|
2452
2452
|
// GS-03
|
|
2453
2453
|
groupDate,
|
|
2454
|
-
// GS-04
|
|
2454
|
+
// GS-04 - CCYYMMDD
|
|
2455
2455
|
groupTime,
|
|
2456
|
-
// GS-05
|
|
2456
|
+
// GS-05 - HHMM
|
|
2457
2457
|
esc(envelope.groupControlNumber),
|
|
2458
2458
|
// GS-06
|
|
2459
2459
|
X12_AGENCY_CODE,
|
|
@@ -2736,7 +2736,7 @@ function emitServiceLine(line, body, seg, esc, comp) {
|
|
|
2736
2736
|
esc(line.chargeAmount.toString()),
|
|
2737
2737
|
esc(line.paymentAmount.toString()),
|
|
2738
2738
|
"",
|
|
2739
|
-
// SVC-04
|
|
2739
|
+
// SVC-04 - revenue code is SVC-05 in X221A1; SVC-04 unused
|
|
2740
2740
|
esc(line.revenueCode ?? ""),
|
|
2741
2741
|
svc06,
|
|
2742
2742
|
line.paidUnitsOfService === void 0 ? "" : esc(line.paidUnitsOfService.toString())
|
|
@@ -2866,7 +2866,7 @@ function expandYY(yymmdd) {
|
|
|
2866
2866
|
// src/transactions/remit/loop-spec.ts
|
|
2867
2867
|
var REMIT_835_LOOP_2110 = defineLoopSpec({
|
|
2868
2868
|
id: "2110",
|
|
2869
|
-
description: "835 Loop 2110
|
|
2869
|
+
description: "835 Loop 2110 - Service Payment Information",
|
|
2870
2870
|
trigger: "SVC",
|
|
2871
2871
|
segments: [
|
|
2872
2872
|
{ id: "SVC", usage: "required", max: 1 },
|
|
@@ -2880,7 +2880,7 @@ var REMIT_835_LOOP_2110 = defineLoopSpec({
|
|
|
2880
2880
|
});
|
|
2881
2881
|
var REMIT_835_LOOP_2100 = defineLoopSpec({
|
|
2882
2882
|
id: "2100",
|
|
2883
|
-
description: "835 Loop 2100
|
|
2883
|
+
description: "835 Loop 2100 - Claim Payment Information",
|
|
2884
2884
|
trigger: "CLP",
|
|
2885
2885
|
segments: [
|
|
2886
2886
|
{ id: "CLP", usage: "required", max: 1 },
|
|
@@ -2899,7 +2899,7 @@ var REMIT_835_LOOP_2100 = defineLoopSpec({
|
|
|
2899
2899
|
});
|
|
2900
2900
|
var REMIT_835_LOOP_2000 = defineLoopSpec({
|
|
2901
2901
|
id: "2000",
|
|
2902
|
-
description: "835 Loop 2000
|
|
2902
|
+
description: "835 Loop 2000 - Header Number",
|
|
2903
2903
|
trigger: "LX",
|
|
2904
2904
|
segments: [
|
|
2905
2905
|
{ id: "LX", usage: "required", max: 1 },
|
|
@@ -2910,7 +2910,7 @@ var REMIT_835_LOOP_2000 = defineLoopSpec({
|
|
|
2910
2910
|
});
|
|
2911
2911
|
var REMIT_835_LOOP_1000A = defineLoopSpec({
|
|
2912
2912
|
id: "1000A",
|
|
2913
|
-
description: "835 Loop 1000A
|
|
2913
|
+
description: "835 Loop 1000A - Payer Identification",
|
|
2914
2914
|
trigger: "N1",
|
|
2915
2915
|
segments: [
|
|
2916
2916
|
{ id: "N1", usage: "required", max: 1 },
|
|
@@ -2922,7 +2922,7 @@ var REMIT_835_LOOP_1000A = defineLoopSpec({
|
|
|
2922
2922
|
});
|
|
2923
2923
|
var REMIT_835_LOOP_1000B = defineLoopSpec({
|
|
2924
2924
|
id: "1000B",
|
|
2925
|
-
description: "835 Loop 1000B
|
|
2925
|
+
description: "835 Loop 1000B - Payee Identification",
|
|
2926
2926
|
trigger: "N1",
|
|
2927
2927
|
segments: [
|
|
2928
2928
|
{ id: "N1", usage: "required", max: 1 },
|
|
@@ -3052,7 +3052,7 @@ function get837Claims(delimiters, tx, opts) {
|
|
|
3052
3052
|
payToPlan = next;
|
|
3053
3053
|
},
|
|
3054
3054
|
// Setters for `subscriber` / `patient` route through `withCurrent`,
|
|
3055
|
-
// which short-circuits when the current value is undefined
|
|
3055
|
+
// which short-circuits when the current value is undefined - so the
|
|
3056
3056
|
// cast inside the spread is sound. Setters for `otherSubscriber` /
|
|
3057
3057
|
// `otherPayer` are only reached after an SBR in Loop 2320 opened
|
|
3058
3058
|
// `currentOtherSubscriber`, and the `activeEntity.kind` discriminator
|
|
@@ -4585,7 +4585,7 @@ function expandYY2(yymmdd) {
|
|
|
4585
4585
|
// src/transactions/claim/loop-spec.ts
|
|
4586
4586
|
var CLAIM_837_LOOP_2010AA = defineLoopSpec({
|
|
4587
4587
|
id: "2010AA",
|
|
4588
|
-
description: "837 Loop 2010AA
|
|
4588
|
+
description: "837 Loop 2010AA - Billing Provider Name",
|
|
4589
4589
|
trigger: "NM1",
|
|
4590
4590
|
segments: [
|
|
4591
4591
|
{ id: "NM1", usage: "required", max: 1 },
|
|
@@ -4597,7 +4597,7 @@ var CLAIM_837_LOOP_2010AA = defineLoopSpec({
|
|
|
4597
4597
|
});
|
|
4598
4598
|
var CLAIM_837_LOOP_2010BA = defineLoopSpec({
|
|
4599
4599
|
id: "2010BA",
|
|
4600
|
-
description: "837 Loop 2010BA
|
|
4600
|
+
description: "837 Loop 2010BA - Subscriber Name",
|
|
4601
4601
|
trigger: "NM1",
|
|
4602
4602
|
segments: [
|
|
4603
4603
|
{ id: "NM1", usage: "required", max: 1 },
|
|
@@ -4610,7 +4610,7 @@ var CLAIM_837_LOOP_2010BA = defineLoopSpec({
|
|
|
4610
4610
|
});
|
|
4611
4611
|
var CLAIM_837_LOOP_2010BB = defineLoopSpec({
|
|
4612
4612
|
id: "2010BB",
|
|
4613
|
-
description: "837 Loop 2010BB
|
|
4613
|
+
description: "837 Loop 2010BB - Payer Name",
|
|
4614
4614
|
trigger: "NM1",
|
|
4615
4615
|
segments: [
|
|
4616
4616
|
{ id: "NM1", usage: "required", max: 1 },
|
|
@@ -4622,7 +4622,7 @@ var CLAIM_837_LOOP_2010BB = defineLoopSpec({
|
|
|
4622
4622
|
});
|
|
4623
4623
|
var CLAIM_837_LOOP_2010CA = defineLoopSpec({
|
|
4624
4624
|
id: "2010CA",
|
|
4625
|
-
description: "837 Loop 2010CA
|
|
4625
|
+
description: "837 Loop 2010CA - Patient Name",
|
|
4626
4626
|
trigger: "NM1",
|
|
4627
4627
|
segments: [
|
|
4628
4628
|
{ id: "NM1", usage: "required", max: 1 },
|
|
@@ -4634,7 +4634,7 @@ var CLAIM_837_LOOP_2010CA = defineLoopSpec({
|
|
|
4634
4634
|
});
|
|
4635
4635
|
var CLAIM_837P_LOOP_2410 = defineLoopSpec({
|
|
4636
4636
|
id: "2410",
|
|
4637
|
-
description: "837P Loop 2410
|
|
4637
|
+
description: "837P Loop 2410 - Drug Identification",
|
|
4638
4638
|
trigger: "LIN",
|
|
4639
4639
|
segments: [
|
|
4640
4640
|
{ id: "LIN", usage: "required", max: 1 },
|
|
@@ -4644,7 +4644,7 @@ var CLAIM_837P_LOOP_2410 = defineLoopSpec({
|
|
|
4644
4644
|
});
|
|
4645
4645
|
var CLAIM_837_LOOP_2430 = defineLoopSpec({
|
|
4646
4646
|
id: "2430",
|
|
4647
|
-
description: "837 Loop 2430
|
|
4647
|
+
description: "837 Loop 2430 - Line Adjudication Information",
|
|
4648
4648
|
trigger: "SVD",
|
|
4649
4649
|
segments: [
|
|
4650
4650
|
{ id: "SVD", usage: "required", max: 1 },
|
|
@@ -4655,7 +4655,7 @@ var CLAIM_837_LOOP_2430 = defineLoopSpec({
|
|
|
4655
4655
|
});
|
|
4656
4656
|
var CLAIM_837P_LOOP_2400 = defineLoopSpec({
|
|
4657
4657
|
id: "2400",
|
|
4658
|
-
description: "837P Loop 2400
|
|
4658
|
+
description: "837P Loop 2400 - Service Line (professional)",
|
|
4659
4659
|
trigger: "LX",
|
|
4660
4660
|
segments: [
|
|
4661
4661
|
{ id: "LX", usage: "required", max: 1 },
|
|
@@ -4670,7 +4670,7 @@ var CLAIM_837P_LOOP_2400 = defineLoopSpec({
|
|
|
4670
4670
|
});
|
|
4671
4671
|
var CLAIM_837I_LOOP_2400 = defineLoopSpec({
|
|
4672
4672
|
id: "2400",
|
|
4673
|
-
description: "837I Loop 2400
|
|
4673
|
+
description: "837I Loop 2400 - Service Line (institutional)",
|
|
4674
4674
|
trigger: "LX",
|
|
4675
4675
|
segments: [
|
|
4676
4676
|
{ id: "LX", usage: "required", max: 1 },
|
|
@@ -4684,7 +4684,7 @@ var CLAIM_837I_LOOP_2400 = defineLoopSpec({
|
|
|
4684
4684
|
});
|
|
4685
4685
|
var CLAIM_837D_LOOP_2400 = defineLoopSpec({
|
|
4686
4686
|
id: "2400",
|
|
4687
|
-
description: "837D Loop 2400
|
|
4687
|
+
description: "837D Loop 2400 - Service Line (dental)",
|
|
4688
4688
|
trigger: "LX",
|
|
4689
4689
|
segments: [
|
|
4690
4690
|
{ id: "LX", usage: "required", max: 1 },
|
|
@@ -4700,7 +4700,7 @@ var CLAIM_837D_LOOP_2400 = defineLoopSpec({
|
|
|
4700
4700
|
function makeLoop2300(loop2400, variantLabel) {
|
|
4701
4701
|
return defineLoopSpec({
|
|
4702
4702
|
id: "2300",
|
|
4703
|
-
description: `837${variantLabel} Loop 2300
|
|
4703
|
+
description: `837${variantLabel} Loop 2300 - Claim Information`,
|
|
4704
4704
|
trigger: "CLM",
|
|
4705
4705
|
segments: [
|
|
4706
4706
|
{ id: "CLM", usage: "required", max: 1 },
|
|
@@ -4722,7 +4722,7 @@ var CLAIM_837D_LOOP_2300 = makeLoop2300(CLAIM_837D_LOOP_2400, "D");
|
|
|
4722
4722
|
function makeLoop2000C(loop2300, variantLabel) {
|
|
4723
4723
|
return defineLoopSpec({
|
|
4724
4724
|
id: "2000C",
|
|
4725
|
-
description: `837${variantLabel} Loop 2000C
|
|
4725
|
+
description: `837${variantLabel} Loop 2000C - Patient Hierarchical Level`,
|
|
4726
4726
|
trigger: "HL",
|
|
4727
4727
|
segments: [
|
|
4728
4728
|
{ id: "HL", usage: "required", max: 1 },
|
|
@@ -4734,7 +4734,7 @@ function makeLoop2000C(loop2300, variantLabel) {
|
|
|
4734
4734
|
function makeLoop2000B(loop2300, loop2000C, variantLabel) {
|
|
4735
4735
|
return defineLoopSpec({
|
|
4736
4736
|
id: "2000B",
|
|
4737
|
-
description: `837${variantLabel} Loop 2000B
|
|
4737
|
+
description: `837${variantLabel} Loop 2000B - Subscriber Hierarchical Level`,
|
|
4738
4738
|
trigger: "HL",
|
|
4739
4739
|
segments: [
|
|
4740
4740
|
{ id: "HL", usage: "required", max: 1 },
|
|
@@ -4747,7 +4747,7 @@ function makeLoop2000B(loop2300, loop2000C, variantLabel) {
|
|
|
4747
4747
|
function makeLoop2000A(loop2000B, variantLabel) {
|
|
4748
4748
|
return defineLoopSpec({
|
|
4749
4749
|
id: "2000A",
|
|
4750
|
-
description: `837${variantLabel} Loop 2000A
|
|
4750
|
+
description: `837${variantLabel} Loop 2000A - Billing Provider Hierarchical Level`,
|
|
4751
4751
|
trigger: "HL",
|
|
4752
4752
|
segments: [
|
|
4753
4753
|
{ id: "HL", usage: "required", max: 1 },
|
|
@@ -4768,7 +4768,7 @@ var CLAIM_837I_LOOP_2000A = makeLoop2000A(INSTITUTIONAL_2000B, "I");
|
|
|
4768
4768
|
var CLAIM_837D_LOOP_2000A = makeLoop2000A(DENTAL_2000B, "D");
|
|
4769
4769
|
var CLAIM_837_LOOP_1000A = defineLoopSpec({
|
|
4770
4770
|
id: "1000A",
|
|
4771
|
-
description: "837 Loop 1000A
|
|
4771
|
+
description: "837 Loop 1000A - Submitter Name",
|
|
4772
4772
|
trigger: "NM1",
|
|
4773
4773
|
segments: [
|
|
4774
4774
|
{ id: "NM1", usage: "required", max: 1 },
|
|
@@ -4777,7 +4777,7 @@ var CLAIM_837_LOOP_1000A = defineLoopSpec({
|
|
|
4777
4777
|
});
|
|
4778
4778
|
var CLAIM_837_LOOP_1000B = defineLoopSpec({
|
|
4779
4779
|
id: "1000B",
|
|
4780
|
-
description: "837 Loop 1000B
|
|
4780
|
+
description: "837 Loop 1000B - Receiver Name",
|
|
4781
4781
|
trigger: "NM1",
|
|
4782
4782
|
segments: [{ id: "NM1", usage: "required", max: 1 }]
|
|
4783
4783
|
});
|
|
@@ -5459,7 +5459,7 @@ function expandYY3(yymmdd) {
|
|
|
5459
5459
|
// src/transactions/eligibility/loop-spec.ts
|
|
5460
5460
|
var ELIGIBILITY_271_LOOP_2110 = defineLoopSpec({
|
|
5461
5461
|
id: "2110",
|
|
5462
|
-
description: "271 Loop 2110C/D
|
|
5462
|
+
description: "271 Loop 2110C/D - Eligibility or Benefit Information",
|
|
5463
5463
|
trigger: "EB",
|
|
5464
5464
|
segments: [
|
|
5465
5465
|
{ id: "EB", usage: "required", max: 1 },
|
|
@@ -5473,7 +5473,7 @@ var ELIGIBILITY_271_LOOP_2110 = defineLoopSpec({
|
|
|
5473
5473
|
});
|
|
5474
5474
|
var ELIGIBILITY_271_LOOP_2100C = defineLoopSpec({
|
|
5475
5475
|
id: "2100C",
|
|
5476
|
-
description: "271 Loop 2100C
|
|
5476
|
+
description: "271 Loop 2100C - Subscriber Name",
|
|
5477
5477
|
trigger: "NM1",
|
|
5478
5478
|
segments: [
|
|
5479
5479
|
{ id: "NM1", usage: "required", max: 1 },
|
|
@@ -5487,7 +5487,7 @@ var ELIGIBILITY_271_LOOP_2100C = defineLoopSpec({
|
|
|
5487
5487
|
});
|
|
5488
5488
|
var ELIGIBILITY_271_LOOP_2100D = defineLoopSpec({
|
|
5489
5489
|
id: "2100D",
|
|
5490
|
-
description: "271 Loop 2100D
|
|
5490
|
+
description: "271 Loop 2100D - Dependent Name",
|
|
5491
5491
|
trigger: "NM1",
|
|
5492
5492
|
segments: [
|
|
5493
5493
|
{ id: "NM1", usage: "required", max: 1 },
|
|
@@ -5501,7 +5501,7 @@ var ELIGIBILITY_271_LOOP_2100D = defineLoopSpec({
|
|
|
5501
5501
|
});
|
|
5502
5502
|
var ELIGIBILITY_271_LOOP_2000A = defineLoopSpec({
|
|
5503
5503
|
id: "2000A",
|
|
5504
|
-
description: "271 Loop 2000A
|
|
5504
|
+
description: "271 Loop 2000A - Information Source HL",
|
|
5505
5505
|
trigger: "HL",
|
|
5506
5506
|
segments: [
|
|
5507
5507
|
{ id: "HL", usage: "required", max: 1 },
|
|
@@ -5512,7 +5512,7 @@ var ELIGIBILITY_271_LOOP_2000A = defineLoopSpec({
|
|
|
5512
5512
|
});
|
|
5513
5513
|
var ELIGIBILITY_271_LOOP_2000B = defineLoopSpec({
|
|
5514
5514
|
id: "2000B",
|
|
5515
|
-
description: "271 Loop 2000B
|
|
5515
|
+
description: "271 Loop 2000B - Information Receiver HL",
|
|
5516
5516
|
trigger: "HL",
|
|
5517
5517
|
segments: [
|
|
5518
5518
|
{ id: "HL", usage: "required", max: 1 },
|
|
@@ -5526,7 +5526,7 @@ var ELIGIBILITY_271_LOOP_2000B = defineLoopSpec({
|
|
|
5526
5526
|
});
|
|
5527
5527
|
var ELIGIBILITY_271_LOOP_2000C = defineLoopSpec({
|
|
5528
5528
|
id: "2000C",
|
|
5529
|
-
description: "271 Loop 2000C
|
|
5529
|
+
description: "271 Loop 2000C - Subscriber HL",
|
|
5530
5530
|
trigger: "HL",
|
|
5531
5531
|
segments: [
|
|
5532
5532
|
{ id: "HL", usage: "required", max: 1 },
|
|
@@ -5536,7 +5536,7 @@ var ELIGIBILITY_271_LOOP_2000C = defineLoopSpec({
|
|
|
5536
5536
|
});
|
|
5537
5537
|
var ELIGIBILITY_271_LOOP_2000D = defineLoopSpec({
|
|
5538
5538
|
id: "2000D",
|
|
5539
|
-
description: "271 Loop 2000D
|
|
5539
|
+
description: "271 Loop 2000D - Dependent HL",
|
|
5540
5540
|
trigger: "HL",
|
|
5541
5541
|
segments: [
|
|
5542
5542
|
{ id: "HL", usage: "required", max: 1 },
|
|
@@ -6233,7 +6233,7 @@ function expandYY4(yymmdd) {
|
|
|
6233
6233
|
// src/transactions/status/loop-spec.ts
|
|
6234
6234
|
var STATUS_277_LOOP_2220 = defineLoopSpec({
|
|
6235
6235
|
id: "2220",
|
|
6236
|
-
description: "277 Loop 2220
|
|
6236
|
+
description: "277 Loop 2220 - Service Line Status Information",
|
|
6237
6237
|
trigger: "SVC",
|
|
6238
6238
|
segments: [
|
|
6239
6239
|
{ id: "SVC", usage: "required", max: 1 },
|
|
@@ -6244,7 +6244,7 @@ var STATUS_277_LOOP_2220 = defineLoopSpec({
|
|
|
6244
6244
|
});
|
|
6245
6245
|
var STATUS_277_LOOP_2200 = defineLoopSpec({
|
|
6246
6246
|
id: "2200",
|
|
6247
|
-
description: "277 Loop 2200
|
|
6247
|
+
description: "277 Loop 2200 - Claim Status Tracking",
|
|
6248
6248
|
trigger: "TRN",
|
|
6249
6249
|
segments: [
|
|
6250
6250
|
{ id: "TRN", usage: "situational", max: 1 },
|
|
@@ -6256,7 +6256,7 @@ var STATUS_277_LOOP_2200 = defineLoopSpec({
|
|
|
6256
6256
|
});
|
|
6257
6257
|
var STATUS_277_LOOP_2000A = defineLoopSpec({
|
|
6258
6258
|
id: "2000A",
|
|
6259
|
-
description: "277 Loop 2000A
|
|
6259
|
+
description: "277 Loop 2000A - Information Source HL",
|
|
6260
6260
|
trigger: "HL",
|
|
6261
6261
|
segments: [
|
|
6262
6262
|
{ id: "HL", usage: "required", max: 1 },
|
|
@@ -6266,7 +6266,7 @@ var STATUS_277_LOOP_2000A = defineLoopSpec({
|
|
|
6266
6266
|
});
|
|
6267
6267
|
var STATUS_277_LOOP_2000B = defineLoopSpec({
|
|
6268
6268
|
id: "2000B",
|
|
6269
|
-
description: "277 Loop 2000B
|
|
6269
|
+
description: "277 Loop 2000B - Information Receiver HL",
|
|
6270
6270
|
trigger: "HL",
|
|
6271
6271
|
segments: [
|
|
6272
6272
|
{ id: "HL", usage: "required", max: 1 },
|
|
@@ -6275,7 +6275,7 @@ var STATUS_277_LOOP_2000B = defineLoopSpec({
|
|
|
6275
6275
|
});
|
|
6276
6276
|
var STATUS_277_LOOP_2000C = defineLoopSpec({
|
|
6277
6277
|
id: "2000C",
|
|
6278
|
-
description: "277 Loop 2000C
|
|
6278
|
+
description: "277 Loop 2000C - Service Provider HL",
|
|
6279
6279
|
trigger: "HL",
|
|
6280
6280
|
segments: [
|
|
6281
6281
|
{ id: "HL", usage: "required", max: 1 },
|
|
@@ -6285,7 +6285,7 @@ var STATUS_277_LOOP_2000C = defineLoopSpec({
|
|
|
6285
6285
|
});
|
|
6286
6286
|
var STATUS_277_LOOP_2000D = defineLoopSpec({
|
|
6287
6287
|
id: "2000D",
|
|
6288
|
-
description: "277 Loop 2000D
|
|
6288
|
+
description: "277 Loop 2000D - Subscriber HL",
|
|
6289
6289
|
trigger: "HL",
|
|
6290
6290
|
segments: [
|
|
6291
6291
|
{ id: "HL", usage: "required", max: 1 },
|
|
@@ -6295,7 +6295,7 @@ var STATUS_277_LOOP_2000D = defineLoopSpec({
|
|
|
6295
6295
|
});
|
|
6296
6296
|
var STATUS_277_LOOP_2000E = defineLoopSpec({
|
|
6297
6297
|
id: "2000E",
|
|
6298
|
-
description: "277 Loop 2000E
|
|
6298
|
+
description: "277 Loop 2000E - Dependent HL",
|
|
6299
6299
|
trigger: "HL",
|
|
6300
6300
|
segments: [
|
|
6301
6301
|
{ id: "HL", usage: "required", max: 1 },
|
|
@@ -6637,9 +6637,9 @@ function build820(spec) {
|
|
|
6637
6637
|
pad5(envelope.receiverId, 15),
|
|
6638
6638
|
// ISA-08
|
|
6639
6639
|
pad5(envelope.interchangeDate, 6),
|
|
6640
|
-
// ISA-09
|
|
6640
|
+
// ISA-09 - YYMMDD
|
|
6641
6641
|
pad5(envelope.interchangeTime, 4),
|
|
6642
|
-
// ISA-10
|
|
6642
|
+
// ISA-10 - HHMM
|
|
6643
6643
|
repetitionSeparator,
|
|
6644
6644
|
// ISA-11
|
|
6645
6645
|
"00501",
|
|
@@ -6660,15 +6660,15 @@ function build820(spec) {
|
|
|
6660
6660
|
const gs = seg([
|
|
6661
6661
|
"GS",
|
|
6662
6662
|
X12_820_FUNCTIONAL_ID,
|
|
6663
|
-
// GS-01
|
|
6663
|
+
// GS-01 - "RA"
|
|
6664
6664
|
esc(applicationSenderCode),
|
|
6665
6665
|
// GS-02
|
|
6666
6666
|
esc(applicationReceiverCode),
|
|
6667
6667
|
// GS-03
|
|
6668
6668
|
groupDate,
|
|
6669
|
-
// GS-04
|
|
6669
|
+
// GS-04 - CCYYMMDD
|
|
6670
6670
|
groupTime,
|
|
6671
|
-
// GS-05
|
|
6671
|
+
// GS-05 - HHMM
|
|
6672
6672
|
esc(envelope.groupControlNumber),
|
|
6673
6673
|
// GS-06
|
|
6674
6674
|
X12_AGENCY_CODE5,
|
|
@@ -6842,7 +6842,7 @@ function emitPerson2(person, seg, esc) {
|
|
|
6842
6842
|
"NM1",
|
|
6843
6843
|
esc(person.entityIdentifierCode),
|
|
6844
6844
|
"1",
|
|
6845
|
-
// NM1-02 entity type qualifier
|
|
6845
|
+
// NM1-02 entity type qualifier - not read by get820Payments
|
|
6846
6846
|
esc(person.lastName ?? ""),
|
|
6847
6847
|
esc(person.firstName ?? ""),
|
|
6848
6848
|
esc(person.middleName ?? ""),
|
|
@@ -6890,13 +6890,13 @@ function expandYY5(yymmdd) {
|
|
|
6890
6890
|
// src/transactions/premium/loop-spec.ts
|
|
6891
6891
|
var PREMIUM_820_LOOP_2310A = defineLoopSpec({
|
|
6892
6892
|
id: "2310A",
|
|
6893
|
-
description: "820 Loop 2310A
|
|
6893
|
+
description: "820 Loop 2310A - Organization Summary Remittance Adjustment",
|
|
6894
6894
|
trigger: "ADX",
|
|
6895
6895
|
segments: [{ id: "ADX", usage: "situational", max: ">1" }]
|
|
6896
6896
|
});
|
|
6897
6897
|
var PREMIUM_820_LOOP_2300A = defineLoopSpec({
|
|
6898
6898
|
id: "2300A",
|
|
6899
|
-
description: "820 Loop 2300A
|
|
6899
|
+
description: "820 Loop 2300A - Organization Summary Remittance Detail",
|
|
6900
6900
|
trigger: "RMR",
|
|
6901
6901
|
segments: [
|
|
6902
6902
|
{ id: "RMR", usage: "situational", max: 1 },
|
|
@@ -6907,7 +6907,7 @@ var PREMIUM_820_LOOP_2300A = defineLoopSpec({
|
|
|
6907
6907
|
});
|
|
6908
6908
|
var PREMIUM_820_LOOP_2100A = defineLoopSpec({
|
|
6909
6909
|
id: "2100A",
|
|
6910
|
-
description: "820 Loop 2100A
|
|
6910
|
+
description: "820 Loop 2100A - Party Name",
|
|
6911
6911
|
trigger: "NM1",
|
|
6912
6912
|
segments: [
|
|
6913
6913
|
{ id: "NM1", usage: "situational", max: 1 },
|
|
@@ -6917,14 +6917,14 @@ var PREMIUM_820_LOOP_2100A = defineLoopSpec({
|
|
|
6917
6917
|
});
|
|
6918
6918
|
var PREMIUM_820_LOOP_2000A = defineLoopSpec({
|
|
6919
6919
|
id: "2000A",
|
|
6920
|
-
description: "820 Loop 2000A
|
|
6920
|
+
description: "820 Loop 2000A - Organization Summary Remittance",
|
|
6921
6921
|
trigger: "ENT",
|
|
6922
6922
|
segments: [{ id: "ENT", usage: "situational", max: 1 }],
|
|
6923
6923
|
children: [PREMIUM_820_LOOP_2100A, PREMIUM_820_LOOP_2300A]
|
|
6924
6924
|
});
|
|
6925
6925
|
var PREMIUM_820_LOOP_1000A = defineLoopSpec({
|
|
6926
6926
|
id: "1000A",
|
|
6927
|
-
description: "820 Loop 1000A
|
|
6927
|
+
description: "820 Loop 1000A - Premium Receiver's Name",
|
|
6928
6928
|
trigger: "N1",
|
|
6929
6929
|
segments: [
|
|
6930
6930
|
{ id: "N1", usage: "required", max: 1 },
|
|
@@ -6937,7 +6937,7 @@ var PREMIUM_820_LOOP_1000A = defineLoopSpec({
|
|
|
6937
6937
|
});
|
|
6938
6938
|
var PREMIUM_820_LOOP_1000B = defineLoopSpec({
|
|
6939
6939
|
id: "1000B",
|
|
6940
|
-
description: "820 Loop 1000B
|
|
6940
|
+
description: "820 Loop 1000B - Premium Payer's Name",
|
|
6941
6941
|
trigger: "N1",
|
|
6942
6942
|
segments: [
|
|
6943
6943
|
{ id: "N1", usage: "required", max: 1 },
|
|
@@ -7321,9 +7321,9 @@ function build834(spec) {
|
|
|
7321
7321
|
pad6(envelope.receiverId, 15),
|
|
7322
7322
|
// ISA-08
|
|
7323
7323
|
pad6(envelope.interchangeDate, 6),
|
|
7324
|
-
// ISA-09
|
|
7324
|
+
// ISA-09 - YYMMDD
|
|
7325
7325
|
pad6(envelope.interchangeTime, 4),
|
|
7326
|
-
// ISA-10
|
|
7326
|
+
// ISA-10 - HHMM
|
|
7327
7327
|
repetitionSeparator,
|
|
7328
7328
|
// ISA-11
|
|
7329
7329
|
"00501",
|
|
@@ -7344,15 +7344,15 @@ function build834(spec) {
|
|
|
7344
7344
|
const gs = seg([
|
|
7345
7345
|
"GS",
|
|
7346
7346
|
X12_834_FUNCTIONAL_ID,
|
|
7347
|
-
// GS-01
|
|
7347
|
+
// GS-01 - "BE"
|
|
7348
7348
|
esc(applicationSenderCode),
|
|
7349
7349
|
// GS-02
|
|
7350
7350
|
esc(applicationReceiverCode),
|
|
7351
7351
|
// GS-03
|
|
7352
7352
|
groupDate,
|
|
7353
|
-
// GS-04
|
|
7353
|
+
// GS-04 - CCYYMMDD
|
|
7354
7354
|
groupTime,
|
|
7355
|
-
// GS-05
|
|
7355
|
+
// GS-05 - HHMM
|
|
7356
7356
|
esc(envelope.groupControlNumber),
|
|
7357
7357
|
// GS-06
|
|
7358
7358
|
X12_AGENCY_CODE6,
|
|
@@ -7446,7 +7446,7 @@ function emitMember3(member, body, seg, esc) {
|
|
|
7446
7446
|
esc(member.subscriberIndicator ?? ""),
|
|
7447
7447
|
esc(member.relationshipCode ?? ""),
|
|
7448
7448
|
esc(member.maintenanceTypeCode),
|
|
7449
|
-
// INS-03
|
|
7449
|
+
// INS-03 - emitted verbatim
|
|
7450
7450
|
esc(member.maintenanceReasonCode ?? ""),
|
|
7451
7451
|
esc(member.benefitStatusCode ?? ""),
|
|
7452
7452
|
"",
|
|
@@ -7478,7 +7478,7 @@ function emitMemberName(name, body, seg, esc) {
|
|
|
7478
7478
|
"NM1",
|
|
7479
7479
|
esc(name.entityIdentifierCode ?? MEMBER_DEFAULT_ENTITY_ID),
|
|
7480
7480
|
"1",
|
|
7481
|
-
// NM1-02 entity type qualifier
|
|
7481
|
+
// NM1-02 entity type qualifier - person
|
|
7482
7482
|
esc(name.lastName ?? ""),
|
|
7483
7483
|
esc(name.firstName ?? ""),
|
|
7484
7484
|
esc(name.middleName ?? ""),
|
|
@@ -7516,7 +7516,7 @@ function emitCoverage(coverage, body, seg, esc) {
|
|
|
7516
7516
|
seg([
|
|
7517
7517
|
"HD",
|
|
7518
7518
|
esc(coverage.maintenanceTypeCode ?? ""),
|
|
7519
|
-
// HD-01
|
|
7519
|
+
// HD-01 - emitted verbatim
|
|
7520
7520
|
"",
|
|
7521
7521
|
// HD-02 maintenance reason code
|
|
7522
7522
|
esc(coverage.insuranceLineCode ?? ""),
|
|
@@ -7564,13 +7564,13 @@ function expandYY6(yymmdd) {
|
|
|
7564
7564
|
// src/transactions/enrollment/loop-spec.ts
|
|
7565
7565
|
var ENROLLMENT_834_LOOP_2320 = defineLoopSpec({
|
|
7566
7566
|
id: "2320",
|
|
7567
|
-
description: "834 Loop 2320
|
|
7567
|
+
description: "834 Loop 2320 - Coordination of Benefits",
|
|
7568
7568
|
trigger: "COB",
|
|
7569
7569
|
segments: [{ id: "COB", usage: "situational", max: 1 }]
|
|
7570
7570
|
});
|
|
7571
7571
|
var ENROLLMENT_834_LOOP_2300 = defineLoopSpec({
|
|
7572
7572
|
id: "2300",
|
|
7573
|
-
description: "834 Loop 2300
|
|
7573
|
+
description: "834 Loop 2300 - Health Coverage",
|
|
7574
7574
|
trigger: "HD",
|
|
7575
7575
|
segments: [
|
|
7576
7576
|
{ id: "HD", usage: "situational", max: 1 },
|
|
@@ -7581,7 +7581,7 @@ var ENROLLMENT_834_LOOP_2300 = defineLoopSpec({
|
|
|
7581
7581
|
});
|
|
7582
7582
|
var ENROLLMENT_834_LOOP_2100A = defineLoopSpec({
|
|
7583
7583
|
id: "2100A",
|
|
7584
|
-
description: "834 Loop 2100A
|
|
7584
|
+
description: "834 Loop 2100A - Member Name",
|
|
7585
7585
|
trigger: "NM1",
|
|
7586
7586
|
segments: [
|
|
7587
7587
|
{ id: "NM1", usage: "required", max: 1 },
|
|
@@ -7592,7 +7592,7 @@ var ENROLLMENT_834_LOOP_2100A = defineLoopSpec({
|
|
|
7592
7592
|
});
|
|
7593
7593
|
var ENROLLMENT_834_LOOP_2000 = defineLoopSpec({
|
|
7594
7594
|
id: "2000",
|
|
7595
|
-
description: "834 Loop 2000
|
|
7595
|
+
description: "834 Loop 2000 - Member Level Detail",
|
|
7596
7596
|
trigger: "INS",
|
|
7597
7597
|
segments: [
|
|
7598
7598
|
{ id: "INS", usage: "required", max: 1 },
|
|
@@ -7603,13 +7603,13 @@ var ENROLLMENT_834_LOOP_2000 = defineLoopSpec({
|
|
|
7603
7603
|
});
|
|
7604
7604
|
var ENROLLMENT_834_LOOP_1000A = defineLoopSpec({
|
|
7605
7605
|
id: "1000A",
|
|
7606
|
-
description: "834 Loop 1000A
|
|
7606
|
+
description: "834 Loop 1000A - Sponsor Name",
|
|
7607
7607
|
trigger: "N1",
|
|
7608
7608
|
segments: [{ id: "N1", usage: "required", max: 1 }]
|
|
7609
7609
|
});
|
|
7610
7610
|
var ENROLLMENT_834_LOOP_1000B = defineLoopSpec({
|
|
7611
7611
|
id: "1000B",
|
|
7612
|
-
description: "834 Loop 1000B
|
|
7612
|
+
description: "834 Loop 1000B - Payer",
|
|
7613
7613
|
trigger: "N1",
|
|
7614
7614
|
segments: [{ id: "N1", usage: "required", max: 1 }]
|
|
7615
7615
|
});
|
|
@@ -8220,7 +8220,7 @@ function expandYY7(yymmdd) {
|
|
|
8220
8220
|
// src/transactions/auth/loop-spec.ts
|
|
8221
8221
|
var AUTH_278_LOOP_2000F = defineLoopSpec({
|
|
8222
8222
|
id: "2000F",
|
|
8223
|
-
description: "278 Loop 2000F
|
|
8223
|
+
description: "278 Loop 2000F - Service HL",
|
|
8224
8224
|
trigger: "HL",
|
|
8225
8225
|
segments: [
|
|
8226
8226
|
{ id: "HL", usage: "required", max: 1 },
|
|
@@ -8236,7 +8236,7 @@ var AUTH_278_LOOP_2000F = defineLoopSpec({
|
|
|
8236
8236
|
});
|
|
8237
8237
|
var AUTH_278_LOOP_2000E = defineLoopSpec({
|
|
8238
8238
|
id: "2000E",
|
|
8239
|
-
description: "278 Loop 2000E
|
|
8239
|
+
description: "278 Loop 2000E - Patient Event HL",
|
|
8240
8240
|
trigger: "HL",
|
|
8241
8241
|
segments: [
|
|
8242
8242
|
{ id: "HL", usage: "required", max: 1 },
|
|
@@ -8253,7 +8253,7 @@ var AUTH_278_LOOP_2000E = defineLoopSpec({
|
|
|
8253
8253
|
});
|
|
8254
8254
|
var AUTH_278_LOOP_2000D = defineLoopSpec({
|
|
8255
8255
|
id: "2000D",
|
|
8256
|
-
description: "278 Loop 2000D
|
|
8256
|
+
description: "278 Loop 2000D - Dependent HL",
|
|
8257
8257
|
trigger: "HL",
|
|
8258
8258
|
segments: [
|
|
8259
8259
|
{ id: "HL", usage: "required", max: 1 },
|
|
@@ -8264,7 +8264,7 @@ var AUTH_278_LOOP_2000D = defineLoopSpec({
|
|
|
8264
8264
|
});
|
|
8265
8265
|
var AUTH_278_LOOP_2000C = defineLoopSpec({
|
|
8266
8266
|
id: "2000C",
|
|
8267
|
-
description: "278 Loop 2000C
|
|
8267
|
+
description: "278 Loop 2000C - Subscriber HL",
|
|
8268
8268
|
trigger: "HL",
|
|
8269
8269
|
segments: [
|
|
8270
8270
|
{ id: "HL", usage: "required", max: 1 },
|
|
@@ -8275,7 +8275,7 @@ var AUTH_278_LOOP_2000C = defineLoopSpec({
|
|
|
8275
8275
|
});
|
|
8276
8276
|
var AUTH_278_LOOP_2000B = defineLoopSpec({
|
|
8277
8277
|
id: "2000B",
|
|
8278
|
-
description: "278 Loop 2000B
|
|
8278
|
+
description: "278 Loop 2000B - Requester HL",
|
|
8279
8279
|
trigger: "HL",
|
|
8280
8280
|
segments: [
|
|
8281
8281
|
{ id: "HL", usage: "required", max: 1 },
|
|
@@ -8288,7 +8288,7 @@ var AUTH_278_LOOP_2000B = defineLoopSpec({
|
|
|
8288
8288
|
});
|
|
8289
8289
|
var AUTH_278_LOOP_2000A = defineLoopSpec({
|
|
8290
8290
|
id: "2000A",
|
|
8291
|
-
description: "278 Loop 2000A
|
|
8291
|
+
description: "278 Loop 2000A - Utilization Management Organization HL",
|
|
8292
8292
|
trigger: "HL",
|
|
8293
8293
|
segments: [
|
|
8294
8294
|
{ id: "HL", usage: "required", max: 1 },
|
|
@@ -8703,13 +8703,13 @@ function build999(spec) {
|
|
|
8703
8703
|
const isa = [
|
|
8704
8704
|
"ISA",
|
|
8705
8705
|
"00",
|
|
8706
|
-
// ISA-01
|
|
8706
|
+
// ISA-01 - Authorization Info Qualifier
|
|
8707
8707
|
pad8(" ", 10),
|
|
8708
|
-
// ISA-02
|
|
8708
|
+
// ISA-02 - Authorization Info (blank when ISA-01 == "00")
|
|
8709
8709
|
"00",
|
|
8710
|
-
// ISA-03
|
|
8710
|
+
// ISA-03 - Security Info Qualifier
|
|
8711
8711
|
pad8(" ", 10),
|
|
8712
|
-
// ISA-04
|
|
8712
|
+
// ISA-04 - Security Info (blank when ISA-03 == "00")
|
|
8713
8713
|
pad8(senderQualifier, 2),
|
|
8714
8714
|
// ISA-05
|
|
8715
8715
|
pad8(envelope.senderId, 15),
|
|
@@ -8719,21 +8719,21 @@ function build999(spec) {
|
|
|
8719
8719
|
pad8(envelope.receiverId, 15),
|
|
8720
8720
|
// ISA-08
|
|
8721
8721
|
pad8(envelope.interchangeDate, 6),
|
|
8722
|
-
// ISA-09
|
|
8722
|
+
// ISA-09 - YYMMDD
|
|
8723
8723
|
pad8(envelope.interchangeTime, 4),
|
|
8724
|
-
// ISA-10
|
|
8724
|
+
// ISA-10 - HHMM
|
|
8725
8725
|
repetitionSeparator,
|
|
8726
|
-
// ISA-11
|
|
8726
|
+
// ISA-11 - repetition separator
|
|
8727
8727
|
"00501",
|
|
8728
|
-
// ISA-12
|
|
8728
|
+
// ISA-12 - interchange version
|
|
8729
8729
|
interchangeControlNumber,
|
|
8730
8730
|
// ISA-13
|
|
8731
8731
|
"0",
|
|
8732
|
-
// ISA-14
|
|
8732
|
+
// ISA-14 - ack requested (0 = no inbound TA1)
|
|
8733
8733
|
usageIndicator,
|
|
8734
8734
|
// ISA-15
|
|
8735
8735
|
componentSeparator
|
|
8736
|
-
// ISA-16
|
|
8736
|
+
// ISA-16 - component separator
|
|
8737
8737
|
].join(elementSeparator) + segmentTerminator;
|
|
8738
8738
|
const groupDate = envelope.groupDate ?? expandYY8(envelope.interchangeDate);
|
|
8739
8739
|
const groupTime = envelope.groupTime ?? envelope.interchangeTime;
|
|
@@ -8742,21 +8742,21 @@ function build999(spec) {
|
|
|
8742
8742
|
[
|
|
8743
8743
|
"GS",
|
|
8744
8744
|
"FA",
|
|
8745
|
-
// GS-01
|
|
8745
|
+
// GS-01 - functional ID code "FA" for ack
|
|
8746
8746
|
esc(envelope.senderId),
|
|
8747
8747
|
// GS-02
|
|
8748
8748
|
esc(envelope.receiverId),
|
|
8749
8749
|
// GS-03
|
|
8750
8750
|
groupDate,
|
|
8751
|
-
// GS-04
|
|
8751
|
+
// GS-04 - CCYYMMDD
|
|
8752
8752
|
groupTime,
|
|
8753
|
-
// GS-05
|
|
8753
|
+
// GS-05 - HHMM
|
|
8754
8754
|
envelope.groupControlNumber,
|
|
8755
8755
|
// GS-06
|
|
8756
8756
|
groupResponsibleAgency,
|
|
8757
8757
|
// GS-07
|
|
8758
8758
|
X231A1_VERSION_RELEASE
|
|
8759
|
-
// GS-08
|
|
8759
|
+
// GS-08 - the 999 TR3
|
|
8760
8760
|
],
|
|
8761
8761
|
elementSeparator,
|
|
8762
8762
|
segmentTerminator
|
|
@@ -9197,9 +9197,9 @@ function buildInterchange(spec) {
|
|
|
9197
9197
|
pad9(spec.receiverId, 15),
|
|
9198
9198
|
// ISA-08
|
|
9199
9199
|
pad9(spec.interchangeDate, 6),
|
|
9200
|
-
// ISA-09
|
|
9200
|
+
// ISA-09 - YYMMDD
|
|
9201
9201
|
pad9(spec.interchangeTime, 4),
|
|
9202
|
-
// ISA-10
|
|
9202
|
+
// ISA-10 - HHMM
|
|
9203
9203
|
repetitionSeparator,
|
|
9204
9204
|
// ISA-11
|
|
9205
9205
|
pad9(version, 5),
|
|
@@ -9207,7 +9207,7 @@ function buildInterchange(spec) {
|
|
|
9207
9207
|
interchangeControlNumber,
|
|
9208
9208
|
// ISA-13
|
|
9209
9209
|
"0",
|
|
9210
|
-
// ISA-14
|
|
9210
|
+
// ISA-14 - ack requested (0 = no inbound TA1)
|
|
9211
9211
|
usageIndicator,
|
|
9212
9212
|
// ISA-15
|
|
9213
9213
|
componentSeparator
|
|
@@ -9400,7 +9400,7 @@ function validateQuirks(quirks, profileName) {
|
|
|
9400
9400
|
seenIds.add(q.id);
|
|
9401
9401
|
if (typeof q.effect !== "string" || !KNOWN_EFFECTS.includes(q.effect)) {
|
|
9402
9402
|
throw new X12ProfileError(
|
|
9403
|
-
`Profile '${profileName}' quirk '${q.id}' has invalid effect ${JSON.stringify(q.effect)}
|
|
9403
|
+
`Profile '${profileName}' quirk '${q.id}' has invalid effect ${JSON.stringify(q.effect)} - must be one of ${KNOWN_EFFECTS.join(" / ")}.`,
|
|
9404
9404
|
profileName
|
|
9405
9405
|
);
|
|
9406
9406
|
}
|
|
@@ -9412,7 +9412,7 @@ function validateQuirks(quirks, profileName) {
|
|
|
9412
9412
|
}
|
|
9413
9413
|
if (typeof q.fixture !== "string" || !FIXTURE_PATH_RE.test(q.fixture)) {
|
|
9414
9414
|
throw new X12ProfileError(
|
|
9415
|
-
`Profile '${profileName}' quirk '${q.id}' must cite a 'fixture'
|
|
9415
|
+
`Profile '${profileName}' quirk '${q.id}' must cite a 'fixture' - a relative path under test/fixtures/ (e.g. "remit/835-availity-quirk.edi") demonstrating the deviation. No invented quirks. Received: ${JSON.stringify(q.fixture)}.`,
|
|
9416
9416
|
profileName
|
|
9417
9417
|
);
|
|
9418
9418
|
}
|
|
@@ -9426,7 +9426,7 @@ function validateQuirks(quirks, profileName) {
|
|
|
9426
9426
|
for (const code of q.expectedWarnings) {
|
|
9427
9427
|
if (!WARNING_CODE_SET.has(code)) {
|
|
9428
9428
|
throw new X12ProfileError(
|
|
9429
|
-
`Profile '${profileName}' quirk '${q.id}' lists unknown expected warning ${JSON.stringify(code)}
|
|
9429
|
+
`Profile '${profileName}' quirk '${q.id}' lists unknown expected warning ${JSON.stringify(code)} - must be a member of WARNING_CODES.`,
|
|
9430
9430
|
profileName
|
|
9431
9431
|
);
|
|
9432
9432
|
}
|
|
@@ -9547,21 +9547,21 @@ function partitionWarnings(warnings, profile) {
|
|
|
9547
9547
|
// src/profiles/availity.ts
|
|
9548
9548
|
var availity = defineProfile({
|
|
9549
9549
|
name: "availity",
|
|
9550
|
-
description: "Availity clearinghouse 835 ERA conventions
|
|
9550
|
+
description: "Availity clearinghouse 835 ERA conventions - payer-routed REF segment additions",
|
|
9551
9551
|
quirks: [
|
|
9552
9552
|
{
|
|
9553
9553
|
id: "payer-loop-ref-2u",
|
|
9554
9554
|
effect: "adds",
|
|
9555
9555
|
summary: "Payer Loop 1000A carries an additional REF*2U payer-identification segment alongside the N1*PR.",
|
|
9556
9556
|
fixture: "remit/835-availity-quirk.edi",
|
|
9557
|
-
sourceCategory: "Availity 835 ERA companion guide
|
|
9557
|
+
sourceCategory: "Availity 835 ERA companion guide - payer-loop REF*2U routing identifier"
|
|
9558
9558
|
},
|
|
9559
9559
|
{
|
|
9560
9560
|
id: "service-line-ref-f8",
|
|
9561
9561
|
effect: "adds",
|
|
9562
9562
|
summary: "Service line (Loop 2110) carries a REF*F8 original-reference identifier for clearinghouse trace-back.",
|
|
9563
9563
|
fixture: "remit/835-availity-quirk.edi",
|
|
9564
|
-
sourceCategory: "Availity 835 ERA companion guide
|
|
9564
|
+
sourceCategory: "Availity 835 ERA companion guide - service-line REF*F8 original reference"
|
|
9565
9565
|
}
|
|
9566
9566
|
]
|
|
9567
9567
|
});
|
|
@@ -9569,14 +9569,14 @@ var availity = defineProfile({
|
|
|
9569
9569
|
// src/profiles/bcbsCommon.ts
|
|
9570
9570
|
var bcbsCommon = defineProfile({
|
|
9571
9571
|
name: "bcbsCommon",
|
|
9572
|
-
description: "Lowest-common-denominator BCBS envelope quirks
|
|
9572
|
+
description: "Lowest-common-denominator BCBS envelope quirks - a documented starting point, not a complete plan-specific edit set",
|
|
9573
9573
|
quirks: [
|
|
9574
9574
|
{
|
|
9575
9575
|
id: "backslash-component-separator",
|
|
9576
9576
|
effect: "relaxes",
|
|
9577
9577
|
summary: "ISA-16 component (sub-element) separator is a backslash `\\`, not the commonly-assumed `:`.",
|
|
9578
9578
|
fixture: "envelope/bcbs-subelement.edi",
|
|
9579
|
-
sourceCategory: "BCBS plan companion guides
|
|
9579
|
+
sourceCategory: "BCBS plan companion guides - non-colon ISA-16 sub-element separator"
|
|
9580
9580
|
}
|
|
9581
9581
|
]
|
|
9582
9582
|
});
|
|
@@ -9588,7 +9588,7 @@ var profiles = Object.freeze({
|
|
|
9588
9588
|
});
|
|
9589
9589
|
|
|
9590
9590
|
// src/index.ts
|
|
9591
|
-
var VERSION = "0.0.
|
|
9591
|
+
var VERSION = "0.0.3";
|
|
9592
9592
|
|
|
9593
9593
|
export { ACK_BUILD_ERROR_CODES, 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, 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, Claim837BuildError, ClaimStatus277BuildError, DELIMITER_POSITIONS, 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, Enrollment834BuildError, FATAL_CODES, HI_QUALIFIERS, HL_LEVEL_CODES, IK3_SYNTAX_ERROR_CODES, IK4_SYNTAX_ERROR_CODES, ISA_MIN_LENGTH, LoopSpecDefinitionError, MAINTENANCE_TYPE_CODES, NM1_QUALIFIERS, 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, 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, Remit835BuildError, 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, ServicesReview278BuildError, TA1_ACK_CODES, TA1_NOTE_CODES, VERSION, WARNING_CODES, X12BuildError, X12Decimal, X12ParseError, X12ProfileError, 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, 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, remitBalanceMismatch, resolveHiQualifier, segmentCountMismatch, serializeX12, setDefaultProfile, trailingGarbage, transactionCountMismatch, unescapeRelease, unexpectedSegment, unknown837Variant, unknownCarc, unknownClaimStatus, unknownClaimStatusCategory, unknownHiQualifier, unknownMaintenanceType, unknownRarc };
|
|
9594
9594
|
//# sourceMappingURL=index.mjs.map
|