@cosyte/x12 0.0.8 → 0.0.10
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 +425 -0
- package/dist/index.cjs +420 -191
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +266 -7
- package/dist/index.d.ts +266 -7
- package/dist/index.mjs +417 -192
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -81,6 +81,9 @@ declare const WARNING_CODES: {
|
|
|
81
81
|
readonly X12_UNKNOWN_CLAIM_STATUS_CATEGORY: "X12_UNKNOWN_CLAIM_STATUS_CATEGORY";
|
|
82
82
|
readonly X12_UNKNOWN_CLAIM_STATUS: "X12_UNKNOWN_CLAIM_STATUS";
|
|
83
83
|
readonly X12_834_UNKNOWN_MAINTENANCE_TYPE: "X12_834_UNKNOWN_MAINTENANCE_TYPE";
|
|
84
|
+
readonly X12_UNPARSEABLE_DECIMAL: "X12_UNPARSEABLE_DECIMAL";
|
|
85
|
+
readonly X12_837_SERVICE_LINE_NOT_DECODED: "X12_837_SERVICE_LINE_NOT_DECODED";
|
|
86
|
+
readonly X12_837_SERVICE_LINE_DROPPED: "X12_837_SERVICE_LINE_DROPPED";
|
|
84
87
|
};
|
|
85
88
|
/**
|
|
86
89
|
* Discriminant type for `X12ParseWarning.code`. Narrowing a warning by this
|
|
@@ -566,6 +569,46 @@ declare function missingRequiredLoop(position: X12Position, loop: X12RequiredLoo
|
|
|
566
569
|
* ```
|
|
567
570
|
*/
|
|
568
571
|
declare function unknown837Variant(position: X12Position): X12ParseWarning;
|
|
572
|
+
/**
|
|
573
|
+
* Build an `X12_837_SERVICE_LINE_NOT_DECODED` warning. Emitted by the 837
|
|
574
|
+
* helper when a Loop 2400 service line is closed without ever having
|
|
575
|
+
* decoded an SV1 / SV2 / SV3 for the resolved variant: either the line
|
|
576
|
+
* carries no SVx at all, or it carries one belonging to a different 837
|
|
577
|
+
* variant than ST-03 (or the caller's `type` option) named. The line is
|
|
578
|
+
* still retained, and every segment stays verbatim on the transaction set,
|
|
579
|
+
* but the line's `charge` and `units` are the accumulator's seeded
|
|
580
|
+
* `X12Decimal.ZERO` rather than anything read off the wire. `position`
|
|
581
|
+
* names the LX segment that opened the line.
|
|
582
|
+
*
|
|
583
|
+
* @example
|
|
584
|
+
* ```ts
|
|
585
|
+
* import { serviceLineNotDecoded } from "@cosyte/x12";
|
|
586
|
+
* const w = serviceLineNotDecoded({ segmentIndex: 9, transactionIndex: 0 });
|
|
587
|
+
* ```
|
|
588
|
+
*/
|
|
589
|
+
declare function serviceLineNotDecoded(position: X12Position): X12ParseWarning;
|
|
590
|
+
/**
|
|
591
|
+
* Build an `X12_837_SERVICE_LINE_DROPPED` warning. Emitted by the 837
|
|
592
|
+
* helper when an LX opens no Loop 2400 at all, so the service line never
|
|
593
|
+
* reaches any claim's `serviceLines`: either no CLM is open at that point
|
|
594
|
+
* in the walk, or the submission's variant is not one of `P` / `I` / `D`
|
|
595
|
+
* and there is no variant-specific line shape to build. That second cause
|
|
596
|
+
* is reachable WITHOUT `X12_837_UNKNOWN_VARIANT`, because a caller-supplied
|
|
597
|
+
* `opts.type` outside the union (from JavaScript or a JSON payload) is a
|
|
598
|
+
* variant this reader never resolved and never warned about. Distinct from
|
|
599
|
+
* {@link serviceLineNotDecoded}, where the line IS retained and only its
|
|
600
|
+
* service segment went unread. `position` names the LX itself - the same
|
|
601
|
+
* anchor, for the same reason: it is the one segment present in every
|
|
602
|
+
* case. Nothing is fabricated to stand in, and the segments stay verbatim
|
|
603
|
+
* on the transaction set.
|
|
604
|
+
*
|
|
605
|
+
* @example
|
|
606
|
+
* ```ts
|
|
607
|
+
* import { serviceLineDropped } from "@cosyte/x12";
|
|
608
|
+
* const w = serviceLineDropped({ segmentIndex: 7, transactionIndex: 0 });
|
|
609
|
+
* ```
|
|
610
|
+
*/
|
|
611
|
+
declare function serviceLineDropped(position: X12Position): X12ParseWarning;
|
|
569
612
|
/**
|
|
570
613
|
* Build an `X12_UNKNOWN_CLAIM_STATUS_CATEGORY` warning. Emitted by the 277
|
|
571
614
|
* / 277CA helpers when an STC composite's Claim Status Category Code
|
|
@@ -610,6 +653,35 @@ declare function unknownClaimStatus(position: X12Position): X12ParseWarning;
|
|
|
610
653
|
* ```
|
|
611
654
|
*/
|
|
612
655
|
declare function unknownMaintenanceType(position: X12Position): X12ParseWarning;
|
|
656
|
+
/**
|
|
657
|
+
* Build an `X12_UNPARSEABLE_DECIMAL` warning. Emitted whenever an element
|
|
658
|
+
* read as a decimal held bytes that are NOT empty and do not match the shape
|
|
659
|
+
* {@link "../decimal.js".X12Decimal} decodes, `[+-]?digits(.digits?)?` - a
|
|
660
|
+
* thousands separator, a currency symbol, `N/A`, two decimal points, a
|
|
661
|
+
* trailing sign, and so on. That shape is what this library reads, stated as
|
|
662
|
+
* such: no clause of X12.6 is cited for it here, so do not read the code as
|
|
663
|
+
* an assertion about what type R does and does not permit.
|
|
664
|
+
*
|
|
665
|
+
* The warning is a property of the READ, not of what the caller does with
|
|
666
|
+
* the result: it fires whether the decoded slot ends up on the model, is
|
|
667
|
+
* discarded, or is replaced by a stand-in. That is what makes it countable
|
|
668
|
+
* against the input rather than against the walker's control flow.
|
|
669
|
+
*
|
|
670
|
+
* `position.elementIndex` is the 1-indexed element that failed, so a
|
|
671
|
+
* consumer can go read the verbatim bytes off the segment. The message
|
|
672
|
+
* takes NO discriminant and deliberately does not name which stand-in
|
|
673
|
+
* landed: a reader may put `X12Decimal.ZERO` on a slot typed `X12Decimal`,
|
|
674
|
+
* leave an optional slot `undefined`, or drop the row entirely, and the one
|
|
675
|
+
* thing true of all three is that the number now in that slot is not the
|
|
676
|
+
* sender's. Read the model field itself to see which happened.
|
|
677
|
+
*
|
|
678
|
+
* @example
|
|
679
|
+
* ```ts
|
|
680
|
+
* import { unparseableDecimal } from "@cosyte/x12";
|
|
681
|
+
* const w = unparseableDecimal({ segmentIndex: 3, transactionIndex: 0, elementIndex: 2 });
|
|
682
|
+
* ```
|
|
683
|
+
*/
|
|
684
|
+
declare function unparseableDecimal(position: X12Position): X12ParseWarning;
|
|
613
685
|
|
|
614
686
|
/**
|
|
615
687
|
* Type definitions for the `@cosyte/x12` profile subsystem (Phase 9).
|
|
@@ -1184,30 +1256,127 @@ declare function elementOptional(seg: X12Segment, n: number, delimiters: Delimit
|
|
|
1184
1256
|
* ```
|
|
1185
1257
|
*/
|
|
1186
1258
|
declare function componentOptional(seg: X12Segment, n: number, p: number, delimiters: Delimiters): string | undefined;
|
|
1259
|
+
/**
|
|
1260
|
+
* Why a decimal read produced no {@link X12Decimal}, or that it produced
|
|
1261
|
+
* one. The three states are spec-distinct and were previously collapsed
|
|
1262
|
+
* onto a single `undefined`:
|
|
1263
|
+
*
|
|
1264
|
+
* - `"decoded"` - the element matched the shape {@link "../decimal.js".X12Decimal}
|
|
1265
|
+
* decodes, `[+-]?digits(.digits?)?`.
|
|
1266
|
+
* - `"absent"` - the element was missing or empty. The sender said nothing.
|
|
1267
|
+
* - `"unparseable"` - the element held bytes outside that shape. The sender
|
|
1268
|
+
* said something and this library could not read it, which is a materially
|
|
1269
|
+
* different fact from `"absent"`. **That shape is what this library reads;
|
|
1270
|
+
* no clause of X12.6 is cited for it, so do not read this as an assertion
|
|
1271
|
+
* about what type R does and does not permit.**
|
|
1272
|
+
*
|
|
1273
|
+
* @example
|
|
1274
|
+
* ```ts
|
|
1275
|
+
* import type { X12DecimalStatus } from "@cosyte/x12";
|
|
1276
|
+
* const status: X12DecimalStatus = "unparseable";
|
|
1277
|
+
* ```
|
|
1278
|
+
*/
|
|
1279
|
+
type X12DecimalStatus = "decoded" | "absent" | "unparseable";
|
|
1280
|
+
/**
|
|
1281
|
+
* The tri-state result of {@link readElementDecimal}: the decoded value
|
|
1282
|
+
* (when there is one) alongside the reason there is not.
|
|
1283
|
+
*
|
|
1284
|
+
* @example
|
|
1285
|
+
* ```ts
|
|
1286
|
+
* import { readElementDecimal } from "@cosyte/x12";
|
|
1287
|
+
* const read = readElementDecimal(seg, 2, delim);
|
|
1288
|
+
* if (read.status === "unparseable") {
|
|
1289
|
+
* // the element was PRESENT and did not decode - do not read it as absent
|
|
1290
|
+
* }
|
|
1291
|
+
* ```
|
|
1292
|
+
*/
|
|
1293
|
+
interface X12DecimalRead {
|
|
1294
|
+
/** The decoded decimal, or `undefined` for both non-`"decoded"` states. */
|
|
1295
|
+
readonly value: X12Decimal | undefined;
|
|
1296
|
+
/** Which of the three spec-distinct outcomes this read hit. */
|
|
1297
|
+
readonly status: X12DecimalStatus;
|
|
1298
|
+
}
|
|
1299
|
+
/**
|
|
1300
|
+
* Where {@link elementDecimal} / {@link elementDecimalOrZero} put an
|
|
1301
|
+
* `X12_UNPARSEABLE_DECIMAL` warning, and the segment-level position it is
|
|
1302
|
+
* anchored to. The helpers add the failing `elementIndex` themselves, so a
|
|
1303
|
+
* caller passes the position of the SEGMENT it is decoding and never has to
|
|
1304
|
+
* remember to narrow it per element.
|
|
1305
|
+
*
|
|
1306
|
+
* @example
|
|
1307
|
+
* ```ts
|
|
1308
|
+
* import { elementDecimalOrZero, type X12DecimalWarningSink } from "@cosyte/x12";
|
|
1309
|
+
* const sink: X12DecimalWarningSink = { warnings, position: { segmentIndex: 3 } };
|
|
1310
|
+
* elementDecimalOrZero(seg, 2, delim, sink);
|
|
1311
|
+
* ```
|
|
1312
|
+
*/
|
|
1313
|
+
interface X12DecimalWarningSink {
|
|
1314
|
+
/** The walker's warning accumulator. Appended to, never read. */
|
|
1315
|
+
readonly warnings: X12ParseWarning[];
|
|
1316
|
+
/** Position of the segment being decoded; `elementIndex` is supplied by the helper. */
|
|
1317
|
+
readonly position: X12Position;
|
|
1318
|
+
}
|
|
1319
|
+
/**
|
|
1320
|
+
* Read element N (1-indexed) as an {@link X12Decimal} and say WHY when
|
|
1321
|
+
* there is no value. This is the chokepoint every decimal read in the
|
|
1322
|
+
* library goes through, and the only surface that distinguishes an element
|
|
1323
|
+
* the sender omitted from one this library could not decode.
|
|
1324
|
+
*
|
|
1325
|
+
* Pure: it never warns and never throws. {@link elementDecimal} and
|
|
1326
|
+
* {@link elementDecimalOrZero} wrap it and add the diagnostic.
|
|
1327
|
+
*
|
|
1328
|
+
* @example
|
|
1329
|
+
* ```ts
|
|
1330
|
+
* import { readElementDecimal } from "@cosyte/x12";
|
|
1331
|
+
* readElementDecimal(seg, 2, delim); // { value: undefined, status: "unparseable" }
|
|
1332
|
+
* ```
|
|
1333
|
+
*/
|
|
1334
|
+
declare function readElementDecimal(seg: X12Segment, n: number, delimiters: Delimiters): X12DecimalRead;
|
|
1187
1335
|
/**
|
|
1188
1336
|
* Read element N (1-indexed) as an {@link X12Decimal}, or `undefined`
|
|
1189
1337
|
* when absent / empty / malformed. The walker discipline for every
|
|
1190
1338
|
* monetary or quantity field - NEVER `parseFloat`.
|
|
1191
1339
|
*
|
|
1340
|
+
* **`undefined` here means "not decoded", not "absent."** When `sink` is
|
|
1341
|
+
* supplied, a PRESENT element that does not decode emits
|
|
1342
|
+
* `X12_UNPARSEABLE_DECIMAL` carrying `elementIndex: n`, so the two cases are
|
|
1343
|
+
* told apart on the warning channel. Without a sink the ambiguity is
|
|
1344
|
+
* silent, which is why every reader in this library passes one; use
|
|
1345
|
+
* {@link readElementDecimal} when you want the distinction in-band instead.
|
|
1346
|
+
* An ABSENT element returns `undefined` and does NOT warn.
|
|
1347
|
+
*
|
|
1192
1348
|
* @example
|
|
1193
1349
|
* ```ts
|
|
1194
1350
|
* import { elementDecimal } from "@cosyte/x12";
|
|
1195
1351
|
* elementDecimal(seg, 2, delim)?.toString(); // BPR-02 verbatim decimal
|
|
1196
1352
|
* ```
|
|
1197
1353
|
*/
|
|
1198
|
-
declare function elementDecimal(seg: X12Segment, n: number, delimiters: Delimiters): X12Decimal | undefined;
|
|
1354
|
+
declare function elementDecimal(seg: X12Segment, n: number, delimiters: Delimiters, sink?: X12DecimalWarningSink): X12Decimal | undefined;
|
|
1199
1355
|
/**
|
|
1200
1356
|
* Read element N (1-indexed) as an {@link X12Decimal}, defaulting to
|
|
1201
1357
|
* `X12Decimal.ZERO` when absent. Convenient for fields the walker treats
|
|
1202
1358
|
* as "missing means zero" (charge totals, etc.).
|
|
1203
1359
|
*
|
|
1360
|
+
* **The `0` this returns for a PRESENT-but-unparseable element is a
|
|
1361
|
+
* stand-in, not a reading.** A slot typed `X12Decimal` cannot express
|
|
1362
|
+
* "did not decode", so a consumer looking only at the model cannot tell
|
|
1363
|
+
* that `0` from a `0` the sender sent: on a paid amount that is a fabricated
|
|
1364
|
+
* amount presented as read. When `sink` is supplied the case emits
|
|
1365
|
+
* `X12_UNPARSEABLE_DECIMAL`, which is the only signal that distinguishes
|
|
1366
|
+
* them. Pass one, or use {@link readElementDecimal} and decide for
|
|
1367
|
+
* yourself.
|
|
1368
|
+
*
|
|
1369
|
+
* An ABSENT element still returns `X12Decimal.ZERO` and does NOT warn: that
|
|
1370
|
+
* is the documented "missing means zero" convention of the slots that use
|
|
1371
|
+
* this helper, and it is unchanged.
|
|
1372
|
+
*
|
|
1204
1373
|
* @example
|
|
1205
1374
|
* ```ts
|
|
1206
1375
|
* import { elementDecimalOrZero } from "@cosyte/x12";
|
|
1207
1376
|
* elementDecimalOrZero(seg, 2, delim).toString();
|
|
1208
1377
|
* ```
|
|
1209
1378
|
*/
|
|
1210
|
-
declare function elementDecimalOrZero(seg: X12Segment, n: number, delimiters: Delimiters): X12Decimal;
|
|
1379
|
+
declare function elementDecimalOrZero(seg: X12Segment, n: number, delimiters: Delimiters, sink?: X12DecimalWarningSink): X12Decimal;
|
|
1211
1380
|
/**
|
|
1212
1381
|
* Collect non-empty element values across the 1-indexed inclusive range
|
|
1213
1382
|
* `[start, end]`. Returns a new array preserving order, omitting empty /
|
|
@@ -2002,12 +2171,37 @@ declare function unescapeRelease(input: string, delimiters: Delimiters, emit: (w
|
|
|
2002
2171
|
* delimiters (or the release character itself) is preceded by `?`; other
|
|
2003
2172
|
* bytes pass through verbatim. The companion to {@link unescapeRelease}.
|
|
2004
2173
|
*
|
|
2174
|
+
* **Throws `TypeError` on a non-string, and the previous behaviour was the
|
|
2175
|
+
* defect.** This function is declared over `string`, but a JavaScript or
|
|
2176
|
+
* JSON-driven caller is not held to that. Reading `value.length` gave three
|
|
2177
|
+
* different wrong answers depending on what arrived: a `number`, a `boolean`
|
|
2178
|
+
* or a plain object has no `.length`, so `undefined === 0` was false, `i <
|
|
2179
|
+
* undefined` was false, and the function **returned the empty accumulator** -
|
|
2180
|
+
* the value vanished with no error and no warning; `null` and `undefined` threw
|
|
2181
|
+
* on the property read; an array or an array-like threw on `charAt`. The silent
|
|
2182
|
+
* one was by far the worst: `build835` emitted `CLP**1*500.00*…` with
|
|
2183
|
+
* `warnings.length === 0`, dropping the CLP-01 reassociation key TR3
|
|
2184
|
+
* 005010X221A1 requires. All three now terminate the same way.
|
|
2185
|
+
*
|
|
2186
|
+
* `TypeError` and not a code-tagged library error is deliberate, and it is not
|
|
2187
|
+
* the untyped-refusal defect this package has fixed elsewhere. This is a pure
|
|
2188
|
+
* text utility with no spec, no element and no caller context to name, so
|
|
2189
|
+
* `TypeError` is the accurate answer for a wrong-typed argument. **Nothing
|
|
2190
|
+
* inside this library can reach it**: all nine builders route every element
|
|
2191
|
+
* through `src/builder/caller-string.ts`, which refuses first with the calling
|
|
2192
|
+
* builder's own typed, code-tagged error. This throw is the backstop for a
|
|
2193
|
+
* consumer calling the export directly, where the alternative was silent data
|
|
2194
|
+
* loss.
|
|
2195
|
+
*
|
|
2196
|
+
* @throws TypeError if `value` is not a string
|
|
2197
|
+
*
|
|
2005
2198
|
* @example
|
|
2006
2199
|
* ```ts
|
|
2007
2200
|
* import { escapeRelease } from "@cosyte/x12";
|
|
2008
2201
|
* const d = { element: "*", repetition: "^", component: ":", segment: "~" };
|
|
2009
2202
|
* escapeRelease("ab~cd*ef:gh", d); // "ab?~cd?*ef?:gh"
|
|
2010
2203
|
* escapeRelease("a?b", d); // "a??b"
|
|
2204
|
+
* escapeRelease(1 as unknown as string, d); // TypeError (was "")
|
|
2011
2205
|
* ```
|
|
2012
2206
|
*/
|
|
2013
2207
|
declare function escapeRelease(value: string, delimiters: Delimiters): string;
|
|
@@ -3318,6 +3512,16 @@ interface X12RemitRemark {
|
|
|
3318
3512
|
* code. The qualifier governs interpretation - **misreading it picks
|
|
3319
3513
|
* the wrong code system** and corrupts the clinical context.
|
|
3320
3514
|
*
|
|
3515
|
+
* X221A1 is reported to default an absent SVC-05 to one (secondhand, via
|
|
3516
|
+
* X12's RFI #2163 - this library has not read the TR3). This reader does
|
|
3517
|
+
* **not** apply that default, because fabricating a count the sender did not
|
|
3518
|
+
* send is inventing data. Apply it yourself if you want it.
|
|
3519
|
+
*
|
|
3520
|
+
* **`undefined` on either quantity means "not decoded", not "absent".** The
|
|
3521
|
+
* element may have been missing, or present and unparseable as a decimal -
|
|
3522
|
+
* the two are not distinguished here and neither raises a warning. Read the
|
|
3523
|
+
* verbatim element off `tx.segments` if you need to tell them apart.
|
|
3524
|
+
*
|
|
3321
3525
|
* @example
|
|
3322
3526
|
* ```ts
|
|
3323
3527
|
* import type { X12RemitServiceLine } from "@cosyte/x12";
|
|
@@ -3334,8 +3538,16 @@ interface X12RemitServiceLine {
|
|
|
3334
3538
|
readonly modifiers: readonly string[];
|
|
3335
3539
|
readonly chargeAmount: X12Decimal;
|
|
3336
3540
|
readonly paymentAmount: X12Decimal;
|
|
3541
|
+
/** SVC-04 - NUBC revenue code. Absent on a professional line. */
|
|
3337
3542
|
readonly revenueCode: string | undefined;
|
|
3543
|
+
/** SVC-05 - Units of Service Paid Count: what the payer adjudicated. */
|
|
3338
3544
|
readonly paidUnitsOfService: X12Decimal | undefined;
|
|
3545
|
+
/**
|
|
3546
|
+
* SVC-07 - Original Units of Service Count: the units as SUBMITTED. Sent
|
|
3547
|
+
* only when they differ from the paid count in SVC-05, so `undefined` here
|
|
3548
|
+
* does NOT mean zero submitted units - it means "same as paid".
|
|
3549
|
+
*/
|
|
3550
|
+
readonly originalUnitsOfService: X12Decimal | undefined;
|
|
3339
3551
|
readonly originalServiceId: string | undefined;
|
|
3340
3552
|
readonly originalServiceIdQualifier: string | undefined;
|
|
3341
3553
|
readonly serviceDateStart: string | undefined;
|
|
@@ -3790,10 +4002,19 @@ interface Build835ServiceLineSpec {
|
|
|
3790
4002
|
readonly chargeAmount: X12Decimal;
|
|
3791
4003
|
/** SVC-03 - line item provider payment amount. */
|
|
3792
4004
|
readonly paymentAmount: X12Decimal;
|
|
3793
|
-
/** SVC-
|
|
4005
|
+
/** SVC-04 - NUBC revenue code (institutional). */
|
|
3794
4006
|
readonly revenueCode?: string;
|
|
3795
|
-
/**
|
|
4007
|
+
/**
|
|
4008
|
+
* SVC-05 - Units of Service Paid Count. The count the payer actually
|
|
4009
|
+
* adjudicated. Distinct from {@link Build835ServiceLineSpec.originalUnitsOfService},
|
|
4010
|
+
* which is what was submitted.
|
|
4011
|
+
*/
|
|
3796
4012
|
readonly paidUnitsOfService?: X12Decimal;
|
|
4013
|
+
/**
|
|
4014
|
+
* SVC-07 - Original Units of Service Count: the units as SUBMITTED, sent
|
|
4015
|
+
* only when they differ from the paid count in SVC-05.
|
|
4016
|
+
*/
|
|
4017
|
+
readonly originalUnitsOfService?: X12Decimal;
|
|
3797
4018
|
/** SVC-06-2 - original (submitted) product/service ID. */
|
|
3798
4019
|
readonly originalServiceId?: string;
|
|
3799
4020
|
/** SVC-06-1 - original product/service ID qualifier. */
|
|
@@ -7525,6 +7746,19 @@ interface X12ServiceLineStatus {
|
|
|
7525
7746
|
readonly lineChargeAmount: X12Decimal | undefined;
|
|
7526
7747
|
readonly linePaymentAmount: X12Decimal | undefined;
|
|
7527
7748
|
readonly revenueCode: string | undefined;
|
|
7749
|
+
/**
|
|
7750
|
+
* SVC-07, data element 380 (Quantity). Named "Units of Service Count" by
|
|
7751
|
+
* TR3 `005010X212` and "Original Units of Service Count" by `005010X214`;
|
|
7752
|
+
* the same element in the same position either way, so one field serves
|
|
7753
|
+
* both and the walker never has to know which TR3 it is reading.
|
|
7754
|
+
*
|
|
7755
|
+
* SVC-05 is NOT USED in both TR3s, so unlike the 835 there is no second,
|
|
7756
|
+
* paid quantity to tell this one apart from. `undefined` means **not
|
|
7757
|
+
* decoded**, not "the sender sent zero": an absent element and a present
|
|
7758
|
+
* one that is not an X12 R-type decimal share it, and only the latter
|
|
7759
|
+
* raises `X12_UNPARSEABLE_DECIMAL` at `position.elementIndex` 7.
|
|
7760
|
+
*/
|
|
7761
|
+
readonly unitsOfService: X12Decimal | undefined;
|
|
7528
7762
|
readonly statuses: readonly X12StatusInfo[];
|
|
7529
7763
|
readonly references: readonly X12StatusReference[];
|
|
7530
7764
|
readonly dates: readonly X12StatusDate[];
|
|
@@ -7862,6 +8096,8 @@ interface Build277DateSpec {
|
|
|
7862
8096
|
* const l: Build277ServiceLineSpec = {
|
|
7863
8097
|
* serviceIdQualifier: "HC", procedureCode: "99213", modifiers: ["25"],
|
|
7864
8098
|
* lineChargeAmount: X12Decimal.fromString("150.00")!,
|
|
8099
|
+
* // SVC-07 is required in 005010X212, so `build277` refuses a line without it.
|
|
8100
|
+
* unitsOfService: X12Decimal.fromString("1")!,
|
|
7865
8101
|
* statuses: [{ statuses: [{ categoryCode: "F2", statusCode: "65" }] }],
|
|
7866
8102
|
* };
|
|
7867
8103
|
* ```
|
|
@@ -7879,6 +8115,19 @@ interface Build277ServiceLineSpec {
|
|
|
7879
8115
|
readonly linePaymentAmount?: X12Decimal;
|
|
7880
8116
|
/** SVC-04 - revenue code. */
|
|
7881
8117
|
readonly revenueCode?: string;
|
|
8118
|
+
/**
|
|
8119
|
+
* SVC-07 - units of service count (data element 380).
|
|
8120
|
+
*
|
|
8121
|
+
* **Usage differs by TR3 and so does the builder.** In `005010X212` the
|
|
8122
|
+
* element is REQUIRED, so {@link "./build-277.js".build277} REFUSES a
|
|
8123
|
+
* service line that omits it rather than emit a document short a required
|
|
8124
|
+
* element. In `005010X214` it is SITUATIONAL, so
|
|
8125
|
+
* {@link "./build-277.js".build277CA} emits it when supplied and omits it
|
|
8126
|
+
* otherwise. Nothing is ever defaulted: a count the caller did not supply
|
|
8127
|
+
* is a count nobody sent, and inventing one would put a quantity on the
|
|
8128
|
+
* wire that no submitter stands behind.
|
|
8129
|
+
*/
|
|
8130
|
+
readonly unitsOfService?: X12Decimal;
|
|
7882
8131
|
/** Loop 2220 STC statuses. */
|
|
7883
8132
|
readonly statuses?: readonly Build277StatusSpec[];
|
|
7884
8133
|
/** Loop 2220 REF identifiers. */
|
|
@@ -8071,6 +8320,13 @@ interface Build277Spec {
|
|
|
8071
8320
|
* inconsistent hierarchy is therefore unrepresentable, and the SE-01
|
|
8072
8321
|
* segment count is correct by construction.
|
|
8073
8322
|
*
|
|
8323
|
+
* The two variants do NOT share every element usage, and the builder
|
|
8324
|
+
* follows the TR3 rather than a single house rule: SVC-07, the units of
|
|
8325
|
+
* service count, is REQUIRED in `005010X212` and SITUATIONAL in
|
|
8326
|
+
* `005010X214`, so `build277` refuses a service line that omits it and
|
|
8327
|
+
* `build277CA` emits the same line happily. A count is never defaulted in
|
|
8328
|
+
* either direction.
|
|
8329
|
+
*
|
|
8074
8330
|
* The read side ({@link "./get-277.js".get277Status}) is lenient - a real
|
|
8075
8331
|
* 277 with a broken HL parent pointer is WARNED, never rejected. The builder
|
|
8076
8332
|
* takes the opposite stance: it REFUSES rather than emit a hierarchy a
|
|
@@ -8168,8 +8424,11 @@ declare function build277CA(spec: Build277Spec): X12Interchange;
|
|
|
8168
8424
|
* structural indices + counts only - never a member id / name.
|
|
8169
8425
|
* - `X12_277_BUILD_INVALID_SPEC` - a non-hierarchy precondition failed (a
|
|
8170
8426
|
* claim that would not materialize on read - no trace, no statuses, no
|
|
8171
|
-
* service lines; a status whose first composite has no category code;
|
|
8172
|
-
*
|
|
8427
|
+
* service lines; a status whose first composite has no category code; a
|
|
8428
|
+
* service line with no SVC-07 units of service count, which `005010X212`
|
|
8429
|
+
* makes REQUIRED and `005010X214` does not, so this arm fires for
|
|
8430
|
+
* `build277` and never for `build277CA`; an over-long ISA-13 control
|
|
8431
|
+
* number).
|
|
8173
8432
|
*
|
|
8174
8433
|
* @example
|
|
8175
8434
|
* ```ts
|
|
@@ -13006,4 +13265,4 @@ declare const profiles: {
|
|
|
13006
13265
|
*/
|
|
13007
13266
|
declare const VERSION: string;
|
|
13008
13267
|
|
|
13009
|
-
export { ACK_BUILD_ERROR_CODES, ALL_WARNING_MESSAGES, AUTH_278_BUILD_ERROR_CODES, AUTH_278_LOOP_2000A, AUTH_278_LOOP_2000B, AUTH_278_LOOP_2000C, AUTH_278_LOOP_2000D, AUTH_278_LOOP_2000E, AUTH_278_LOOP_2000F, AckBuildError, type AckBuildErrorCode, BALANCE_INVARIANTS, BUILD_REFUSAL_VALUE_MAX_LENGTH, BUILD_REFUSAL_VALUE_MAX_RENDERED, type Build271AddressSpec, type Build271BenefitSpec, type Build271DateSpec, type Build271DependentSpec, type Build271EntitySpec, type Build271EnvelopeSpec, type Build271InformationReceiverSpec, type Build271InformationSourceSpec, type Build271MemberSpec, type Build271ReferenceSpec, type Build271ServiceTypeSpec, type Build271Spec, type Build271SubscriberSpec, type Build271TraceSpec, type Build277ClaimSpec, type Build277DateSpec, type Build277DependentSpec, type Build277EntitySpec, type Build277EnvelopeSpec, type Build277InformationReceiverSpec, type Build277InformationSourceSpec, type Build277MemberSpec, type Build277ProviderSpec, type Build277ReferenceSpec, type Build277ServiceLineSpec, type Build277Spec, type Build277StatusCodeSpec, type Build277StatusSpec, type Build277SubscriberSpec, type Build277TraceSpec, type Build278DateSpec, type Build278DecisionSpec, type Build278DependentSpec, type Build278DiagnosisSpec, type Build278EntitySpec, type Build278EnvelopeSpec, type Build278HeaderSpec, type Build278MemberSpec, type Build278ReferenceSpec, type Build278ReviewSpec, type Build278Spec, type Build278SubscriberSpec, type Build278TraceSpec, type Build820AddressSpec, type Build820AdjustmentSpec, type Build820DateSpec, type Build820EntitySpec, type Build820EnvelopeSpec, type Build820OpenItemSpec, type Build820PartySpec, type Build820PaymentSpec, type Build820PersonSpec, type Build820ReferenceSpec, type Build820RemittanceSpec, type Build820Spec, type Build820TraceSpec, type Build834AddressSpec, type Build834AmountSpec, type Build834CoordinationOfBenefitsSpec, type Build834CoverageSpec, type Build834DateSpec, type Build834EnvelopeSpec, type Build834HeaderSpec, type Build834MemberNameSpec, type Build834MemberSpec, type Build834PartySpec, type Build834ReferenceSpec, type Build834Spec, type Build835AddressSpec, type Build835AdjustmentSpec, type Build835AmountSpec, type Build835ClaimSpec, type Build835ContactSpec, type Build835EnvelopeSpec, type Build835PartySpec, type Build835PaymentSpec, type Build835PersonSpec, type Build835ProviderAdjustmentSpec, type Build835ProviderSpec, type Build835ReferenceSpec, type Build835RemarkSpec, type Build835ServiceLineSpec, type Build835Spec, type Build835TraceSpec, type Build837AddressSpec, type Build837AdjudicationSpec, type Build837AdjustmentSpec, type Build837AmountSpec, type Build837BillingProviderSpec, type Build837ClaimSpec, type Build837ContactSpec, type Build837DateSpec, type Build837DrugSpec, type Build837EntitySpec, type Build837EnvelopeSpec, type Build837HiCodeSpec, type Build837NoteSpec, type Build837OtherSubscriberSpec, type Build837PatientSpec, type Build837ReferenceSpec, type Build837ServiceLineBaseSpec, type Build837ServiceLineDentalSpec, type Build837ServiceLineInstitutionalSpec, type Build837ServiceLineProfessionalSpec, type Build837ServiceLineSpec, type Build837Spec, type Build837SubscriberInfoSpec, type Build837SubscriberSpec, type Build837ToothSpec, type Build999ElementErrorSpec, type Build999EnvelopeSpec, type Build999FunctionalGroupSpec, type Build999SegmentErrorSpec, type Build999Spec, type Build999TransactionResponseSpec, type BuildTA1Options, type BuildTA1Spec, CARC, CLAIM_837D_LOOP_2000A, CLAIM_837D_LOOP_2300, CLAIM_837D_LOOP_2400, CLAIM_837I_LOOP_2000A, CLAIM_837I_LOOP_2300, CLAIM_837I_LOOP_2400, CLAIM_837P_LOOP_2000A, CLAIM_837P_LOOP_2300, CLAIM_837P_LOOP_2400, CLAIM_837P_LOOP_2410, CLAIM_837_BUILD_ERROR_CODES, CLAIM_837_LOOP_1000A, CLAIM_837_LOOP_1000B, CLAIM_837_LOOP_2010AA, CLAIM_837_LOOP_2010BA, CLAIM_837_LOOP_2010BB, CLAIM_837_LOOP_2010CA, CLAIM_837_LOOP_2430, CLAIM_ADJUSTMENT_GROUP_CODES, CLAIM_STATUS_277_BUILD_ERROR_CODES, CLAIM_STATUS_CATEGORY_CODES, CLAIM_STATUS_CODES, CLP_STATUS, CONTROL_NUMBER_PAIRS, Claim837BuildError, type Claim837BuildErrorCode, type ClaimAdjustmentGroupCode, ClaimStatus277BuildError, type ClaimStatus277BuildErrorCode, type CodeListEntry, type CodeListMeta, type CodeListSnapshot, DELIMITER_POSITIONS, type DefineLoopSpecInput, type Delimiters, ELIGIBILITY_271_BUILD_ERROR_CODES, ELIGIBILITY_271_LOOP_2000A, ELIGIBILITY_271_LOOP_2000B, ELIGIBILITY_271_LOOP_2000C, ELIGIBILITY_271_LOOP_2000D, ELIGIBILITY_271_LOOP_2100C, ELIGIBILITY_271_LOOP_2100D, ELIGIBILITY_271_LOOP_2110, ENROLLMENT_834_BUILD_ERROR_CODES, ENROLLMENT_834_LOOP_1000A, ENROLLMENT_834_LOOP_1000B, ENROLLMENT_834_LOOP_2000, ENROLLMENT_834_LOOP_2100A, ENROLLMENT_834_LOOP_2300, ENROLLMENT_834_LOOP_2320, Eligibility271BuildError, type Eligibility271BuildErrorCode, Enrollment834BuildError, type Enrollment834BuildErrorCode, FATAL_CODES, type FunctionalGroupSpec, type GeSegment, type GsSegment, HI_QUALIFIERS, HL_LEVEL_CODES, IK3_SYNTAX_ERROR_CODES, IK4_SYNTAX_ERROR_CODES, ISA_MIN_LENGTH, type IeaSegment, type Ik304Code, type Ik403Code, type InterchangeSpec, type IsaSegment, type LoopMax, type LoopSegmentSpec, type LoopSpec, LoopSpecDefinitionError, type LoopUsage, MAINTENANCE_TYPE_CODES, NM1_QUALIFIERS, NON_SPEC_SEGMENT_ID, type OnWarningCallback, PREMIUM_820_BUILD_ERROR_CODES, PREMIUM_820_LOOP_1000A, PREMIUM_820_LOOP_1000B, PREMIUM_820_LOOP_2000A, PREMIUM_820_LOOP_2100A, PREMIUM_820_LOOP_2300A, PREMIUM_820_LOOP_2310A, Premium820BuildError, type Premium820BuildErrorCode, RARC, RELEASE_CHAR, REMIT_835_BUILD_ERROR_CODES, REMIT_835_LOOP_1000A, REMIT_835_LOOP_1000B, REMIT_835_LOOP_2000, REMIT_835_LOOP_2100, REMIT_835_LOOP_2110, REQUIRED_LOOPS, Remit835BuildError, type Remit835BuildErrorCode, SERVICE_TYPE_CODES, STATUS_277_LOOP_2000A, STATUS_277_LOOP_2000B, STATUS_277_LOOP_2000C, STATUS_277_LOOP_2000D, STATUS_277_LOOP_2000E, STATUS_277_LOOP_2200, STATUS_277_LOOP_2220, type SegmentSpec, type SerializeOptions, ServicesReview278BuildError, type ServicesReview278BuildErrorCode, TA1_ACK_CODES, TA1_NOTE_CODES, type Ta1AckCode, type Ta1NoteCode, type Ta1Segment, type TransactionSetSpec, UNEXPECTED_SEGMENT_CONTEXTS, VERSION, WARNING_CODES, type X12Ack999, type X12Ack999Ak1, type X12Ack999Ak2, type X12Ack999Ak9, type X12Ack999ElementNote, type X12Ack999Ik3, type X12Ack999Ik4, type X12Ack999Ik4Position, type X12Ack999Ik5, type X12Ack999SegmentNote, type X12Ack999TransactionResponse, type X12AckDispositionCode, type X12AckTA1, type X12AuthDate, type X12AuthDiagnosis, type X12AuthEntity, type X12AuthHeader, type X12AuthMember, type X12AuthReference, type X12AuthTrace, type X12BalanceInvariant, X12BuildError, type X12BuildErrorCode, type X12Claim, type X12Claim837Variant, type X12ClaimAddress, type X12ClaimAmount, type X12ClaimContact, type X12ClaimDate, type X12ClaimEntity, type X12ClaimHiCode, type X12ClaimMember, type X12ClaimNote, type X12ClaimReference, type X12ClaimStatus, type X12ClaimStatusResponse, type X12ControlNumberPair, type X12CoordinationOfBenefits, X12Decimal, type X12Eligibility, type X12EligibilityAddress, type X12EligibilityBenefit, type X12EligibilityDate, type X12EligibilityDependent, type X12EligibilityEntity, type X12EligibilityMember, type X12EligibilityReference, type X12EligibilityServiceType, type X12EligibilitySubscriber, type X12EligibilityTrace, type X12Enrollment, type X12EnrollmentAddress, type X12EnrollmentAmount, type X12EnrollmentDate, type X12EnrollmentHeader, type X12EnrollmentMember, type X12EnrollmentParty, type X12EnrollmentReference, type X12FatalCode, type X12FunctionalGroup, type X12HealthCoverage, type X12HiCategory, type X12HiCodeSystem, type X12HiQualifier, type X12HierarchicalLevel, type X12Hl, type X12Interchange, type X12LineAdjudication, type X12LineDrug, type X12OrphanAnchor, type X12OrphanAnchorKind, type X12OrphanSegment, type X12OtherSubscriber, X12ParseError, type X12ParseOptions, type X12ParseWarning, type X12Position, type X12PremiumAddress, type X12PremiumAdjustment, type X12PremiumDate, type X12PremiumEntity, type X12PremiumOpenItem, type X12PremiumParty, type X12PremiumPaymentHeader, type X12PremiumPayments, type X12PremiumPerson, type X12PremiumReference, type X12PremiumRemittance, type X12PremiumTrace, type X12Profile, type X12ProfileDescription, type X12ProfileEffect, X12ProfileError, type X12ProfileQuirk, type X12ProfileSpec, type X12RemitAddress, type X12RemitAdjustment, type X12RemitAmount, type X12RemitClaim, type X12RemitContact, type X12RemitParty, type X12RemitPaymentHeader, type X12RemitPerson, type X12RemitProvider, type X12RemitProviderAdjustment, type X12RemitReference, type X12RemitRemark, type X12RemitServiceLine, type X12RemitTrace, type X12Remittance, type X12RequiredLoop, type X12ReviewDecision, type X12Segment, type X12ServiceLineStatus, type X12ServiceReview, type X12ServicesReview, type X12StatusCode, type X12StatusDate, type X12StatusEntity, type X12StatusInfo, type X12StatusMember, type X12StatusReference, type X12StatusTrace, type X12SubscriberInfo, type X12ToothInformation, type X12TransactionSet, type X12UnexpectedSegmentContext, type X12WarningCode, type X12WarningPartition, type X12_837ServiceLine, type X12_837ServiceLineDental, type X12_837ServiceLineInstitutional, type X12_837ServiceLineProfessional, type X12_837Submission, X12_ACK_DISPOSITION_CODES, X12_BUILD_ERROR_CODES, build271, build277, build277CA, build278Request, build278Response, build820, build834, build835, build837D, build837I, build837P, build999, buildInterchange, buildTA1, checkClaimBalance, checkRemitTotalBalance, checkServiceLineBalance, collectElementValues, componentOptional, controlNumberMismatch, danglingReleaseChar, decodeSegment, defineLoopSpec, defineProfile, detectDelimiters, elementDecimal, elementDecimalOrZero, elementOptional, elementValue, 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, renderCallerValue, resolveHiQualifier, segmentCountMismatch, serializeX12, setDefaultProfile, trailingGarbage, transactionCountMismatch, unescapeRelease, unexpectedSegment, unknown837Variant, unknownCarc, unknownClaimStatus, unknownClaimStatusCategory, unknownHiQualifier, unknownMaintenanceType, unknownRarc };
|
|
13268
|
+
export { ACK_BUILD_ERROR_CODES, ALL_WARNING_MESSAGES, AUTH_278_BUILD_ERROR_CODES, AUTH_278_LOOP_2000A, AUTH_278_LOOP_2000B, AUTH_278_LOOP_2000C, AUTH_278_LOOP_2000D, AUTH_278_LOOP_2000E, AUTH_278_LOOP_2000F, AckBuildError, type AckBuildErrorCode, BALANCE_INVARIANTS, BUILD_REFUSAL_VALUE_MAX_LENGTH, BUILD_REFUSAL_VALUE_MAX_RENDERED, type Build271AddressSpec, type Build271BenefitSpec, type Build271DateSpec, type Build271DependentSpec, type Build271EntitySpec, type Build271EnvelopeSpec, type Build271InformationReceiverSpec, type Build271InformationSourceSpec, type Build271MemberSpec, type Build271ReferenceSpec, type Build271ServiceTypeSpec, type Build271Spec, type Build271SubscriberSpec, type Build271TraceSpec, type Build277ClaimSpec, type Build277DateSpec, type Build277DependentSpec, type Build277EntitySpec, type Build277EnvelopeSpec, type Build277InformationReceiverSpec, type Build277InformationSourceSpec, type Build277MemberSpec, type Build277ProviderSpec, type Build277ReferenceSpec, type Build277ServiceLineSpec, type Build277Spec, type Build277StatusCodeSpec, type Build277StatusSpec, type Build277SubscriberSpec, type Build277TraceSpec, type Build278DateSpec, type Build278DecisionSpec, type Build278DependentSpec, type Build278DiagnosisSpec, type Build278EntitySpec, type Build278EnvelopeSpec, type Build278HeaderSpec, type Build278MemberSpec, type Build278ReferenceSpec, type Build278ReviewSpec, type Build278Spec, type Build278SubscriberSpec, type Build278TraceSpec, type Build820AddressSpec, type Build820AdjustmentSpec, type Build820DateSpec, type Build820EntitySpec, type Build820EnvelopeSpec, type Build820OpenItemSpec, type Build820PartySpec, type Build820PaymentSpec, type Build820PersonSpec, type Build820ReferenceSpec, type Build820RemittanceSpec, type Build820Spec, type Build820TraceSpec, type Build834AddressSpec, type Build834AmountSpec, type Build834CoordinationOfBenefitsSpec, type Build834CoverageSpec, type Build834DateSpec, type Build834EnvelopeSpec, type Build834HeaderSpec, type Build834MemberNameSpec, type Build834MemberSpec, type Build834PartySpec, type Build834ReferenceSpec, type Build834Spec, type Build835AddressSpec, type Build835AdjustmentSpec, type Build835AmountSpec, type Build835ClaimSpec, type Build835ContactSpec, type Build835EnvelopeSpec, type Build835PartySpec, type Build835PaymentSpec, type Build835PersonSpec, type Build835ProviderAdjustmentSpec, type Build835ProviderSpec, type Build835ReferenceSpec, type Build835RemarkSpec, type Build835ServiceLineSpec, type Build835Spec, type Build835TraceSpec, type Build837AddressSpec, type Build837AdjudicationSpec, type Build837AdjustmentSpec, type Build837AmountSpec, type Build837BillingProviderSpec, type Build837ClaimSpec, type Build837ContactSpec, type Build837DateSpec, type Build837DrugSpec, type Build837EntitySpec, type Build837EnvelopeSpec, type Build837HiCodeSpec, type Build837NoteSpec, type Build837OtherSubscriberSpec, type Build837PatientSpec, type Build837ReferenceSpec, type Build837ServiceLineBaseSpec, type Build837ServiceLineDentalSpec, type Build837ServiceLineInstitutionalSpec, type Build837ServiceLineProfessionalSpec, type Build837ServiceLineSpec, type Build837Spec, type Build837SubscriberInfoSpec, type Build837SubscriberSpec, type Build837ToothSpec, type Build999ElementErrorSpec, type Build999EnvelopeSpec, type Build999FunctionalGroupSpec, type Build999SegmentErrorSpec, type Build999Spec, type Build999TransactionResponseSpec, type BuildTA1Options, type BuildTA1Spec, CARC, CLAIM_837D_LOOP_2000A, CLAIM_837D_LOOP_2300, CLAIM_837D_LOOP_2400, CLAIM_837I_LOOP_2000A, CLAIM_837I_LOOP_2300, CLAIM_837I_LOOP_2400, CLAIM_837P_LOOP_2000A, CLAIM_837P_LOOP_2300, CLAIM_837P_LOOP_2400, CLAIM_837P_LOOP_2410, CLAIM_837_BUILD_ERROR_CODES, CLAIM_837_LOOP_1000A, CLAIM_837_LOOP_1000B, CLAIM_837_LOOP_2010AA, CLAIM_837_LOOP_2010BA, CLAIM_837_LOOP_2010BB, CLAIM_837_LOOP_2010CA, CLAIM_837_LOOP_2430, CLAIM_ADJUSTMENT_GROUP_CODES, CLAIM_STATUS_277_BUILD_ERROR_CODES, CLAIM_STATUS_CATEGORY_CODES, CLAIM_STATUS_CODES, CLP_STATUS, CONTROL_NUMBER_PAIRS, Claim837BuildError, type Claim837BuildErrorCode, type ClaimAdjustmentGroupCode, ClaimStatus277BuildError, type ClaimStatus277BuildErrorCode, type CodeListEntry, type CodeListMeta, type CodeListSnapshot, DELIMITER_POSITIONS, type DefineLoopSpecInput, type Delimiters, ELIGIBILITY_271_BUILD_ERROR_CODES, ELIGIBILITY_271_LOOP_2000A, ELIGIBILITY_271_LOOP_2000B, ELIGIBILITY_271_LOOP_2000C, ELIGIBILITY_271_LOOP_2000D, ELIGIBILITY_271_LOOP_2100C, ELIGIBILITY_271_LOOP_2100D, ELIGIBILITY_271_LOOP_2110, ENROLLMENT_834_BUILD_ERROR_CODES, ENROLLMENT_834_LOOP_1000A, ENROLLMENT_834_LOOP_1000B, ENROLLMENT_834_LOOP_2000, ENROLLMENT_834_LOOP_2100A, ENROLLMENT_834_LOOP_2300, ENROLLMENT_834_LOOP_2320, Eligibility271BuildError, type Eligibility271BuildErrorCode, Enrollment834BuildError, type Enrollment834BuildErrorCode, FATAL_CODES, type FunctionalGroupSpec, type GeSegment, type GsSegment, HI_QUALIFIERS, HL_LEVEL_CODES, IK3_SYNTAX_ERROR_CODES, IK4_SYNTAX_ERROR_CODES, ISA_MIN_LENGTH, type IeaSegment, type Ik304Code, type Ik403Code, type InterchangeSpec, type IsaSegment, type LoopMax, type LoopSegmentSpec, type LoopSpec, LoopSpecDefinitionError, type LoopUsage, MAINTENANCE_TYPE_CODES, NM1_QUALIFIERS, NON_SPEC_SEGMENT_ID, type OnWarningCallback, PREMIUM_820_BUILD_ERROR_CODES, PREMIUM_820_LOOP_1000A, PREMIUM_820_LOOP_1000B, PREMIUM_820_LOOP_2000A, PREMIUM_820_LOOP_2100A, PREMIUM_820_LOOP_2300A, PREMIUM_820_LOOP_2310A, Premium820BuildError, type Premium820BuildErrorCode, RARC, RELEASE_CHAR, REMIT_835_BUILD_ERROR_CODES, REMIT_835_LOOP_1000A, REMIT_835_LOOP_1000B, REMIT_835_LOOP_2000, REMIT_835_LOOP_2100, REMIT_835_LOOP_2110, REQUIRED_LOOPS, Remit835BuildError, type Remit835BuildErrorCode, SERVICE_TYPE_CODES, STATUS_277_LOOP_2000A, STATUS_277_LOOP_2000B, STATUS_277_LOOP_2000C, STATUS_277_LOOP_2000D, STATUS_277_LOOP_2000E, STATUS_277_LOOP_2200, STATUS_277_LOOP_2220, type SegmentSpec, type SerializeOptions, ServicesReview278BuildError, type ServicesReview278BuildErrorCode, TA1_ACK_CODES, TA1_NOTE_CODES, type Ta1AckCode, type Ta1NoteCode, type Ta1Segment, type TransactionSetSpec, UNEXPECTED_SEGMENT_CONTEXTS, VERSION, WARNING_CODES, type X12Ack999, type X12Ack999Ak1, type X12Ack999Ak2, type X12Ack999Ak9, type X12Ack999ElementNote, type X12Ack999Ik3, type X12Ack999Ik4, type X12Ack999Ik4Position, type X12Ack999Ik5, type X12Ack999SegmentNote, type X12Ack999TransactionResponse, type X12AckDispositionCode, type X12AckTA1, type X12AuthDate, type X12AuthDiagnosis, type X12AuthEntity, type X12AuthHeader, type X12AuthMember, type X12AuthReference, type X12AuthTrace, type X12BalanceInvariant, X12BuildError, type X12BuildErrorCode, type X12Claim, type X12Claim837Variant, type X12ClaimAddress, type X12ClaimAmount, type X12ClaimContact, type X12ClaimDate, type X12ClaimEntity, type X12ClaimHiCode, type X12ClaimMember, type X12ClaimNote, type X12ClaimReference, type X12ClaimStatus, type X12ClaimStatusResponse, type X12ControlNumberPair, type X12CoordinationOfBenefits, X12Decimal, type X12DecimalRead, type X12DecimalStatus, type X12DecimalWarningSink, type X12Eligibility, type X12EligibilityAddress, type X12EligibilityBenefit, type X12EligibilityDate, type X12EligibilityDependent, type X12EligibilityEntity, type X12EligibilityMember, type X12EligibilityReference, type X12EligibilityServiceType, type X12EligibilitySubscriber, type X12EligibilityTrace, type X12Enrollment, type X12EnrollmentAddress, type X12EnrollmentAmount, type X12EnrollmentDate, type X12EnrollmentHeader, type X12EnrollmentMember, type X12EnrollmentParty, type X12EnrollmentReference, type X12FatalCode, type X12FunctionalGroup, type X12HealthCoverage, type X12HiCategory, type X12HiCodeSystem, type X12HiQualifier, type X12HierarchicalLevel, type X12Hl, type X12Interchange, type X12LineAdjudication, type X12LineDrug, type X12OrphanAnchor, type X12OrphanAnchorKind, type X12OrphanSegment, type X12OtherSubscriber, X12ParseError, type X12ParseOptions, type X12ParseWarning, type X12Position, type X12PremiumAddress, type X12PremiumAdjustment, type X12PremiumDate, type X12PremiumEntity, type X12PremiumOpenItem, type X12PremiumParty, type X12PremiumPaymentHeader, type X12PremiumPayments, type X12PremiumPerson, type X12PremiumReference, type X12PremiumRemittance, type X12PremiumTrace, type X12Profile, type X12ProfileDescription, type X12ProfileEffect, X12ProfileError, type X12ProfileQuirk, type X12ProfileSpec, type X12RemitAddress, type X12RemitAdjustment, type X12RemitAmount, type X12RemitClaim, type X12RemitContact, type X12RemitParty, type X12RemitPaymentHeader, type X12RemitPerson, type X12RemitProvider, type X12RemitProviderAdjustment, type X12RemitReference, type X12RemitRemark, type X12RemitServiceLine, type X12RemitTrace, type X12Remittance, type X12RequiredLoop, type X12ReviewDecision, type X12Segment, type X12ServiceLineStatus, type X12ServiceReview, type X12ServicesReview, type X12StatusCode, type X12StatusDate, type X12StatusEntity, type X12StatusInfo, type X12StatusMember, type X12StatusReference, type X12StatusTrace, type X12SubscriberInfo, type X12ToothInformation, type X12TransactionSet, type X12UnexpectedSegmentContext, type X12WarningCode, type X12WarningPartition, type X12_837ServiceLine, type X12_837ServiceLineDental, type X12_837ServiceLineInstitutional, type X12_837ServiceLineProfessional, type X12_837Submission, X12_ACK_DISPOSITION_CODES, X12_BUILD_ERROR_CODES, build271, build277, build277CA, build278Request, build278Response, build820, build834, build835, build837D, build837I, build837P, build999, buildInterchange, buildTA1, checkClaimBalance, checkRemitTotalBalance, checkServiceLineBalance, collectElementValues, componentOptional, controlNumberMismatch, danglingReleaseChar, decodeSegment, defineLoopSpec, defineProfile, detectDelimiters, elementDecimal, elementDecimalOrZero, elementOptional, elementValue, escapeRelease, get271Eligibility, get277CADisposition, get277Status, get278Request, get278Response, get820Payments, get834Enrollments, get834Header, get835, get837Claims, getAllSegmentValues, getDefaultProfile, getSegmentValue, groupCountMismatch, hlParentLevelInvalid, hlParentMismatch, isAcceptDisposition, isClaimAdjustmentGroupCode, isDiagnosisQualifier, isProcedureQualifier, lookupCarc, lookupClaimStatus, lookupClaimStatusCategory, lookupClpStatus, lookupMaintenanceType, lookupRarc, lookupServiceType, missingGe, missingIea, missingRequiredLoop, missingSe, parse999, parseTA1, parseX12, partitionWarnings, pre005010, profiles, readElementDecimal, remitBalanceMismatch, renderCallerValue, resolveHiQualifier, segmentCountMismatch, serializeX12, serviceLineDropped, serviceLineNotDecoded, setDefaultProfile, trailingGarbage, transactionCountMismatch, unescapeRelease, unexpectedSegment, unknown837Variant, unknownCarc, unknownClaimStatus, unknownClaimStatusCategory, unknownHiQualifier, unknownMaintenanceType, unknownRarc, unparseableDecimal };
|