@nsshunt/stsappframework 3.1.145 → 3.1.147

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.
Files changed (41) hide show
  1. package/dist/fhir/dalFhirManagerIORedisJson.js +130 -75
  2. package/dist/fhir/dalFhirManagerIORedisJson.js.map +1 -1
  3. package/dist/fhir/dalFhirManagerIORedisJson.test.js +25 -1
  4. package/dist/fhir/dalFhirManagerIORedisJson.test.js.map +1 -1
  5. package/dist/fhir/dalFhirManagerPGRes.js +53 -30
  6. package/dist/fhir/dalFhirManagerPGRes.js.map +1 -1
  7. package/dist/fhir/dalFhirManagerPGRes.test.js +25 -1
  8. package/dist/fhir/dalFhirManagerPGRes.test.js.map +1 -1
  9. package/dist/fhir/dalFhirManagerPGResEntity.js +54 -31
  10. package/dist/fhir/dalFhirManagerPGResEntity.js.map +1 -1
  11. package/dist/fhir/dalFhirManagerPGResEntity.test.js +25 -1
  12. package/dist/fhir/dalFhirManagerPGResEntity.test.js.map +1 -1
  13. package/dist/fhir/dalFhirManagerRedisJson.js +114 -59
  14. package/dist/fhir/dalFhirManagerRedisJson.js.map +1 -1
  15. package/dist/fhir/dalFhirManagerRedisJson.test.js +25 -1
  16. package/dist/fhir/dalFhirManagerRedisJson.test.js.map +1 -1
  17. package/dist/fhir/dalFhirTestHelpers.js +72 -0
  18. package/dist/fhir/dalFhirTestHelpers.js.map +1 -1
  19. package/package.json +1 -1
  20. package/src/fhir/STSFhirTypes.ts +8 -8
  21. package/src/fhir/dalFhirManagerIORedisJson.test.ts +34 -1
  22. package/src/fhir/dalFhirManagerIORedisJson.ts +132 -82
  23. package/src/fhir/dalFhirManagerPGRes.test.ts +34 -1
  24. package/src/fhir/dalFhirManagerPGRes.ts +64 -42
  25. package/src/fhir/dalFhirManagerPGResEntity.test.ts +34 -1
  26. package/src/fhir/dalFhirManagerPGResEntity.ts +65 -61
  27. package/src/fhir/dalFhirManagerRedisJson.test.ts +34 -1
  28. package/src/fhir/dalFhirManagerRedisJson.ts +117 -67
  29. package/src/fhir/dalFhirTestHelpers.ts +84 -0
  30. package/types/fhir/STSFhirTypes.d.ts +8 -8
  31. package/types/fhir/STSFhirTypes.d.ts.map +1 -1
  32. package/types/fhir/dalFhirManagerIORedisJson.d.ts +8 -8
  33. package/types/fhir/dalFhirManagerIORedisJson.d.ts.map +1 -1
  34. package/types/fhir/dalFhirManagerPGRes.d.ts +8 -8
  35. package/types/fhir/dalFhirManagerPGRes.d.ts.map +1 -1
  36. package/types/fhir/dalFhirManagerPGResEntity.d.ts +8 -8
  37. package/types/fhir/dalFhirManagerPGResEntity.d.ts.map +1 -1
  38. package/types/fhir/dalFhirManagerRedisJson.d.ts +8 -8
  39. package/types/fhir/dalFhirManagerRedisJson.d.ts.map +1 -1
  40. package/types/fhir/dalFhirTestHelpers.d.ts +3 -0
  41. package/types/fhir/dalFhirTestHelpers.d.ts.map +1 -1
@@ -55,7 +55,7 @@ export class DALFhirManagerPGResEntity<T> implements IDALFhirDataAccessManager<T
55
55
  return this.#fhirResource;
56
56
  }
57
57
 
58
- async GetFhirResource(fhir: Partial<T>, ecb?: (error: Error) => void): Promise<T | null> {
58
+ async GetFhirResource(fhir: Partial<T>, ecb?: (fhir: Partial<T>, error: Error) => void): Promise<T | null> {
59
59
  if (!this.#accessLayer) {
60
60
  return null;
61
61
  }
@@ -69,7 +69,7 @@ export class DALFhirManagerPGResEntity<T> implements IDALFhirDataAccessManager<T
69
69
  });
