hl7-tstd 0.1.0 → 0.2.0

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/README.md CHANGED
@@ -2,107 +2,325 @@
2
2
 
3
3
  A simple package to create, parse & transform HL7 message.
4
4
 
5
- ```js
6
- import HL7 from 'hl7-tstd';
5
+ ```typescript
6
+ import HL7, { Segment } from 'hl7-tstd';
7
7
 
8
- const hl7 = new HL7(raw);
8
+ const hl7 = new HL7(raw); // raw: raw HL7 message string
9
9
  ```
10
10
 
11
- _cjs support under development._
11
+ _Segment_ is only a typescript type.
12
+
13
+ ### parseOptions
14
+
15
+ Additional configs for hl7 parsing and building.
16
+
17
+ | Parameter | Default Value | Expected |
18
+ | :------------- | :-----------: | :-----------------------------------: |
19
+ | fieldDelim | `\|` | `string` |
20
+ | repeatingDelim | `~` | `string` |
21
+ | componentDelim | `^` | `string` |
22
+ | subCompDelim | `\&` | `string` |
23
+ | eolDelim | `\r?\n\|\r` | `\r?\n\|\r` \| `\r\n` \| `\n` \| `\r` |
24
+ | buildEolChar | `\r\n` | `string` |
12
25
 
13
26
  ## API References
14
27
 
15
28
  <details id="get">
16
29
  <summary><code>get</code></summary>
17
30
 
18
- _Documentation under progress._
31
+ Gets the value from a segment.
32
+
33
+ | Parameter | Type | Requirement |
34
+ | :---------------- | :------: | :----------: |
35
+ | field | `string` | **Required** |
36
+ | repeatingIndex | `number` | Default: 0 |
37
+ | subComponentIndex | `number` | Default: 0 |
38
+
39
+ Return: `string` | `null`
40
+
41
+ ```typescript
42
+ const zyxSegment = hl7.getSegment('ZYX');
43
+
44
+ zyxSegment?.get('ZYX.5.2', 1, 2);
45
+ ```
46
+
47
+ ### Examples
48
+
49
+ ```
50
+ ZYX|1|A|B|C|Repeat1~Component1^Component2~SubComp1&SubComp2^Component2~Repeat3
51
+ ```
52
+
53
+ ```typescript
54
+ // Get entire segment
55
+ zyxSegment.get('ZYX'); // ZYX|1|A|B|C|Repeat1~Component1^Component2~SubComp1&SubComp2^Component2~Repeat3
56
+
57
+ // Get repeating fields
58
+ zyxSegment.get('ZYX.5'); // Repeat1
59
+ zyxSegment.get('ZYX.5', 2); // SubComp1&SubComp2^Component2
60
+ zyxSegment.get('ZYX.5', -1); // Repeat1~Component1^Component2~SubComp1&SubComp2^Component2~Repeat3
61
+
62
+ // Get component
63
+ zyxSegment.get('ZYX.5.1', 1); // Component1
64
+
65
+ // Get subcomponent
66
+ zyxSegment.get('ZYX.5.1', 2); // SubComp1
67
+ zyxSegment.get('ZYX.5.1', 2, 1); // SubComp2
68
+ zyxSegment.get('ZYX.5.1', 2, -1); // SubComp1&SubComp2
69
+ ```
19
70
 
20
71
  </details>
21
72
 
22
73
  <details id="set">
23
74
  <summary><code>set</code></summary>
24
75
 
25
- _Documentation under progress._
76
+ Sets the value of on a segment.
77
+
78
+ | Parameter | Type | Requirement |
79
+ | :---------------- | :------: | :----------: |
80
+ | field | `string` | **Required** |
81
+ | value | `string` | **Required** |
82
+ | repeatingIndex | `number` | Default: 0 |
83
+ | subComponentIndex | `number` | Default: 0 |
84
+
85
+ ```typescript
86
+ const zyxSegment = hl7.getSegment('ZYX');
87
+
88
+ zyxSegment?.set('ZYX.5.2', 'ABCD', 1, 2); // ZYX|||||~^&&ABCD
89
+ ```
26
90
 
27
91
  </details>
28
92
 
29
93
  <details id="getSegment">
30
94
  <summary><code>getSegment</code></summary>
31
95
 
32
- _Documentation under progress._
96
+ Returns the first Segment matching the _type_ param or else null.
97
+
98
+ | Parameter | Type | Requirement |
99
+ | :-------- | :------: | :----------: |
100
+ | type | `string` | **Required** |
101
+
102
+ Return: `Segment` | `null`
103
+
104
+ ```typescript
105
+ const pidSegment = hl7.getSegment('PID');
106
+
107
+ pidSegment?.set('PID.5', 'PAT_NAME');
108
+ ```
33
109
 
34
110
  </details>
35
111
 
36
112
  <details id="getSegments">
37
113
  <summary><code>getSegments</code></summary>
38
114
 
39
- _Documentation under progress._
115
+ Returns an array of Segments matching the _type_ parameter, if provided; otherwise, returns an array of all Segments.
116
+
117
+ | Parameter | Type | Requirement |
118
+ | :-------- | :------: | :---------: |
119
+ | type | `string` | Optional |
120
+
121
+ Return: `Segment[]`
122
+
123
+ ```typescript
124
+ const obrSegments = hl7.getSegments('OBX');
125
+
126
+ for (const obrSegment of obrSegments) {
127
+ obrSegment.get('OBR.4');
128
+ }
129
+ ```
40
130
 
41
131
  </details>
42
132
 
43
133
  <details id="getSegmentsAfter">
44
134
  <summary><code>getSegmentsAfter</code></summary>
45
135
 
46
- _Documentation under progress._
136
+ Returns an array of Segments matching the _type_, starting from the _startSegment_ until encountering a segment listed in _stopSegmentType_.
137
+ Setting _consecutive_ as `true` will return first set consecutive of matching Segments.
138
+
139
+ | Parameter | Type | Requirement |
140
+ | :-------------- | :--------: | :------------: |
141
+ | startSegment | `Segment` | **Required** |
142
+ | type | `string` | **Required** |
143
+ | stopSegmentType | `string[]` | Optional |
144
+ | consecutive | `boolean` | Default: false |
145
+
146
+ Return: `Segment[]`
147
+
148
+ ```typescript
149
+ const obrSegment = hl7.getSegment('OBX');
150
+
151
+ const obxAfterObr = hl7.getSegmentsAfter(obrSegment!, 'OBX', ['OBR']);
152
+ ```
47
153
 
48
154
  </details>
49
155
 
50
156
  <details id="createSegment">
51
157
  <summary><code>createSegment</code></summary>
52
158
 
53
- _Documentation under progress._
159
+ Created a new segment of given _type_ and appends it at the end of existing segments.
160
+
161
+ | Parameter | Type | Requirement |
162
+ | :-------- | :------: | :----------: |
163
+ | type | `string` | **Required** |
164
+
165
+ Return: `Segment`
166
+
167
+ ```typescript
168
+ const nteSegment = hl7.createSegment('NTE');
169
+ ```
54
170
 
55
171
  </details>
56
172
 
57
173
  <details id="createSegmentAfter">
58
174
  <summary><code>createSegmentAfter</code></summary>
59
175
 
60
- _Documentation under progress._
176
+ Created a new segment of given _type_ and inserts it after _targetSegment_ segment.
177
+
178
+ | Parameter | Type | Requirement |
179
+ | :------------ | :-------: | :----------: |
180
+ | type | `string` | **Required** |
181
+ | targetSegment | `Segment` | **Required** |
182
+
183
+ Return: `Segment`
184
+
185
+ ```typescript
186
+ for (const obxSegment of hl7.getSegments('OBX')) {
187
+ const nteSegment = hl7.createSegmentAfter('NTE', obxSegment);
188
+
189
+ nteSegment.set('NTE.3', 'Notes');
190
+ }
191
+ ```
61
192
 
62
193
  </details>
63
194
 
64
195
  <details id="createSegmentBefore">
65
196
  <summary><code>createSegmentBefore</code></summary>
66
197
 
67
- _Documentation under progress._
198
+ Created a new segment of given _type_ and inserts it before _targetSegment_ segment.
199
+
200
+ | Parameter | Type | Requirement |
201
+ | :------------ | :-------: | :----------: |
202
+ | type | `string` | **Required** |
203
+ | targetSegment | `Segment` | **Required** |
204
+
205
+ Return: `Segment`
206
+
207
+ ```typescript
208
+ for (const obxSegment of hl7.getSegments('OBX')) {
209
+ const nteSegment = hl7.createSegmentBefore('NTE', obxSegment);
210
+
211
+ nteSegment.set('NTE.3', 'Notes');
212
+ }
213
+ ```
68
214
 
69
215
  </details>
70
216
 
71
217
  <details id="deleteSegment">
72
218
  <summary><code>deleteSegment</code></summary>
73
219
 
74
- _Documentation under progress._
220
+ Deletes an existing _segment_ if found.
221
+
222
+ | Parameter | Type | Requirement |
223
+ | :-------- | :-------: | :----------: |
224
+ | segment | `Segment` | **Required** |
225
+
226
+ ```typescript
227
+ const nteSegment = hl7.getSegment('NTE');
228
+
229
+ if (nteSegment) hl7.deleteSegment(nteSegment);
230
+ ```
75
231
 
76
232
  </details>
77
233
 
78
234
  <details id="deleteSegments">
79
235
  <summary><code>deleteSegments</code></summary>
80
236
 
81
- _Documentation under progress._
237
+ Deletes all existing _segments_ if found.
238
+
239
+ | Parameter | Type | Requirement |
240
+ | :-------- | :---------: | :----------: |
241
+ | segments | `Segment[]` | **Required** |
242
+
243
+ ```typescript
244
+ const nteSegments = hl7.getSegments('NTE');
245
+
246
+ hl7.deleteSegments(nteSegments);
247
+ ```
82
248
 
83
249
  </details>
84
250
 
85
251
  <details id="moveSegmentAfter">
86
252
  <summary><code>moveSegmentAfter</code></summary>
87
253
 
88
- _Documentation under progress._
254
+ Moves _segment_ after _targetSegment_.
255
+
256
+ | Parameter | Type | Requirement |
257
+ | :------------ | :-----: | :----------: |
258
+ | segment | Segment | **Required** |
259
+ | targetSegment | Segment | **Required** |
89
260
 
90
261
  </details>
91
262
 
92
263
  <details id="moveSegmentBefore">
93
264
  <summary><code>moveSegmentBefore</code></summary>
94
265
 
95
- _Documentation under progress._
266
+ Moves _segment_ before _targetSegment_.
267
+
268
+ | Parameter | Type | Requirement |
269
+ | :------------ | :-----: | :----------: |
270
+ | segment | Segment | **Required** |
271
+ | targetSegment | Segment | **Required** |
96
272
 
97
273
  </details>
98
274
 
99
275
  <details id="reindexSegments">
100
276
  <summary><code>reindexSegments</code></summary>
101
277
 
102
- _Documentation under progress._
278
+ Reindexes segments based on _resetRules_.
279
+
280
+ | Parameter | Type | Requirement |
281
+ | :--------- | :----: | :------------: |
282
+ | resetRules | object | **Required** |
283
+ | startIndex | number | Default: 1 |
284
+ | field | string | Default: '1.1' |
285
+
286
+ **resetRule**
287
+
288
+ An object where each **key** is a **segment type** and its **value** is an array of **segment types**.
289
+ The index of segment types specified in the keys will be set, and it will reset based on the segment types listed in its object value array.
290
+
291
+ **field**
292
+ Segment field where index will be set. Defaults to '1.1'.
293
+
294
+ Example:
295
+
296
+ ```typescript
297
+ hl7.reindexSegments({ OBR: [], OBX: ['OBR'], NTE: ['OBR', 'OBX'] });
298
+ ```
299
+
300
+ Here,
301
+
302
+ - NTE segments will have index restarting from 1 after each OBR or OBX segment is encountered.
303
+ - OBR segments will have index starting from one and incrementing since no reset segments were provided.
304
+
305
+ > _Note:_ `reindexSegments` sets the segment index value. This doesn't move the segments by itself.
103
306
 
104
307
  </details>
105
308
 
309
+ <details id="transform">
310
+ <summary><code>transform</code> 💀 </summary>
311
+
312
+ > ⚠️ **Deprecated**: This method is triggered internally and doesn't need to be invoked manually.
313
+
314
+ Transforms the raw HL7 message suitable for manipulation and building.
315
+
316
+ ```typescript
317
+ hl7.transform(); // depricated
318
+ ```
319
+
320
+ </details>
321
+
322
+ ---
323
+
106
324
  ### Attribution
107
325
 
108
326
  This project includes code inspired from [hl7-standard](https://github.com/ironbridgecorp/hl7-standard), licensed under the Apache License 2.0.
package/dist/index.d.ts CHANGED
@@ -1,3 +1,6 @@
1
+ type Prettify<T> = {
2
+ [K in keyof T]: T[K];
3
+ } & {};
1
4
  type TSegmentType = 'DG1' | 'EVN' | 'GT1' | 'IN1' | 'MSH' | 'NK1' | 'NTE' | 'OBR' | 'OBX' | 'ORC' | 'PID' | 'PR1' | 'PV1' | 'PV2' | (string & {});
2
5
  type TSegmentData = Record<string, Array<Record<string, Array<string>>>>;
3
6
  type TParseOptions = {
@@ -12,7 +15,7 @@ declare class Segment {
12
15
  readonly type: TSegmentType;
13
16
  data: TSegmentData | null;
14
17
  private parseOptions;
15
- constructor(type: TSegmentType, data?: TSegmentData | null, parseOptions?: Omit<TParseOptions, 'eolDelim' | 'buildEolChar'>);
18
+ constructor(type: TSegmentType, data?: TSegmentData | null, parseOptions?: Prettify<Omit<TParseOptions, 'eolDelim' | 'buildEolChar'>>);
16
19
  get(field: string, repeatingIndex?: number, subComponentIndex?: number): string | null;
17
20
  set(field: string, value: string, repeatingIndex?: number, subComponentIndex?: number): void;
18
21
  }
@@ -21,22 +24,23 @@ declare class HL7 {
21
24
  parseOptions: TParseOptions;
22
25
  private head;
23
26
  private tail;
24
- constructor(hl7Msg: string, parseOptions?: Partial<TParseOptions>);
27
+ constructor(hl7Msg: string, parseOptions?: Prettify<Partial<TParseOptions>>);
28
+ /**
29
+ * @deprecated This method is triggered internally and doesnt need to be invoked manually.
30
+ */
25
31
  transform(): void;
26
32
  build(): string;
27
33
  getSegment(type: TSegmentType): Segment | null;
28
34
  getSegments(type?: TSegmentType): Segment[];
29
- getSegmentsAfter(startSegment: Segment, type: TSegmentType, stopSegmentType: TSegmentType[], consecutive?: boolean): Segment[];
35
+ getSegmentsAfter(startSegment: Segment, type: TSegmentType, stopSegmentType?: TSegmentType[], consecutive?: boolean): Segment[];
30
36
  createSegment(type: TSegmentType): Segment;
31
37
  createSegmentAfter(type: TSegmentType, targetSegment: Segment): Segment;
32
- createSegmentBefore(type: string, targetSegment: Segment): Segment;
38
+ createSegmentBefore(type: TSegmentType, targetSegment: Segment): Segment;
33
39
  deleteSegment(segment: Segment): void;
34
40
  deleteSegments(segments: Segment[]): void;
35
41
  moveSegmentAfter(segment: Segment, targetSegment: Segment): void;
36
42
  moveSegmentBefore(segment: Segment, targetSegment: Segment): void;
37
- reindexSegments(resetRules: {
38
- [k in Exclude<TSegmentType, 'MSH'>]?: TSegmentType[];
39
- }, field?: string): void;
43
+ reindexSegments(resetRules: Record<TSegmentType, TSegmentType[]>, startIndex?: number, field?: string): void;
40
44
  private getNode;
41
45
  private appendSegmentNode;
42
46
  private prependSegmentNode;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,KAAK,YAAY,GACb,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAEzE,KAAK,aAAa,GAAG;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAC5C,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;CACpC,CAAC;AAUF,cAAM,OAAO;aAIO,IAAI,EAAE,YAAY;IAC3B,IAAI,EAAE,YAAY,GAAG,IAAI;IAJlC,OAAO,CAAC,YAAY,CAAmD;gBAGrD,IAAI,EAAE,YAAY,EAC3B,IAAI,GAAE,YAAY,GAAG,IAAW,EACvC,YAAY,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,UAAU,GAAG,cAAc,CAAC;IAUjE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,GAAE,MAAU,EAAE,iBAAiB,GAAE,MAAU;IAkG5E,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,GAAE,MAAU,EAAE,iBAAiB,GAAE,MAAU;CAqE5F;AAED,cAAM,GAAG;IACP,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,aAAa,CAAC;IAC5B,OAAO,CAAC,IAAI,CAA8B;IAC1C,OAAO,CAAC,IAAI,CAA8B;gBAE9B,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IAcjE,SAAS;IAkDT,KAAK;IA+BL,UAAU,CAAC,IAAI,EAAE,YAAY;IAgB7B,WAAW,CAAC,IAAI,CAAC,EAAE,YAAY;IAqB/B,gBAAgB,CACd,YAAY,EAAE,OAAO,EACrB,IAAI,EAAE,YAAY,EAClB,eAAe,EAAE,YAAY,EAAE,EAC/B,WAAW,GAAE,OAAe;IA0B9B,aAAa,CAAC,IAAI,EAAE,YAAY;IAMhC,kBAAkB,CAAC,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO;IAQ7D,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO;IAQxD,aAAa,CAAC,OAAO,EAAE,OAAO;IAO9B,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE;IAqBlC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO;IA0BzD,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO;IA0B1D,eAAe,CACb,UAAU,EAAE;SAAG,CAAC,IAAI,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE;KAAE,EACpE,KAAK,SAAQ;IAgCf,OAAO,CAAC,OAAO;IAkBf,OAAO,CAAC,iBAAiB;IAkCzB,OAAO,CAAC,kBAAkB;CAsB3B;AAED,YAAY,EAAE,OAAO,EAAE,CAAC;AACxB,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,KAAK,QAAQ,CAAC,CAAC,IAAI;KAChB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACrB,GAAG,EAAE,CAAC;AAEP,KAAK,YAAY,GACb,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAEzE,KAAK,aAAa,GAAG;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAC5C,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;CACpC,CAAC;AAUF,cAAM,OAAO;aAIO,IAAI,EAAE,YAAY;IAC3B,IAAI,EAAE,YAAY,GAAG,IAAI;IAJlC,OAAO,CAAC,YAAY,CAA6D;gBAG/D,IAAI,EAAE,YAAY,EAC3B,IAAI,GAAE,YAAY,GAAG,IAAW,EACvC,YAAY,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,GAAG,cAAc,CAAC,CAAC;IAU3E,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,SAAI,EAAE,iBAAiB,SAAI;IA6E5D,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,SAAI,EAAE,iBAAiB,SAAI;CA0D5E;AAED,cAAM,GAAG;IACP,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,aAAa,CAAC;IAC5B,OAAO,CAAC,IAAI,CAA8B;IAC1C,OAAO,CAAC,IAAI,CAA8B;gBAE9B,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAc3E;;OAEG;IACH,SAAS;IAkDT,KAAK;IA+BL,UAAU,CAAC,IAAI,EAAE,YAAY;IAc7B,WAAW,CAAC,IAAI,CAAC,EAAE,YAAY;IAmB/B,gBAAgB,CACd,YAAY,EAAE,OAAO,EACrB,IAAI,EAAE,YAAY,EAClB,eAAe,GAAE,YAAY,EAAO,EACpC,WAAW,UAAQ;IA6BrB,aAAa,CAAC,IAAI,EAAE,YAAY;IAMhC,kBAAkB,CAAC,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO;IAQ7D,mBAAmB,CAAC,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO;IAQ9D,aAAa,CAAC,OAAO,EAAE,OAAO;IAM9B,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE;IAqBlC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO;IA4BzD,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO;IA4B1D,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,CAAC,EAAE,UAAU,SAAI,EAAE,KAAK,SAAQ;IAkC/F,OAAO,CAAC,OAAO;IAgBf,OAAO,CAAC,iBAAiB;IAkCzB,OAAO,CAAC,kBAAkB;CAsB3B;AAED,YAAY,EAAE,OAAO,EAAE,CAAC;AACxB,eAAe,GAAG,CAAC"}
package/dist/index.js CHANGED
@@ -22,53 +22,38 @@ class Segment {
22
22
  if (!this.data)
23
23
  return null;
24
24
  if (!field || !/^[A-Z\d]{3}(\.\d+){0,2}$/.test(field))
25
- throw new Error(`Invalid field: '${field}'`);
26
- if (typeof repeatingIndex !== 'number' && repeatingIndex < -1)
27
- throw new Error(`Invalid Repeating index: '${repeatingIndex}' (type:${typeof repeatingIndex})`);
28
- if (typeof subComponentIndex !== 'number' && subComponentIndex < -1)
29
- throw new Error(`Invalid Subcomponent index: '${subComponentIndex}' (type:${typeof subComponentIndex})`);
30
- const [type, fieldIdx, compIdx] = field.split('.');
31
- if (type !== this.type)
32
- throw new Error(`Invalid field: '${field}'`);
33
- if (compIdx && repeatingIndex < 0)
34
- throw new Error(`Invalid Repeating index: '${repeatingIndex}' (type:${typeof repeatingIndex})\nCannot get All repeating fields when getting component ${field}`);
25
+ throw new Error(`Invalid parameter: 'field' [${field}]`);
26
+ if (typeof repeatingIndex !== 'number' || repeatingIndex < -1)
27
+ throw new Error(`Invalid parameter: 'repeatingIndex' [${repeatingIndex}]`);
28
+ if (typeof subComponentIndex !== 'number' || subComponentIndex < -1)
29
+ throw new Error(`Invalid parameter: 'subComponentIndex' [${subComponentIndex}]`);
35
30
  const { fieldDelim, repeatingDelim, componentDelim, subCompDelim } = this.parseOptions;
31
+ const [type, fieldIdx, compIdx] = field.split('.');
32
+ if (!type || type !== this.type)
33
+ throw new Error(`Invalid parameter: 'field' [${field}]. Cannot get [${field}] from [${this.type}] segment.`);
36
34
  if (fieldIdx && compIdx) {
37
35
  if (subComponentIndex === -1) {
38
- const component = (_b = (_a = this.data[`${type}.${fieldIdx}`]) === null || _a === void 0 ? void 0 : _a[repeatingIndex]) === null || _b === void 0 ? void 0 : _b[`${type}.${fieldIdx}.${compIdx}`];
39
- if (!component)
40
- return null;
41
- return (_c = component.join(subCompDelim)) !== null && _c !== void 0 ? _c : null;
36
+ return ((_d = (_c = (_b = (_a = this.data[`${type}.${fieldIdx}`]) === null || _a === void 0 ? void 0 : _a[repeatingIndex]) === null || _b === void 0 ? void 0 : _b[`${type}.${fieldIdx}.${compIdx}`]) === null || _c === void 0 ? void 0 : _c.join(subCompDelim)) !== null && _d !== void 0 ? _d : null);
42
37
  }
43
38
  else {
44
- return ((_g = (_f = (_e = (_d = this.data[`${type}.${fieldIdx}`]) === null || _d === void 0 ? void 0 : _d[repeatingIndex]) === null || _e === void 0 ? void 0 : _e[`${type}.${fieldIdx}.${compIdx}`]) === null || _f === void 0 ? void 0 : _f[subComponentIndex]) !== null && _g !== void 0 ? _g : null);
39
+ return ((_h = (_g = (_f = (_e = this.data[`${type}.${fieldIdx}`]) === null || _e === void 0 ? void 0 : _e[repeatingIndex]) === null || _f === void 0 ? void 0 : _f[`${type}.${fieldIdx}.${compIdx}`]) === null || _g === void 0 ? void 0 : _g[subComponentIndex]) !== null && _h !== void 0 ? _h : null);
45
40
  }
46
41
  }
47
42
  else if (fieldIdx) {
48
- if (repeatingIndex === -1) {
49
- const field = this.data[`${type}.${fieldIdx}`];
50
- const repeatingFieldsArr = [];
51
- if (!field)
52
- return null;
53
- for (const repeatingField of field) {
54
- const componentsArr = [];
55
- for (const compKey in repeatingField) {
56
- componentsArr.push(repeatingField[compKey].join(subCompDelim));
57
- }
58
- repeatingFieldsArr.push(componentsArr.join(componentDelim));
59
- }
60
- return repeatingFieldsArr.join(repeatingDelim);
61
- }
62
- else {
63
- const component = (_h = this.data[`${type}.${fieldIdx}`]) === null || _h === void 0 ? void 0 : _h[repeatingIndex];
64
- if (!component)
65
- return null;
43
+ let field = repeatingIndex === -1
44
+ ? this.data[`${type}.${fieldIdx}`]
45
+ : [(_j = this.data[`${type}.${fieldIdx}`]) === null || _j === void 0 ? void 0 : _j[repeatingIndex]];
46
+ const repeatingFieldsArr = [];
47
+ if (!field || !field[0])
48
+ return null;
49
+ for (const repeatingField of field) {
66
50
  const componentsArr = [];
67
- for (const compKey in component) {
68
- componentsArr.push((_j = component[compKey]) === null || _j === void 0 ? void 0 : _j.join(subCompDelim));
51
+ for (const compKey in repeatingField) {
52
+ componentsArr.push(repeatingField[compKey].join(subCompDelim));
69
53
  }
70
- return componentsArr.join(componentDelim);
54
+ repeatingFieldsArr.push(componentsArr.join(componentDelim));
71
55
  }
56
+ return repeatingFieldsArr.join(repeatingDelim);
72
57
  }
73
58
  else {
74
59
  if (!this.data)
@@ -91,34 +76,27 @@ class Segment {
91
76
  set(field, value, repeatingIndex = 0, subComponentIndex = 0) {
92
77
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
93
78
  if (!field || !/^[A-Z\d]{3}(\.\d+){1,2}$/.test(field))
94
- throw new Error(`Invalid field: '${field}'`);
95
- if (typeof value !== 'string')
96
- throw new Error(`Invalid value: '${value}' (type:${typeof value})`);
79
+ throw new Error(`Invalid parameter: 'field' [${field}]`);
80
+ if (!value || typeof value !== 'string')
81
+ throw new Error(`Invalid parameter: 'value' [${value}]`);
97
82
  if (typeof repeatingIndex !== 'number' && repeatingIndex < 0)
98
- throw new Error(`Invalid Repeating index: '${repeatingIndex}' (type:${typeof repeatingIndex})`);
83
+ throw new Error(`Invalid parameter: 'repeatingIndex' [${repeatingIndex}]`);
99
84
  if (typeof subComponentIndex !== 'number' && subComponentIndex < 0)
100
- throw new Error(`Invalid Subcomponent index: '${subComponentIndex}' (type:${typeof subComponentIndex})`);
85
+ throw new Error(`Invalid parameter: 'subComponentIndex' [${subComponentIndex}]`);
101
86
  const [type, fieldIdx, compIdx] = field.split('.');
102
87
  if (!type || type !== this.type)
103
- throw new Error(`Invalid type: '${type}'. Cannot set ${type} in ${this.type} Segment`);
88
+ throw new Error(`Invalid parameter: 'field' [${field}]. Cannot set [${field}] from [${this.type}] segment.`);
104
89
  if (!fieldIdx)
105
- throw new Error('Invalid field'); // TODO ----------------
90
+ throw new Error(`Invalid parameter: 'field' [${field}]`);
106
91
  if (!this.data)
107
92
  this.data = {};
108
93
  for (let i = type === 'MSH' ? 2 : 1; i <= parseInt(fieldIdx, 10); i++) {
109
94
  if (((_b = (_a = this.data[`${type}.${i}`]) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b[`${type}.${i}.${1}`]) == null)
110
95
  this.data[`${type}.${i}`] = [{ [`${type}.${i}.${1}`]: [''] }];
111
96
  }
112
- if (repeatingIndex === -1) {
113
- this.data[`${type}.${fieldIdx}`] = [{ [`${type}.${fieldIdx}.${1}`]: [''] }];
114
- }
115
- else {
116
- for (let i = 0; i <= repeatingIndex; i++) {
117
- if (((_d = (_c = this.data[`${type}.${fieldIdx}`]) === null || _c === void 0 ? void 0 : _c[i]) === null || _d === void 0 ? void 0 : _d[`${type}.${fieldIdx}.${1}`]) == null)
118
- this.data[`${type}.${fieldIdx}`][i] = {
119
- [`${type}.${fieldIdx}.${1}`]: [''],
120
- };
121
- }
97
+ for (let i = 0; i <= repeatingIndex; i++) {
98
+ if (((_d = (_c = this.data[`${type}.${fieldIdx}`]) === null || _c === void 0 ? void 0 : _c[i]) === null || _d === void 0 ? void 0 : _d[`${type}.${fieldIdx}.${1}`]) == null)
99
+ this.data[`${type}.${fieldIdx}`][i] = { [`${type}.${fieldIdx}.${1}`]: [''] };
122
100
  }
123
101
  if (compIdx) {
124
102
  for (let i = 1; i <= parseInt(compIdx, 10); i++) {
@@ -155,9 +133,12 @@ class HL7 {
155
133
  };
156
134
  this.transform();
157
135
  }
136
+ /**
137
+ * @deprecated This method is triggered internally and doesnt need to be invoked manually.
138
+ */
158
139
  transform() {
159
140
  if (!this.raw.startsWith('MSH')) {
160
- throw new Error('Expected raw msg to be HL7 message. Message does not start with MSH');
141
+ throw new Error('Expected raw msg to be HL7 message. Message does not start with MSH segment.');
161
142
  }
162
143
  const segmentsStr = this.raw
163
144
  .split(RegExp(this.parseOptions.eolDelim))
@@ -170,10 +151,10 @@ class HL7 {
170
151
  segment.data = {};
171
152
  for (let i = 1; i < fields.length; i++) {
172
153
  const fieldIdx = type === 'MSH' ? i + 1 : i;
173
- const repeatings = fields[i].split(repeatingDelim);
154
+ const repeatingComps = fields[i].split(repeatingDelim);
174
155
  segment.data[`${type}.${fieldIdx}`] = [];
175
- for (let j = 0; j < repeatings.length; j++) {
176
- const components = repeatings[j].split(componentDelim);
156
+ for (let j = 0; j < repeatingComps.length; j++) {
157
+ const components = repeatingComps[j].split(componentDelim);
177
158
  segment.data[`${type}.${fieldIdx}`][j] = {};
178
159
  for (let k = 0; k < components.length; k++) {
179
160
  const subComps = components[k].split(subCompDelim);
@@ -187,9 +168,7 @@ class HL7 {
187
168
  }
188
169
  if (type === 'MSH') {
189
170
  segment.data['MSH.2'] = [
190
- {
191
- 'MSH.2.1': [`${componentDelim}${repeatingDelim}\\${subCompDelim}`],
192
- },
171
+ { 'MSH.2.1': [`${componentDelim}${repeatingDelim}\\${subCompDelim}`] },
193
172
  ];
194
173
  }
195
174
  this.appendSegmentNode(segment);
@@ -219,26 +198,24 @@ class HL7 {
219
198
  }
220
199
  getSegment(type) {
221
200
  if (!/^[A-Z\d]{3}$/.test(type))
222
- throw new Error(`Invalid Segment type: '${type}'`);
201
+ throw new Error(`Invalid parameter: 'type' [${type}]`);
223
202
  let curr = this.head;
224
203
  while (curr) {
225
- if (curr.data.type === type) {
204
+ if (curr.data.type === type)
226
205
  return curr.data;
227
- }
228
206
  curr = curr.next;
229
207
  }
230
208
  return curr;
231
209
  }
232
210
  getSegments(type) {
233
211
  if (type && !/^[A-Z\d]{3}$/.test(type))
234
- throw new Error(`Invalid Segment type: '${type}'`);
212
+ throw new Error(`Invalid parameter: 'type' [${type}]`);
235
213
  const segments = [];
236
214
  let curr = this.head;
237
215
  while (curr) {
238
216
  if (type) {
239
- if (type === curr.data.type) {
217
+ if (type === curr.data.type)
240
218
  segments.push(curr.data);
241
- }
242
219
  }
243
220
  else {
244
221
  segments.push(curr.data);
@@ -247,20 +224,22 @@ class HL7 {
247
224
  }
248
225
  return segments;
249
226
  }
250
- getSegmentsAfter(startSegment, type, stopSegmentType, consecutive = false) {
227
+ getSegmentsAfter(startSegment, type, stopSegmentType = [], consecutive = false) {
251
228
  if (!startSegment || !(startSegment instanceof Segment))
252
- throw new Error(`Invalid Target Segment: ${JSON.stringify(startSegment)}`);
229
+ throw new Error(`Invalid parameter: 'startSegment'`);
253
230
  if (!/^[A-Z\d]{3}$/.test(type))
254
- throw new Error(`Invalid Segment type: '${type}'`);
231
+ throw new Error(`Invalid parameter: 'type' [${type}]`);
232
+ if (!stopSegmentType || !Array.isArray(stopSegmentType))
233
+ throw new Error(`Invalid parameter: 'stopSegmentType'`);
255
234
  if (typeof consecutive !== 'boolean')
256
- throw new Error(`Invalid Consecutive flag: '${consecutive}'`);
235
+ throw new Error(`Invalid parameter: 'consecutive' [${consecutive}]`);
257
236
  const startNode = this.getNode(startSegment);
258
237
  if (!startNode)
259
- throw new Error(`Failed to locate Start Segment: '${startSegment.type}`);
238
+ throw new Error(`Failed to locate: 'startSegment' [${startSegment.type}]`);
260
239
  const res = [];
