@cosyte/x12 0.0.1 → 0.0.2

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/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 \u2014 X12 interchanges must start with ISA.",
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 \u2014 need ${String(ISA_MIN_LENGTH)} bytes including the segment terminator, got ${String(raw.length)}.`,
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)} \u2014 ISA element layout is not 005010-conformant.`,
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 \u2014 preserved verbatim on \`trailingBytes\`.`,
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 \u2014 input is truncated.",
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 \u2014 group is truncated.",
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 \u2014 transaction is truncated.",
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 \u2014 preserved verbatim.",
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 \u2014 ${context}; segment is preserved on the prior open container if any.`,
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}" \u2014 code is outside the bundled snapshot; verbatim value preserved, description unavailable.`,
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}" \u2014 code is outside the bundled snapshot; verbatim value preserved, description unavailable.`,
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 \u2014 parser preserves the declared pointer verbatim and NEVER silently re-numbers.`,
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}" \u2014 qualifier is outside the bundled HI_QUALIFIERS snapshot; verbatim qualifier + code preserved, codeSystem resolves to "unknown".`,
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 \u2014 ST-03 implementation convention reference "${safe}" is not one of "005010X222A2" / "X223A3" / "X224A2"; no SVx service-line segment was seen to fall back on.`,
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}" \u2014 code is outside the bundled snapshot; verbatim value preserved, description unavailable.`,
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}" \u2014 code is outside the bundled snapshot; verbatim value preserved, description unavailable.`,
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}" \u2014 INS-03/HD-01 code is outside the bundled snapshot; verbatim value preserved, action NOT inferred.`,
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 — call
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** — "not supplied" and "zero" are spec-distinct.
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` — `"0"`. Used as the additive identity
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 — silently lossy.
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" — exact, never 0.30000000000000004
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 \u2014 was it tampered with?");
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 \u2014 appeared inside an open functional group"
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) \u2014 x12.org/codes/claim-adjustment-reason-codes",
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) \u2014 codes are stable."
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 \u2014 codes are stable."
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) \u2014 refreshed on the Phase 10 release cadence, never at runtime."
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) \u2014 x12.org/codes/remittance-advice-remark-codes",
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) \u2014 payment-grouping code."
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) \u2014 date paired in HI-NN-4."
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) \u2014 date range in HI-NN-5/6."
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) \u2014 paired amount in HI-NN-5 as decimal."
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 — YYMMDD
2425
+ // ISA-09 - YYMMDD
2426
2426
  pad(envelope.interchangeTime, 4),
2427
- // ISA-10 — HHMM
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 — "HP"
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 — CCYYMMDD
2454
+ // GS-04 - CCYYMMDD
2455
2455
  groupTime,
2456
- // GS-05 — HHMM
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 — revenue code is SVC-05 in X221A1; SVC-04 unused
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 \u2014 Service Payment Information",
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 \u2014 Claim Payment Information",
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 \u2014 Header Number",
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 \u2014 Payer Identification",
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 \u2014 Payee Identification",
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 — so the
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 \u2014 Billing Provider Name",
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 \u2014 Subscriber Name",
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 \u2014 Payer Name",
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 \u2014 Patient Name",
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 \u2014 Drug Identification",
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 \u2014 Line Adjudication Information",
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 \u2014 Service Line (professional)",
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 \u2014 Service Line (institutional)",
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 \u2014 Service Line (dental)",
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 \u2014 Claim Information`,
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 \u2014 Patient Hierarchical Level`,
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 \u2014 Subscriber Hierarchical Level`,
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 \u2014 Billing Provider Hierarchical Level`,
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 \u2014 Submitter Name",
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 \u2014 Receiver Name",
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 \u2014 Eligibility or Benefit Information",
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 \u2014 Subscriber Name",
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 \u2014 Dependent Name",
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 \u2014 Information Source HL",
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 \u2014 Information Receiver HL",
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 \u2014 Subscriber HL",
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 \u2014 Dependent HL",
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 \u2014 Service Line Status Information",
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 \u2014 Claim Status Tracking",
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 \u2014 Information Source HL",
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 \u2014 Information Receiver HL",
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 \u2014 Service Provider HL",
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 \u2014 Subscriber HL",
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 \u2014 Dependent HL",
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 — YYMMDD
6640
+ // ISA-09 - YYMMDD
6641
6641
  pad5(envelope.interchangeTime, 4),
6642
- // ISA-10 — HHMM
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 — "RA"
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 — CCYYMMDD
6669
+ // GS-04 - CCYYMMDD
6670
6670
  groupTime,
6671
- // GS-05 — HHMM
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 — not read by get820Payments
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 \u2014 Organization Summary Remittance Adjustment",
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 \u2014 Organization Summary Remittance Detail",
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 \u2014 Party Name",
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 \u2014 Organization Summary Remittance",
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 \u2014 Premium Receiver's Name",
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 \u2014 Premium Payer's Name",
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 — YYMMDD
7324
+ // ISA-09 - YYMMDD
7325
7325
  pad6(envelope.interchangeTime, 4),
7326
- // ISA-10 — HHMM
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 — "BE"
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 — CCYYMMDD
7353
+ // GS-04 - CCYYMMDD
7354
7354
  groupTime,
7355
- // GS-05 — HHMM
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 — emitted verbatim
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 — person
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 — emitted verbatim
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 \u2014 Coordination of Benefits",
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 \u2014 Health Coverage",
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 \u2014 Member Name",
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 \u2014 Member Level Detail",
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 \u2014 Sponsor Name",
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 \u2014 Payer",
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 \u2014 Service HL",
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 \u2014 Patient Event HL",
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 \u2014 Dependent HL",
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 \u2014 Subscriber HL",
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 \u2014 Requester HL",
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 \u2014 Utilization Management Organization HL",
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 — Authorization Info Qualifier
8706
+ // ISA-01 - Authorization Info Qualifier
8707
8707
  pad8(" ", 10),
8708
- // ISA-02 — Authorization Info (blank when ISA-01 == "00")
8708
+ // ISA-02 - Authorization Info (blank when ISA-01 == "00")
8709
8709
  "00",
8710
- // ISA-03 — Security Info Qualifier
8710
+ // ISA-03 - Security Info Qualifier
8711
8711
  pad8(" ", 10),
8712
- // ISA-04 — Security Info (blank when ISA-03 == "00")
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 — YYMMDD
8722
+ // ISA-09 - YYMMDD
8723
8723
  pad8(envelope.interchangeTime, 4),
8724
- // ISA-10 — HHMM
8724
+ // ISA-10 - HHMM
8725
8725
  repetitionSeparator,
8726
- // ISA-11 — repetition separator
8726
+ // ISA-11 - repetition separator
8727
8727
  "00501",
8728
- // ISA-12 — interchange version
8728
+ // ISA-12 - interchange version
8729
8729
  interchangeControlNumber,
8730
8730
  // ISA-13
8731
8731
  "0",
8732
- // ISA-14 — ack requested (0 = no inbound TA1)
8732
+ // ISA-14 - ack requested (0 = no inbound TA1)
8733
8733
  usageIndicator,
8734
8734
  // ISA-15
8735
8735
  componentSeparator
8736
- // ISA-16 — component separator
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 — functional ID code "FA" for ack
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 — CCYYMMDD
8751
+ // GS-04 - CCYYMMDD
8752
8752
  groupTime,
8753
- // GS-05 — HHMM
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 — the 999 TR3
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 — YYMMDD
9200
+ // ISA-09 - YYMMDD
9201
9201
  pad9(spec.interchangeTime, 4),
9202
- // ISA-10 — HHMM
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 — ack requested (0 = no inbound TA1)
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)} \u2014 must be one of ${KNOWN_EFFECTS.join(" / ")}.`,
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' \u2014 a relative path under test/fixtures/ (e.g. "remit/835-availity-quirk.edi") demonstrating the deviation. No invented quirks. Received: ${JSON.stringify(q.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)} \u2014 must be a member of WARNING_CODES.`,
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 \u2014 payer-routed REF segment additions",
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 \u2014 payer-loop REF*2U routing identifier"
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 \u2014 service-line REF*F8 original reference"
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 \u2014 a documented starting point, not a complete plan-specific edit set",
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 \u2014 non-colon ISA-16 sub-element separator"
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.1";
9591
+ var VERSION = "0.0.2";
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