70
70
  if (retVal.error) {
71
71
  if (ecb) {
72
- ecb(retVal.error.error);
72
+ ecb(fhir, retVal.error.error);
73
73
  }
74
74
  return null;
75
75
  } else {
@@ -77,7 +77,7 @@ export class DALFhirManagerPGResEntity<T> implements IDALFhirDataAccessManager<T
77
77
  }
78
78
  }
79
79
 
80
- async CreateFhirResource(fhir: T, ecb?: (error: Error) => void): Promise<T | null> {
80
+ async CreateFhirResource(fhir: T, ecb?: (fhir: T, error: Error) => void): Promise<T | null> {
81
81
  if (!this.#accessLayer) {
82
82
  return null;
83
83
  }
@@ -92,7 +92,7 @@ export class DALFhirManagerPGResEntity<T> implements IDALFhirDataAccessManager<T
92
92
  }, fhir);
93
93
  if (retVal.error) {
94
94
  if (ecb) {
95
- ecb(retVal.error.error);
95
+ ecb(fhir, retVal.error.error);
96
96
  }
97
97
  return null;
98
98
  } else {
@@ -100,7 +100,7 @@ export class DALFhirManagerPGResEntity<T> implements IDALFhirDataAccessManager<T
100
100
  }
101
101
  }
102
102
 
103
- async UpdateFhirResource(fhir: T, ecb?: (error: Error) => void): Promise<T | null> {
103
+ async UpdateFhirResource(fhir: T, ecb?: (fhir: T, error: Error) => void): Promise<T | null> {
104
104
  if (!this.#accessLayer) {
105
105
  return null;
106
106
  }
@@ -115,7 +115,7 @@ export class DALFhirManagerPGResEntity<T> implements IDALFhirDataAccessManager<T
115
115
  }, fhir);
116
116
  if (retVal.error) {
117
117
  if (ecb) {
118
- ecb(retVal.error.error);
118
+ ecb(fhir, retVal.error.error);
119
119
  }
120
120
  return null;
121
121
  } else {
@@ -123,7 +123,7 @@ export class DALFhirManagerPGResEntity<T> implements IDALFhirDataAccessManager<T
123
123
  }
124
124
  }
125
125
 
126
- async DeleteFhirResource(fhir: Partial<T>, ecb?: (error: Error) => void): Promise<T | null> {
126
+ async DeleteFhirResource(fhir: Partial<T>, ecb?: (fhir: Partial<T>, error: Error) => void): Promise<T | null> {
127
127
  if (!this.#accessLayer) {
128
128
  return null;
129
129
  }
@@ -138,7 +138,7 @@ export class DALFhirManagerPGResEntity<T> implements IDALFhirDataAccessManager<T
138
138
  });
139
139
  if (retVal.error) {
140
140
  if (ecb) {
141
- ecb(retVal.error.error);
141
+ ecb(fhir, retVal.error.error);
142
142
  }
143
143
  return null;
144
144
  } else {
@@ -146,69 +146,73 @@ export class DALFhirManagerPGResEntity<T> implements IDALFhirDataAccessManager<T
146
146
  }
147
147
  }
148
148
 