261
240
  let curr = startNode.next;
262
241
  while (curr) {
263
- if (stopSegmentType.includes(curr.data.type))
242
+ if (stopSegmentType.length && stopSegmentType.includes(curr.data.type))
264
243
  break;
265
244
  if (curr.data.type === type)
266
245
  res.push(curr.data);
@@ -272,37 +251,38 @@ class HL7 {
272
251
  }
273
252
  createSegment(type) {
274
253
  if (!/^[A-Z\d]{3}$/.test(type))
275
- throw new Error(`Invalid Segment type: '${type}'`);
254
+ throw new Error(`Invalid parameter: 'type' [${type}]`);
276
255
  return this.appendSegmentNode(new Segment(type, null, this.parseOptions));
277
256
  }
278
257
  createSegmentAfter(type, targetSegment) {
279
258
  if (!/^[A-Z\d]{3}$/.test(type))
280
- throw new Error(`Invalid Segment type: '${type}'`);
259
+ throw new Error(`Invalid parameter: 'type' [${type}]`);
281
260
  if (!targetSegment || !(targetSegment instanceof Segment))
282
- throw new Error(`Invalid Target Segment : ${JSON.stringify(targetSegment)}`);
261
+ throw new Error(`Invalid parameter: 'targetSegment'`);
283
262
  return this.appendSegmentNode(new Segment(type, null, this.parseOptions), targetSegment);
284
263
  }
285
264
  createSegmentBefore(type, targetSegment) {
286
265
  if (!/^[A-Z\d]{3}$/.test(type))
287
- throw new Error(`Invalid Segment type: '${type}'`);
266
+ throw new Error(`Invalid parameter: 'type' [${type}]`);
288
267
  if (!targetSegment || !(targetSegment instanceof Segment))
289
- throw new Error(`Invalid Target Segment: ${JSON.stringify(targetSegment)}`);
268
+ throw new Error(`Invalid parameter: 'targetSegment'`);
290
269
  return this.prependSegmentNode(new Segment(type, null, this.parseOptions), targetSegment);
291
270
  }
292
271
  deleteSegment(segment) {
293
272
  if (!segment || !(segment instanceof Segment))
294
- throw new Error(`Invalid Segment: ${JSON.stringify(segment)}`);
273
+ throw new Error(`Invalid parameter: 'segment'`);
295
274
  this.deleteSegments([segment]);
296
275
  }
297
276
  deleteSegments(segments) {
298
277
  var _a, _b;
299
278
  for (const segment of segments) {
300
279
  if (!segment || !(segment instanceof Segment))
301
- throw new Error(`Invalid Segment: ${JSON.stringify(segment)}`);
280
+ throw new Error(`Invalid parameter: 'segments'`);
281
+ }
282
+ for (const segment of segments) {
302
283
  const node = this.getNode(segment);
303
- if (!node) {
284
+ if (!node)
304
285
  break;
305
- }
306
286
  if ((_a = node.prev) === null || _a === void 0 ? void 0 : _a.next)
307
287
  node.prev.next = node.next;
308
288
  if ((_b = node.next) === null || _b === void 0 ? void 0 : _b.prev)
@@ -318,15 +298,19 @@ class HL7 {
318
298
  moveSegmentAfter(segment, targetSegment) {
319
299
  var _a, _b, _c;
320
300
  if (!segment || !(segment instanceof Segment))
321
- throw new Error(`Invalid Segment: ${JSON.stringify(segment)}`);
301
+ throw new Error(`Invalid parameter: 'segment'`);
322
302
  if (!targetSegment || !(targetSegment instanceof Segment))
323
- throw new Error(`Invalid Target Segment: ${JSON.stringify(targetSegment)}`);
303
+ throw new Error(`Invalid parameter: 'targetSegment'`);
304
+ if (segment === targetSegment)
305
+ return;
324
306
  const node = this.getNode(segment);
325
307
  if (!node)
326
- throw new Error(`Failed to locate Segment: '${segment.type}'`);
308
+ throw new Error(`Failed to locate: 'segment' [${segment.type}]`);
327
309
  const targetNode = this.getNode(targetSegment);
328
310
  if (!targetNode)
329
- throw new Error(`Failed to locate Target Segment: '${targetSegment.type}'`);
311
+ throw new Error(`Failed to locate: 'targetSegment' [${targetSegment.type}]`);
312
+ if (node === this.head)
313
+ this.head = this.head.next;
330
314
  if ((_a = node.prev) === null || _a === void 0 ? void 0 : _a.next)
331
315
  node.prev.next = node.next;
332
316
  if ((_b = node.next) === null || _b === void 0 ? void 0 : _b.prev)
@@ -342,15 +326,19 @@ class HL7 {
342
326
  moveSegmentBefore(segment, targetSegment) {
343
327
  var _a, _b, _c;
344
328
  if (!segment || !(segment instanceof Segment))
345
- throw new Error(`Invalid Segment: ${JSON.stringify(segment)}`);
329
+ throw new Error(`Invalid parameter: 'segment'`);
346
330
  if (!targetSegment || !(targetSegment instanceof Segment))
347
- throw new Error(`Invalid Target Segment: ${JSON.stringify(targetSegment)}`);
331
+ throw new Error(`Invalid parameter: 'targetSegment'`);
332
+ if (segment === targetSegment)
333
+ return;
348
334
  const node = this.getNode(segment);
349
335
  if (!node)
350
- throw new Error(`Failed to locate Segment: '${segment.type}'`);
336
+ throw new Error(`Failed to locate: 'segment' [${segment.type}]`);
351
337
  const targetNode = this.getNode(targetSegment);
352
338
  if (!targetNode)
353
- throw new Error(`Failed to locate Target Segment: '${targetSegment.type}'`);
339
+ throw new Error(`Failed to locate: 'targetSegment' [${targetSegment.type}]`);
340
+ if (node === this.tail)
341
+ this.tail = this.tail.prev;
354
342
  if ((_a = node.prev) === null || _a === void 0 ? void 0 : _a.next)
355
343
  node.prev.next = node.next;
356
344
  if ((_b = node.next) === null || _b === void 0 ? void 0 : _b.prev)
@@ -363,25 +351,28 @@ class HL7 {
363
351
  if (targetNode === this.head)
364
352
  this.head = this.head.prev;
365
353
  }
366
- reindexSegments(resetRules, field = '1.1') {
367
- var _a;
354
+ reindexSegments(resetRules, startIndex = 1, field = '1.1') {
368
355
  if (!resetRules || typeof resetRules !== 'object')
369
- throw new Error('Invalid Parameter: resetRules');
370
- if (field && !/^(\d)+(\.\d+)*$/.test(field))
371
- throw new Error(`Invalid Parameter: field '${field}'`);
356
+ throw new Error(`Invalid parameter: 'resetRules'`);
357
+ if (!startIndex || typeof startIndex !== 'number')
358
+ throw new Error(`Invalid parameter: 'startIndex' [${startIndex}]`);
359
+ if (field && !/^(\d+)(\.\d+){0,1}$/.test(field))
360
+ throw new Error(`Invalid parameter: 'field' [${field}]`);
372
361
  let curr = this.head;
373
362
  const indexMap = {};
374
- for (const key in resetRules) {
375
- indexMap[key] = 1;
363
+ for (const key of Object.keys(resetRules)) {
364
+ indexMap[key] = startIndex;
376
365
  }
377
366
  while (curr) {
378
367
  const segment = curr.data;
379
- if (segment.type in resetRules) {
368
+ if (segment.type in resetRules)
380
369
  segment.set(`${segment.type}.${field}`, String(indexMap[segment.type]++));
381
- }
382
- for (const key in resetRules) {
383
- if ((_a = resetRules[key]) === null || _a === void 0 ? void 0 : _a.includes(segment.type)) {
384
- indexMap[key] = 1;
370
+ for (const [segmentType, resetTriggers] of Object.entries(resetRules)) {
371
+ for (const resetTrigger of resetTriggers) {
372
+ if (segment.type === resetTrigger) {
373
+ indexMap[segmentType] = startIndex;
374
+ break;
375
+ }
385
376
  }
386
377
  }
387
378
  curr = curr.next;
@@ -389,13 +380,12 @@ class HL7 {
389
380
  }
390
381
  getNode(segment) {
391
382
  if (!segment || !(segment instanceof Segment)) {
392
- throw new Error(`Invalid Segment: ${JSON.stringify(segment)}`);
383
+ throw new Error(`Invalid parameter: 'segment'`);
393
384
  }
394
385
  let curr = this.head;
395
386
  while (curr) {
396
- if (curr.data === segment) {
387
+ if (curr.data === segment)
397
388
  return curr;
398
- }
399
389
  curr = curr.next;
400
390
  }
401
391
  return curr;
@@ -403,21 +393,21 @@ class HL7 {
403
393
  appendSegmentNode(newSegment, targetSegment) {
404
394
  var _a;
405
395
  if (!newSegment || !(newSegment instanceof Segment))
406
- throw new Error(`Invalid Segment: ${JSON.stringify(newSegment)}`);
396
+ throw new Error(`Invalid parameter: 'newSegment'`);
407
397
  if (targetSegment && !(targetSegment instanceof Segment))
408
- throw new Error(`Invalid Target Segment: ${JSON.stringify(targetSegment)}`);
398
+ throw new Error(`Invalid parameter: 'targetSegment'`);
409
399
  const newNode = new Node(newSegment);
410
400
  if (targetSegment) {
411
401
  const targetNode = this.getNode(targetSegment);
412
402
  if (!targetNode)
413
- throw new Error(`Failed to locate Target Segment: '${targetSegment.type}'`);
403
+ throw new Error(`Failed to locate: 'targetSegment' [${targetSegment.type}]`);
414
404
  newNode.next = targetNode.next;
415
405
  newNode.prev = targetNode;
416
406
  targetNode.next = newNode;
417
407
  if ((_a = newNode.next) === null || _a === void 0 ? void 0 : _a.prev)
418
408
  newNode.next.prev = newNode;
419
409
  if (targetNode === this.tail)
420
- this.tail = newNode;
410
+ this.tail = this.tail.next;
421
411
  }
422
412
  else if (!this.head) {
423
413
  this.head = newNode;
@@ -426,22 +416,22 @@ class HL7 {
426
416
  else if (this.tail) {
427
417
  newNode.prev = this.tail;
428
418
  this.tail.next = newNode;
429
- this.tail = newNode;
419
+ this.tail = this.tail.next;
430
420
  }
431
421
  else {
432
- throw new Error(`Failed to append Segment: ${newSegment.type}`);
422
+ throw new Error(`Failed to append segment: ${newSegment.type}`);
433
423
  }
434
424
  return newSegment;
435
425
  }
436
426
  prependSegmentNode(newSegment, targetSegment) {
437
427
  var _a;
438
428
  if (!newSegment || !(newSegment instanceof Segment))
439
- throw new Error(`Invalid Segment: ${JSON.stringify(newSegment)}`);
429
+ throw new Error(`Invalid parameter: 'newSegment'`);
440
430
  if (!targetSegment || !(targetSegment instanceof Segment))
441
- throw new Error(`Invalid Target Segment: ${JSON.stringify(targetSegment)}`);
431
+ throw new Error(`Invalid parameter: 'targetSegment'`);
442
432
  const targetNode = this.getNode(targetSegment);
443
433
  if (!targetNode)
444
- throw new Error(`Failed to locate Target Segment: '${targetSegment.type}'`);
434
+ throw new Error(`Failed to locate: 'targetSegment' [${targetSegment.type}]`);
445
435
  const newNode = new Node(newSegment);
446
436
  newNode.next = targetNode;
447
437
  newNode.prev = targetNode.prev;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hl7-tstd",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "A simple package to create, parse & transform HL7 message.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -19,7 +19,8 @@
19
19
  "parse",
20
20
  "create",
21
21
  "transform",
22
- "format"
22
+ "format",
23
+ "hl7-tstd"
23
24
  ],
24
25
  "author": "1nandagopal",
25
26
  "license": "Apache-2.0",
@@ -32,7 +33,6 @@
32
33
  "url": "https://github.com/1nandagopal/hl7-tstd/issues"
33
34
  },
34
35
  "devDependencies": {
35
- "@biomejs/biome": "2.2.2",
36
36
  "rimraf": "^6.0.1",
37
37
  "typescript": "^5.9.2"
38
38
  }