149
- async GetFhirResources(filters: string[], ecb?: (error: Error) => void): Promise<T[] | null> {
149
+ async GetFhirResources(filters: string[], ecb?: (filters: string[], error: Error) => void): Promise<T[] | null> {
150
150
  if (!this.#accessLayer) {
151
151
  return null;
152
152
  }
153
153
 
154
- const fhirResource = await this.#GetSTSFhirBaseResource();
155
- const promArray: Promise<T[]>[] = [ ];
156
- filters.forEach(filter => {
157
- const prom = async (): Promise<T[]> => {
158
- const retVal: T[] = [ ];
159
-
160
- const entities = await this.#accessLayer.GetEntities<T>({
161
- filters: {
162
- resname: fhirResource.resname,
163
- filter: `${filter}%`
164
- }
165
- })
166
-
167
- const dbResources = (entities.detail as IDBEntity<T>[]);
168
-
169
- dbResources.forEach(dbResource => {
170
- retVal.push(dbResource.entvalue);
171
- });
172
-
173
- return retVal;
154
+ try {
155
+ const fhirResource = await this.#GetSTSFhirBaseResource();
156
+ const promArray: Promise<T[]>[] = [ ];
157
+ filters.forEach(filter => {
158
+ const prom = async (): Promise<T[]> => {
159
+ const retVal: T[] = [ ];
160
+
161
+ const entities = await this.#accessLayer.GetEntities<T>({
162
+ filters: {
163
+ resname: fhirResource.resname,
164
+ filter: `${filter}%`
165
+ }
166
+ })
167
+
168
+ const dbResources = (entities.detail as IDBEntity<T>[]);
169
+
170
+ dbResources.forEach(dbResource => {
171
+ retVal.push(dbResource.entvalue);
172
+ });
173
+
174
+ return retVal;
175
+ }
176
+ promArray.push(prom());
177
+ })
178
+ const promRetVal = await Promise.all(promArray);
179
+ let retVal: T[] = [ ];
180
+ promRetVal.forEach(prv => {
181
+ retVal = retVal.concat(prv);
182
+ });
183
+ return retVal;
184
+ } catch (error) {
185
+ if (ecb) {
186
+ ecb(filters, error as Error);
174
187
  }
175
- promArray.push(prom());
176
- })
177
- const promRetVal = await Promise.all(promArray);
178
- let retVal: T[] = [ ];
179
- promRetVal.forEach(prv => {
180
- retVal = retVal.concat(prv);
181
- });
182
- return retVal;
183
- }
184
-
185
- async CreateFhirResources(fhir: T[], ecb?: (error: Error) => void): Promise<T[] | null> {
186
- return null;
188
+ return null;
189
+ }
187
190
  }
188
191
 
189
- async UpdateFhirResources(fhir: T[], ecb?: (error: Error) => void): Promise<T[] | null> {
190
- return null
192
+ async CreateFhirResources(fhir: T[], ecb?: (fhir: T, error: Error) => void): Promise<(T | null)[]> {
193
+ const promArray: Promise<T | null>[] = [ ];
194
+ fhir.forEach(async (f) => {
195
+ promArray.push(this.CreateFhirResource(f, ecb));
196
+ })
197
+ const promRetVal = await Promise.all(promArray);
198
+ return promRetVal;
191
199
  }
192
200
 
193
- async DeleteFhirResources(fhir: Partial<T>[], ecb?: (error: Error) => void): Promise<T[] | null> {
194
- return null;
201
+ async UpdateFhirResources(fhir: T[], ecb?: (fhir: T, error: Error) => void): Promise<(T | null)[]> {
202
+ const promArray: Promise<T | null>[] = [ ];
203
+ fhir.forEach(async (f) => {
204
+ promArray.push(this.UpdateFhirResource(f, ecb));
205
+ })
206
+ const promRetVal = await Promise.all(promArray);
207
+ return promRetVal;
195
208
  }
196
209
 
197
- /*
198
-
199
- const resources = await accessLayer.GetResources<IUserResourceType>({
200
- filters: {
201
- filter: 'RESCP-%',
202
- limit: '10',
203
- }
210
+ async DeleteFhirResources(fhir: Partial<T>[], ecb?: (fhir: Partial<T>, error: Error) => void): Promise<(T | null)[]> {
211
+ const promArray: Promise<T | null>[] = [ ];
212
+ fhir.forEach(async (f) => {
213
+ promArray.push(this.DeleteFhirResource(f, ecb));
204
214
  })
205
-
206
- const entities = await accessLayer.GetEntities<IUserEntity>({
207
- filters: {
208
- resname: 'user-t2',
209
- filter: '%'
210
- }
211
- })
212
- */
213
-
215
+ const promRetVal = await Promise.all(promArray);
216
+ return promRetVal;
217
+ }
214
218
  }
@@ -37,7 +37,7 @@ describe.skip("Test hl7 fhir resource data access layer - RedisJson", () =>
37
37
  await testHelpers.TestFhirPerson(fhirManager.fhirDataAccessManager);
38
38
  }, 30000);
39
39
 
40
- test('Testing Person', async () => {
40
+ test('Testing Persons with Search', async () => {
41
41
  const iterations = 10;
42
42
  expect.assertions(iterations + 1);
43
43
  await testHelpers.AddFhirPersons(fhirManager.fhirDataAccessManager, iterations);
@@ -48,6 +48,39 @@ describe.skip("Test hl7 fhir resource data access layer - RedisJson", () =>
48
48
  console.log(chalk.green(JSON.stringify(fhirResources)));
49
49
  }, 30000);
50
50
 
51
+ test('Testing Persons with Bulk Insert', async () => {
52
+ const iterations = 10;
53
+ expect.assertions(2);
54
+ await testHelpers.AddFhirPersonsByArray(fhirManager.fhirDataAccessManager, iterations);
55
+
56
+ const fhirResources = await fhirManager.fhirDataAccessManager.GetFhirResources(['bulk_']);
57
+ expect(fhirResources?.length).toEqual(iterations);
58
+
59
+ console.log(chalk.rgb(133, 161, 142)(JSON.stringify(fhirResources)));
60
+ }, 30000);
61
+
62
+ test('Testing Persons with Bulk Update', async () => {
63
+ const iterations = 10;
64
+ expect.assertions(2);
65
+ await testHelpers.UpdateFhirPersonsByArray(fhirManager.fhirDataAccessManager, iterations);
66
+
67
+ const fhirResources = await fhirManager.fhirDataAccessManager.GetFhirResources(['bulk_']);
68
+ expect(fhirResources?.length).toEqual(iterations);
69
+
70
+ console.log(chalk.rgb(157, 133, 161)(JSON.stringify(fhirResources)));
71
+ }, 30000);
72
+
73
+ test('Testing Persons with Bulk Delete', async () => {
74
+ const iterations = 7;
75
+ expect.assertions(2);
76
+ await testHelpers.DeleteFhirPersonsByArray(fhirManager.fhirDataAccessManager, iterations);
77
+
78
+ const fhirResources = await fhirManager.fhirDataAccessManager.GetFhirResources(['bulk_']);
79
+ expect(fhirResources?.length).toEqual(10 - iterations);
80
+
81
+ console.log(chalk.rgb(105, 97, 50)(JSON.stringify(fhirResources)));
82
+ }, 30000);
83
+
51
84
  afterAll(async () =>
52
85
  {
53
86
  await fhirManager.fhirDataAccessManager.Stop();
@@ -95,121 +95,171 @@ export class DALFhirManagerRedisJson<T> implements IDALFhirDataAccessManager<T>
95
95
  return `${this.#options.resourceName}_${(fhir as Partial<IDomainResource>).id}`;
96
96
  }
97
97
 
98
- async GetFhirResource(fhir: Partial<T>, ecb?: (error: Error) => void): Promise<T | null> {
99
- if (this.#redis) {
100
- const retValRaw = await this.#redis.HGETALL(this.GetResourceType(fhir))
101
- if (retValRaw) {
102
- try {
103
- const { id, data } = retValRaw;
104
- return JSON.parse(data) as T;
105
- } catch (error: unknown) {
106
- if (ecb) {
107
- ecb(error as Error);
98
+ async GetFhirResource(fhir: Partial<T>, ecb?: (fhir: Partial<T>, error: Error) => void): Promise<T | null> {
99
+ try {
100
+ if (this.#redis) {
101
+ const retValRaw = await this.#redis.HGETALL(this.GetResourceType(fhir))
102
+ if (retValRaw) {
103
+ try {
104
+ const { id, data } = retValRaw;
105
+ return JSON.parse(data) as T;
106
+ } catch (error: unknown) {
107
+ if (ecb) {
108
+ ecb(fhir, error as Error);
109
+ }
110
+ return null;
108
111
  }
112
+ } else {
109
113
  return null;
110
114
  }
111
115
  } else {
112
116
  return null;
113
117
  }
114
- } else {
118
+ } catch (error) {
119
+ if (ecb) {
120
+ ecb(fhir, error as Error);
121
+ }
115
122
  return null;
116
123
  }
117
124
  }
118
125
 
119
126
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
120
- async CreateFhirResource(fhir: T, ecb?: (error: Error) => void): Promise<T | null> {
121
- if (this.#redis) {
122
- const record = {
123
- id: this.GetResourceType(fhir),
124
- data: JSON.stringify(fhir)
125
- } as any;
127
+ async CreateFhirResource(fhir: T, ecb?: (fhir: T, error: Error) => void): Promise<T | null> {
128
+ try {
129
+ if (this.#redis) {
130
+ const record = {
131
+ id: this.GetResourceType(fhir),
132
+ data: JSON.stringify(fhir)
133
+ } as any;
126
134
 
127
- const keyValuePairs: any = Object.entries(record).flat();
135
+ const keyValuePairs: any = Object.entries(record).flat();
128
136
 
129
- const retVal = await this.#redis.HSET(this.GetResourceType(fhir), keyValuePairs);
137
+ const retVal = await this.#redis.HSET(this.GetResourceType(fhir), keyValuePairs);
130
138
 
131
- if (retVal) {
132
- return fhir;
139
+ if (retVal) {
140
+ return fhir;
141
+ } else {
142
+ return null;
143
+ }
133
144
  } else {
145
+ console.error(chalk.red(`this.#redis not defined.`))
134
146
  return null;
135
147
  }
136
- } else {
137
- console.error(chalk.red(`this.#redis not defined.`))
148
+ } catch (error) {
149
+ if (ecb) {
150
+ ecb(fhir, error as Error);
151
+ }
138
152
  return null;
139
153
  }
140
154
  }
141
155
 
142
156
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
143
- async UpdateFhirResource(fhir: T, ecb?: (error: Error) => void): Promise<T | null> {
144
- if (this.#redis) {
145
- const record = {
146
- id: this.GetResourceType(fhir),
147
- data: JSON.stringify(fhir)
148
- } as any;
157
+ async UpdateFhirResource(fhir: T, ecb?: (fhir: T, error: Error) => void): Promise<T | null> {
158
+ try {
159
+ if (this.#redis) {
160
+ const record = {
161
+ id: this.GetResourceType(fhir),
162
+ data: JSON.stringify(fhir)
163
+ } as any;
149
164
 
150
- const keyValuePairs: any = Object.entries(record).flat();
165
+ const keyValuePairs: any = Object.entries(record).flat();
151
166
 
152
- const retVal = await this.#redis.HSET(this.GetResourceType(fhir), keyValuePairs);
153
- if (retVal >= 0) {
154
- return fhir;
167
+ const retVal = await this.#redis.HSET(this.GetResourceType(fhir), keyValuePairs);
168
+ if (retVal >= 0) {
169
+ return fhir;
170
+ } else {
171
+ return null;
172
+ }
155
173
  } else {
156
174
  return null;
157
175
  }
158
- } else {
176
+ } catch (error) {
177
+ if (ecb) {
178
+ ecb(fhir, error as Error);
179
+ }
159
180
  return null;
160
181
  }
161
182
  }
162
183
 
163
184
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
164
- async DeleteFhirResource(fhir: Partial<T>, ecb?: (error: Error) => void): Promise<T | null> {
165
- if (this.#redis) {
166
- const deleteResource = await this.GetFhirResource(fhir);
167
- if (deleteResource) {
168
- const retVal = await this.#redis.del(this.GetResourceType(fhir));
169
- if (retVal > 0) {
170
- return deleteResource;
185
+ async DeleteFhirResource(fhir: Partial<T>, ecb?: (fhir: Partial<T>, error: Error) => void): Promise<T | null> {
186
+ try {
187
+ if (this.#redis) {
188
+ const deleteResource = await this.GetFhirResource(fhir);
189
+ if (deleteResource) {
190
+ const retVal = await this.#redis.del(this.GetResourceType(fhir));
191
+ if (retVal > 0) {
192
+ return deleteResource;
193
+ } else {
194
+ return null;
195
+ }
171
196
  } else {
172
197
  return null;
173
198
  }
174
199
  } else {
175
200
  return null;
176
201
  }
177
- } else {
202
+ } catch (error) {
203
+ if (ecb) {
204
+ ecb(fhir, error as Error);
205
+ }
178
206
  return null;
179
207
  }
180
208
  }
181
209
 
182
- async GetFhirResources(filters: string[], ecb?: (error: Error) => void): Promise<T[] | null> {
183
- const promArray: Promise<T[]>[] = [ ];
184
- filters.forEach(filter => {
185
- const prom = async (): Promise<T[]> => {
186
- const retValArray: T[] = [ ];
187
- const retVal = await this.#SearchBy(filter);
188
- retVal?.documents.forEach(doc => {
189
- retValArray.push(JSON.parse(doc.value.data as string) as T);
190
- })
191
- return retValArray;
192
- }
193
- promArray.push(prom());
194
- });
210
+ async GetFhirResources(filters: string[], ecb?: (filters: string[], error: Error) => void): Promise<T[] | null> {
211
+ try {
212
+ const promArray: Promise<T[]>[] = [ ];
213
+ filters.forEach(filter => {
214
+ const prom = async (): Promise<T[]> => {
215
+ const retValArray: T[] = [ ];
216
+ const retVal = await this.#SearchBy(filter);
217
+ retVal?.documents.forEach(doc => {
218
+ retValArray.push(JSON.parse(doc.value.data as string) as T);
219
+ })
220
+ return retValArray;
221
+ }
222
+ promArray.push(prom());
223
+ });
195
224
 
196
- const promRetVal = await Promise.all(promArray);
197
- let retVal: T[] = [ ];
198
- promRetVal.forEach(prv => {
199
- retVal = retVal.concat(prv);
200
- });
201
- return retVal;
225
+ const promRetVal = await Promise.all(promArray);
226
+ let retVal: T[] = [ ];
227
+ promRetVal.forEach(prv => {
228
+ retVal = retVal.concat(prv);
229
+ });
230
+ return retVal;
231
+ } catch (error) {
232
+ if (ecb) {
233
+ ecb(filters, error as Error);
234
+ }
235
+ return null;
236
+ }
202
237
  }
203
238
 
204
- async CreateFhirResources(fhir: T[], ecb?: (error: Error) => void): Promise<T[] | null> {
205
- return null;
239
+ async CreateFhirResources(fhir: T[], ecb?: (fhir: T, error: Error) => void): Promise<(T | null)[]> {
240
+ const promArray: Promise<T | null>[] = [ ];
241
+ fhir.forEach(async (f) => {
242
+ promArray.push(this.CreateFhirResource(f, ecb));
243
+ })
244
+ const promRetVal = await Promise.all(promArray);
245
+ return promRetVal;
206
246
  }
207
247
 
208
- async UpdateFhirResources(fhir: T[], ecb?: (error: Error) => void): Promise<T[] | null> {
209
- return null
248
+ async UpdateFhirResources(fhir: T[], ecb?: (fhir: T, error: Error) => void): Promise<(T | null)[]> {
249
+ const promArray: Promise<T | null>[] = [ ];
250
+ fhir.forEach(async (f) => {
251
+ promArray.push(this.UpdateFhirResource(f, ecb));
252
+ })
253
+ const promRetVal = await Promise.all(promArray);
254
+ return promRetVal;
210
255
  }
211
256
 
212
- async DeleteFhirResources(fhir: Partial<T>[], ecb?: (error: Error) => void): Promise<T[] | null> {
213
- return null;
257
+ async DeleteFhirResources(fhir: Partial<T>[], ecb?: (fhir: Partial<T>, error: Error) => void): Promise<(T | null)[]> {
258
+ const promArray: Promise<T | null>[] = [ ];
259
+ fhir.forEach(async (f) => {
260
+ promArray.push(this.DeleteFhirResource(f, ecb));
261
+ })
262
+ const promRetVal = await Promise.all(promArray);
263
+ return promRetVal;
214
264
  }
215
265
  }
@@ -110,6 +110,90 @@ export class TestHelpers {
110
110
  }
111
111
  }
112
112
 
113
+ AddFhirPersonsByArray = async (personManager: IDALFhirDataAccessManager<IPerson>, iterations: number) => {
114
+ const persons: IPerson[] = [ ];
115
+ for (let i=0; i < iterations; i++) {
116
+ const id = `bulk_${i}`;
117
+
118
+ const personRecord: IPerson = {
119
+ id,
120
+ _resourceType: 'Person',
121
+ name: [
122
+ {
123
+ family: `family ${i}`,
124
+ given: [ `given ${i}` ],
125
+ use: `usual`
126
+ }
127
+ ],
128
+ text: {
129
+ div: `New Record ${i}`,
130
+ status: 'generated'
131
+ }
132
+ };
133
+
134
+ persons.push(personRecord);
135
+ }
136
+
137
+ const newPersons = await personManager.CreateFhirResources(persons);
138
+ expect(newPersons).toMatchObject(persons);
139
+ }
140
+
141
+ UpdateFhirPersonsByArray = async (personManager: IDALFhirDataAccessManager<IPerson>, iterations: number) => {
142
+ const persons: IPerson[] = [ ];
143
+ for (let i=0; i < iterations; i++) {
144
+ const id = `bulk_${i}`;
145
+
146
+ const personRecord: IPerson = {
147
+ id,
148
+ _resourceType: 'Person',
149
+ name: [
150
+ {
151
+ family: `family ${i}`,
152
+ given: [ `given ${i}` ],
153
+ use: `usual`
154
+ }
155
+ ],
156
+ text: {
157
+ div: `Updated Record ${i}`,
158
+ status: 'generated'
159
+ }
160
+ };
161
+
162
+ persons.push(personRecord);
163
+ }
164
+
165
+ const newPersons = await personManager.UpdateFhirResources(persons);
166
+ expect(newPersons).toMatchObject(persons);
167
+ }
168
+
169
+ DeleteFhirPersonsByArray = async (personManager: IDALFhirDataAccessManager<IPerson>, iterations: number) => {
170
+ const persons: IPerson[] = [ ];
171
+ for (let i=0; i < iterations; i++) {
172
+ const id = `bulk_${i}`;
173
+
174
+ const personRecord: IPerson = {
175
+ id,
176
+ _resourceType: 'Person',
177
+ name: [
178
+ {
179
+ family: `family ${i}`,
180
+ given: [ `given ${i}` ],
181
+ use: `usual`
182
+ }
183
+ ],
184
+ text: {
185
+ div: `Updated Record ${i}`,
186
+ status: 'generated'
187
+ }
188
+ };
189
+
190
+ persons.push(personRecord);
191
+ }
192
+
193
+ const newPersons = await personManager.DeleteFhirResources(persons);
194
+ expect(newPersons).toMatchObject(persons);
195
+ }
196
+
113
197
  StartDatabase = async() => {
114
198
  this.#postgresContainer = await new GenericContainer("postgres")
115
199
  .withExposedPorts(5432)
@@ -312,14 +312,14 @@ export interface IPersonResource {
312
312
  notes: string;
313
313
  }
314
314
  export interface IDALFhirDataAccessManager<T> {
315
- GetFhirResource(fhir: Partial<T>, ecb?: (error: Error) => void): Promise<T | null>;
316
- GetFhirResources(filters: string[], ecb?: (error: Error) => void): Promise<T[] | null>;
317
- CreateFhirResource(fhir: T, ecb?: (error: Error) => void): Promise<T | null>;
318
- CreateFhirResources(fhir: T[], ecb?: (error: Error) => void): Promise<T[] | null>;
319
- UpdateFhirResource(fhir: T, ecb?: (error: Error) => void): Promise<T | null>;
320
- UpdateFhirResources(fhir: T[], ecb?: (error: Error) => void): Promise<T[] | null>;
321
- DeleteFhirResource(fhir: Partial<T>, ecb?: (error: Error) => void): Promise<T | null>;
322
- DeleteFhirResources(fhir: Partial<T>[], ecb?: (error: Error) => void): Promise<T[] | null>;
315
+ GetFhirResource(fhir: Partial<T>, ecb?: (fhir: Partial<T>, error: Error) => void): Promise<T | null>;
316
+ GetFhirResources(filters: string[], ecb?: (filters: string[], error: Error) => void): Promise<T[] | null>;
317
+ CreateFhirResource(fhir: T, ecb?: (fhir: T, error: Error) => void): Promise<T | null>;
318
+ CreateFhirResources(fhir: T[], ecb?: (fhir: T, error: Error) => void): Promise<(T | null)[]>;
319
+ UpdateFhirResource(fhir: T, ecb?: (fhir: T, error: Error) => void): Promise<T | null>;
320
+ UpdateFhirResources(fhir: T[], ecb?: (fhir: T, error: Error) => void): Promise<(T | null)[]>;
321
+ DeleteFhirResource(fhir: Partial<T>, ecb?: (fhir: Partial<T>, error: Error) => void): Promise<T | null>;
322
+ DeleteFhirResources(fhir: Partial<T>[], ecb?: (fhir: Partial<T>, error: Error) => void): Promise<(T | null)[]>;
323
323
  Start(): Promise<void>;
324
324
  Stop(): Promise<void>;
325
325
  get options(): JSONObject;
@@ -1 +1 @@
1
- {"version":3,"file":"STSFhirTypes.d.ts","sourceRoot":"","sources":["../../src/fhir/STSFhirTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"STSFhirTypes.d.ts","sourceRoot":"","sources":["../../src/fhir/STSFhirTypes.ts"],"names":[],"mappings":"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"}