@nsshunt/stsappframework 3.1.146 → 3.1.148

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 (46) hide show
  1. package/dist/fhir/dalFhirManagerBase.js +63 -0
  2. package/dist/fhir/dalFhirManagerBase.js.map +1 -0
  3. package/dist/fhir/dalFhirManagerIORedisJson.js +137 -88
  4. package/dist/fhir/dalFhirManagerIORedisJson.js.map +1 -1
  5. package/dist/fhir/dalFhirManagerIORedisJson.test.js +27 -1
  6. package/dist/fhir/dalFhirManagerIORedisJson.test.js.map +1 -1
  7. package/dist/fhir/dalFhirManagerPGRes.js +43 -53
  8. package/dist/fhir/dalFhirManagerPGRes.js.map +1 -1
  9. package/dist/fhir/dalFhirManagerPGRes.test.js +25 -1
  10. package/dist/fhir/dalFhirManagerPGRes.test.js.map +1 -1
  11. package/dist/fhir/dalFhirManagerPGResEntity.js +50 -57
  12. package/dist/fhir/dalFhirManagerPGResEntity.js.map +1 -1
  13. package/dist/fhir/dalFhirManagerPGResEntity.test.js +25 -1
  14. package/dist/fhir/dalFhirManagerPGResEntity.test.js.map +1 -1
  15. package/dist/fhir/dalFhirManagerRedisJson.js +104 -79
  16. package/dist/fhir/dalFhirManagerRedisJson.js.map +1 -1
  17. package/dist/fhir/dalFhirManagerRedisJson.test.js +27 -1
  18. package/dist/fhir/dalFhirManagerRedisJson.test.js.map +1 -1
  19. package/dist/fhir/dalFhirTestHelpers.js +72 -0
  20. package/dist/fhir/dalFhirTestHelpers.js.map +1 -1
  21. package/package.json +1 -1
  22. package/src/fhir/STSFhirTypes.ts +14 -14
  23. package/src/fhir/dalFhirManagerBase.ts +77 -0
  24. package/src/fhir/dalFhirManagerIORedisJson.test.ts +37 -1
  25. package/src/fhir/dalFhirManagerIORedisJson.ts +139 -97
  26. package/src/fhir/dalFhirManagerPGRes.test.ts +34 -1
  27. package/src/fhir/dalFhirManagerPGRes.ts +52 -69
  28. package/src/fhir/dalFhirManagerPGResEntity.test.ts +34 -1
  29. package/src/fhir/dalFhirManagerPGResEntity.ts +57 -88
  30. package/src/fhir/dalFhirManagerRedisJson.test.ts +37 -1
  31. package/src/fhir/dalFhirManagerRedisJson.ts +103 -88
  32. package/src/fhir/dalFhirTestHelpers.ts +84 -0
  33. package/types/fhir/STSFhirTypes.d.ts +13 -14
  34. package/types/fhir/STSFhirTypes.d.ts.map +1 -1
  35. package/types/fhir/dalFhirManagerBase.d.ts +19 -0
  36. package/types/fhir/dalFhirManagerBase.d.ts.map +1 -0
  37. package/types/fhir/dalFhirManagerIORedisJson.d.ts +10 -11
  38. package/types/fhir/dalFhirManagerIORedisJson.d.ts.map +1 -1
  39. package/types/fhir/dalFhirManagerPGRes.d.ts +7 -12
  40. package/types/fhir/dalFhirManagerPGRes.d.ts.map +1 -1
  41. package/types/fhir/dalFhirManagerPGResEntity.d.ts +7 -11
  42. package/types/fhir/dalFhirManagerPGResEntity.d.ts.map +1 -1
  43. package/types/fhir/dalFhirManagerRedisJson.d.ts +7 -11
  44. package/types/fhir/dalFhirManagerRedisJson.d.ts.map +1 -1
  45. package/types/fhir/dalFhirTestHelpers.d.ts +3 -0
  46. package/types/fhir/dalFhirTestHelpers.d.ts.map +1 -1
@@ -10,6 +10,7 @@ const dalFhirTestHelpers_1 = require("./dalFhirTestHelpers");
10
10
  const stsutils_1 = require("@nsshunt/stsutils");
11
11
  const dalFhirManager_1 = require("./dalFhirManager");
12
12
  const chalk_1 = __importDefault(require("chalk"));
13
+ const stsdatamanagement_1 = require("@nsshunt/stsdatamanagement");
13
14
  vitest_1.describe.skip("Test hl7 fhir resource data access layer - RedisJson", () => {
14
15
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
15
16
  let testHelpers;
@@ -21,6 +22,7 @@ vitest_1.describe.skip("Test hl7 fhir resource data access layer - RedisJson", (
21
22
  persistenceType: STSFhirTypes_1.IFhirPersistenceType.redisJson,
22
23
  persistenceTypeOptions: {
23
24
  resourceName: 'STSFhirPerson',
25
+ dbactionuser: stsdatamanagement_1.SYSTEM_USER_ID,
24
26
  redisUrl: testHelpers.ioRedisMessageProcessorUrl
25
27
  }
26
28
  });
@@ -30,7 +32,7 @@ vitest_1.describe.skip("Test hl7 fhir resource data access layer - RedisJson", (
30
32
  vitest_1.expect.assertions(6);
31
33
  await testHelpers.TestFhirPerson(fhirManager.fhirDataAccessManager);
32
34
  }, 30000);
33
- (0, vitest_1.test)('Testing Person', async () => {
35
+ (0, vitest_1.test)('Testing Persons with Search', async () => {
34
36
  const iterations = 10;
35
37
  vitest_1.expect.assertions(iterations + 1);
36
38
  await testHelpers.AddFhirPersons(fhirManager.fhirDataAccessManager, iterations);
@@ -38,6 +40,30 @@ vitest_1.describe.skip("Test hl7 fhir resource data access layer - RedisJson", (
38
40
  (0, vitest_1.expect)(fhirResources?.length).toEqual(iterations);
39
41
  console.log(chalk_1.default.green(JSON.stringify(fhirResources)));
40
42
  }, 30000);
43
+ (0, vitest_1.test)('Testing Persons with Bulk Insert', async () => {
44
+ const iterations = 10;
45
+ vitest_1.expect.assertions(2);
46
+ await testHelpers.AddFhirPersonsByArray(fhirManager.fhirDataAccessManager, iterations);
47
+ const fhirResources = await fhirManager.fhirDataAccessManager.GetFhirResources(['bulk_']);
48
+ (0, vitest_1.expect)(fhirResources?.length).toEqual(iterations);
49
+ console.log(chalk_1.default.rgb(133, 161, 142)(JSON.stringify(fhirResources)));
50
+ }, 30000);
51
+ (0, vitest_1.test)('Testing Persons with Bulk Update', async () => {
52
+ const iterations = 10;
53
+ vitest_1.expect.assertions(2);
54
+ await testHelpers.UpdateFhirPersonsByArray(fhirManager.fhirDataAccessManager, iterations);
55
+ const fhirResources = await fhirManager.fhirDataAccessManager.GetFhirResources(['bulk_']);
56
+ (0, vitest_1.expect)(fhirResources?.length).toEqual(iterations);
57
+ console.log(chalk_1.default.rgb(157, 133, 161)(JSON.stringify(fhirResources)));
58
+ }, 30000);
59
+ (0, vitest_1.test)('Testing Persons with Bulk Delete', async () => {
60
+ const iterations = 7;
61
+ vitest_1.expect.assertions(2);
62
+ await testHelpers.DeleteFhirPersonsByArray(fhirManager.fhirDataAccessManager, iterations);
63
+ const fhirResources = await fhirManager.fhirDataAccessManager.GetFhirResources(['bulk_']);
64
+ (0, vitest_1.expect)(fhirResources?.length).toEqual(10 - iterations);
65
+ console.log(chalk_1.default.rgb(105, 97, 50)(JSON.stringify(fhirResources)));
66
+ }, 30000);
41
67
  (0, vitest_1.afterAll)(async () => {
42
68
  await fhirManager.fhirDataAccessManager.Stop();
43
69
  await (0, stsutils_1.JestSleep)();
@@ -1 +1 @@
1
- {"version":3,"file":"dalFhirManagerRedisJson.test.js","sourceRoot":"","sources":["../../src/fhir/dalFhirManagerRedisJson.test.ts"],"names":[],"mappings":";;;;;AAAA,kDAAkD,CAAE,UAAU;AAC9D,mCAAqE;AAErE,iDAA8D;AAE9D,6DAAkD;AAElD,gDAA6C;AAE7C,qDAAiD;AACjD,kDAAyB;AAEzB,iBAAQ,CAAC,IAAI,CAAC,sDAAsD,EAAE,GAAG,EAAE;IAEvE,8DAA8D;IAC9D,IAAI,WAAwB,CAAC;IAC7B,IAAI,WAAoC,CAAA;IAExC,IAAA,kBAAS,EAAC,KAAK,IAAI,EAAE;QAEjB,WAAW,GAAG,IAAI,gCAAW,EAAE,CAAC;QAChC,MAAM,WAAW,CAAC,UAAU,EAAE,CAAC;QAE/B,WAAW,GAAG,IAAI,+BAAc,CAAC;YAC7B,eAAe,EAAE,mCAAoB,CAAC,SAAS;YAC/C,sBAAsB,EAAE;gBACpB,YAAY,EAAE,eAAe;gBAC7B,QAAQ,EAAE,WAAW,CAAC,0BAA0B;aACnD;SACJ,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;IACpD,CAAC,EAAE,KAAK,CAAC,CAAC;IAEV,IAAA,aAAI,EAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;QAC9B,eAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IACxE,CAAC,EAAE,KAAK,CAAC,CAAC;IAEV,IAAA,aAAI,EAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,eAAM,CAAC,UAAU,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAClC,MAAM,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAAC;QAEhF,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrF,IAAA,eAAM,EAAC,aAAa,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAElD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC,EAAE,KAAK,CAAC,CAAC;IAEV,IAAA,iBAAQ,EAAC,KAAK,IAAI,EAAE;QAEhB,MAAM,WAAW,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;QAC/C,MAAM,IAAA,oBAAS,GAAE,CAAC;QAClB,MAAM,WAAW,CAAC,SAAS,EAAE,CAAC;IAClC,CAAC,EAAE,IAAI,CAAC,CAAC;AACb,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"dalFhirManagerRedisJson.test.js","sourceRoot":"","sources":["../../src/fhir/dalFhirManagerRedisJson.test.ts"],"names":[],"mappings":"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"}
@@ -87,6 +87,78 @@ class TestHelpers {
87
87
  (0, vitest_1.expect)(newPerson01).toMatchObject(personRecord);
88
88
  }
89
89
  };
90
+ AddFhirPersonsByArray = async (personManager, iterations) => {
91
+ const persons = [];
92
+ for (let i = 0; i < iterations; i++) {
93
+ const id = `bulk_${i}`;
94
+ const personRecord = {
95
+ id,
96
+ _resourceType: 'Person',
97
+ name: [
98
+ {
99
+ family: `family ${i}`,
100
+ given: [`given ${i}`],
101
+ use: `usual`
102
+ }
103
+ ],
104
+ text: {
105
+ div: `New Record ${i}`,
106
+ status: 'generated'
107
+ }
108
+ };
109
+ persons.push(personRecord);
110
+ }
111
+ const newPersons = await personManager.CreateFhirResources(persons);
112
+ (0, vitest_1.expect)(newPersons).toMatchObject(persons);
113
+ };
114
+ UpdateFhirPersonsByArray = async (personManager, iterations) => {
115
+ const persons = [];
116
+ for (let i = 0; i < iterations; i++) {
117
+ const id = `bulk_${i}`;
118
+ const personRecord = {
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: `Updated Record ${i}`,
130
+ status: 'generated'
131
+ }
132
+ };
133
+ persons.push(personRecord);
134
+ }
135
+ const newPersons = await personManager.UpdateFhirResources(persons);
136
+ (0, vitest_1.expect)(newPersons).toMatchObject(persons);
137
+ };
138
+ DeleteFhirPersonsByArray = async (personManager, iterations) => {
139
+ const persons = [];
140
+ for (let i = 0; i < iterations; i++) {
141
+ const id = `bulk_${i}`;
142
+ const personRecord = {
143
+ id,
144
+ _resourceType: 'Person',
145
+ name: [
146
+ {
147
+ family: `family ${i}`,
148
+ given: [`given ${i}`],
149
+ use: `usual`
150
+ }
151
+ ],
152
+ text: {
153
+ div: `Updated Record ${i}`,
154
+ status: 'generated'
155
+ }
156
+ };
157
+ persons.push(personRecord);
158
+ }
159
+ const newPersons = await personManager.DeleteFhirResources(persons);
160
+ (0, vitest_1.expect)(newPersons).toMatchObject(persons);
161
+ };
90
162
  StartDatabase = async () => {
91
163
  this.#postgresContainer = await new testcontainers_1.GenericContainer("postgres")
92
164
  .withExposedPorts(5432)
@@ -1 +1 @@
1
- {"version":3,"file":"dalFhirTestHelpers.js","sourceRoot":"","sources":["../../src/fhir/dalFhirTestHelpers.ts"],"names":[],"mappings":";;;;;;AAAA,mCAAgC;AAEhC,+BAAoC;AAEpC,kDAA0B;AAE1B,kDAA4D;AAE5D,gDAAmE;AAEnE,kEAAwI;AAExI,mDAAkD;AAElD,sDAA6B;AAE7B,MAAa,WAAW;IACpB,8DAA8D;IAC9D,kBAAkB,CAAM;IACxB,YAAY,GAA0B,IAAI,CAAC;IAC3C,OAAO,CAAiB;IACxB,8DAA8D;IAC9D,iBAAiB,CAAM;IACvB,2BAA2B,GAAG,EAAE,CAAC;IAEjC;QACI,iBAAO,CAAC,MAAM,CAAC,OAAO,CAClB,iBAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,EACzB,iBAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAC1B,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG,iBAAO,CAAC,YAAY,CAAC;YAChC,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,iBAAO,CAAC,MAAM,CAAC,OAAO,CAC1B,iBAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,EACzB,iBAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAC1B;YACD,UAAU,EAAE;gBACR,IAAI,iBAAO,CAAC,UAAU,CAAC,OAAO,EAAE;aACnC;SAAC,CAAC,CAAC;IACZ,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,cAAc,GAAG,KAAK,EAAE,aAAiD,EAAE,EAAE;QACzE,eAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAErB,MAAM,EAAE,GAAG,IAAA,SAAM,GAAE,CAAC;QAEpB,MAAM,YAAY,GAAY;YAC1B,EAAE;YACF,aAAa,EAAE,QAAQ;YACvB,IAAI,EAAE;gBACF;oBACI,MAAM,EAAE,QAAQ;oBAChB,KAAK,EAAE,CAAE,OAAO,CAAE;oBAClB,GAAG,EAAE,OAAO;iBACf;aACJ;YACD,IAAI,EAAE;gBACF,GAAG,EAAE,YAAY;gBACjB,MAAM,EAAE,WAAW;aACtB;SACJ,CAAC;QAEF,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QACzE,IAAA,eAAM,EAAC,WAAW,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAE/C,YAAY,CAAC,IAAmB,CAAC,GAAG,GAAG,oBAAoB,GAAG,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;QACrF,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAC7E,IAAA,eAAM,EAAC,eAAe,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAEpD,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,eAAe,CAAC,EAAC,EAAE,EAAC,CAAC,CAAA;QAC7D,IAAA,eAAM,EAAC,WAAW,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAEhD,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,eAAe,CAAC,EAAC,EAAE,EAAC,aAAa,EAAC,CAAC,CAAA;QAC3E,IAAA,eAAM,EAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE/B,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,kBAAkB,CAAC,EAAC,EAAE,EAAC,CAAC,CAAA;QACnE,IAAA,eAAM,EAAC,cAAc,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAEnD,MAAM,sBAAsB,GAAG,MAAM,aAAa,CAAC,eAAe,CAAC,EAAC,EAAE,EAAC,CAAC,CAAA;QACxE,IAAA,eAAM,EAAC,sBAAsB,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC9C,CAAC,CAAA;IAED,cAAc,GAAG,KAAK,EAAE,aAAiD,EAAE,UAAkB,EAAE,EAAE;QAC7F,KAAK,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,MAAM,EAAE,GAAG,IAAA,SAAM,GAAE,CAAC;YAEpB,MAAM,YAAY,GAAY;gBAC1B,EAAE;gBACF,aAAa,EAAE,QAAQ;gBACvB,IAAI,EAAE;oBACF;wBACI,MAAM,EAAE,UAAU,CAAC,EAAE;wBACrB,KAAK,EAAE,CAAE,SAAS,CAAC,EAAE,CAAE;wBACvB,GAAG,EAAE,OAAO;qBACf;iBACJ;gBACD,IAAI,EAAE;oBACF,GAAG,EAAE,cAAc,CAAC,EAAE;oBACtB,MAAM,EAAE,WAAW;iBACtB;aACJ,CAAC;YAEF,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;YACzE,IAAA,eAAM,EAAC,WAAW,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACpD,CAAC;IACL,CAAC,CAAA;IAED,aAAa,GAAG,KAAK,IAAG,EAAE;QACtB,IAAI,CAAC,kBAAkB,GAAG,MAAM,IAAI,iCAAgB,CAAC,UAAU,CAAC;aAC3D,gBAAgB,CAAC,IAAI,CAAC;aACtB,eAAe,CAAC;YACb,iBAAiB,EAAE,UAAU;YAC7B,0BAA0B;SAC7B,CAAC;aACD,WAAW,CAAC,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;aACzC,KAAK,EAAE,CAAC;QAEb,MAAM,IAAA,gBAAK,EAAC,IAAI,CAAC,CAAC;QAElB,MAAM,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACrE,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;QAEvD,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,GAAG,YAAY,IAAI,gBAAgB,EAAE,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;QAE7B,IAAA,yBAAa,GAAE,CAAC;QAEhB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAK,CAAC,KAAK,CAAC,cAAc,gBAAgB,GAAG,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAK,CAAC,KAAK,CAAC,UAAU,YAAY,GAAG,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAK,CAAC,MAAM,CAAC,sBAAsB,oBAAQ,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;QACnF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAK,CAAC,MAAM,CAAC,qCAAqC,oBAAQ,CAAC,+BAAgC,GAAG,CAAC,CAAC,CAAC;QAElH,MAAM,SAAS,GAAG;YACd,KAAK,EAAE,CAAC;YACR,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,CAAC;YACf,YAAY,EAAE,IAAI;YAClB,kBAAkB,EAAE,QAAQ,EAAE,IAAI;YAClC,WAAW,EAAE,KAAK;SACrB,CAAA;QAED,MAAM,OAAO,GAAG,IAAI,iCAAa,CAAC;YAC9B,MAAM,EAAE,IAAI,CAAC,MAAM;SACtB,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAExC,MAAM,IAAA,gBAAK,EAAC,IAAI,CAAC,CAAC;QAElB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAEtD,IAAI,CAAC,YAAY,GAAG,IAAI,wCAAoB,EAAE,CAAC,iBAAiB,CAAC;YAC7D,eAAe,EAAE,mCAAe,CAAC,UAAU;YAC3C,kBAAkB,EAAE;gBAChB,MAAM,EAAE,wBAAa;gBACrB,YAAY,EAAE,KAAK;aACG;SAC7B,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAK,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;IAC5C,CAAC,CAAA;IAED,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,YAAY,GAAG,KAAK,IAAI,EAAE;QACtB,MAAM,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC;QACvC,MAAM,IAAA,oBAAS,GAAE,CAAC;QAClB,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;IACzC,CAAC,CAAA;IAED,UAAU,GAAG,KAAK,IAAI,EAAE;QACpB,IAAI,CAAC,iBAAiB,GAAG,MAAM,IAAI,iCAAgB,CAAC,0BAA0B,CAAC;aAC1E,gBAAgB,CAAC,IAAI,CAAC;aACtB,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,2BAA2B,GAAG,WAAW,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;IACnI,CAAC,CAAA;IAED,IAAI,0BAA0B;QAC1B,OAAO,IAAI,CAAC,2BAA2B,CAAC;IAC5C,CAAC;IAED,SAAS,GAAG,KAAK,IAAI,EAAE;QACnB,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;IACxC,CAAC,CAAA;CACJ;AA/KD,kCA+KC"}
1
+ {"version":3,"file":"dalFhirTestHelpers.js","sourceRoot":"","sources":["../../src/fhir/dalFhirTestHelpers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nsshunt/stsappframework",
3
- "version": "3.1.146",
3
+ "version": "3.1.148",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "./types/index.d.ts",
@@ -497,35 +497,35 @@ export interface IPersonResource {
497
497
  }
498
498
 
499
499
  export interface IDALFhirDataAccessManager<T> {
500
- GetFhirResource(fhir: Partial<T>, ecb?: (error: Error) => void): Promise<T | null>
501
- GetFhirResources(filters: string[], ecb?: (error: Error) => void): Promise<T[] | null>
502
- CreateFhirResource(fhir: T, ecb?: (error: Error) => void): Promise<T | null>
503
- CreateFhirResources(fhir: T[], ecb?: (error: Error) => void): Promise<T[] | null>
504
- UpdateFhirResource(fhir: T, ecb?: (error: Error) => void): Promise<T | null>
505
- UpdateFhirResources(fhir: T[], ecb?: (error: Error) => void): Promise<T[] | null>
506
- DeleteFhirResource(fhir: Partial<T>, ecb?: (error: Error) => void): Promise<T | null>
507
- DeleteFhirResources(fhir: Partial<T>[], ecb?: (error: Error) => void): Promise<T[] | null>
500
+ GetFhirResource(fhir: Partial<T>, ecb?: (fhir: Partial<T>, error: Error) => void): Promise<T | null>
501
+ GetFhirResources(filters: string[], ecb?: (filters: string[], error: Error) => void): Promise<T[] | null>
502
+ CreateFhirResource(fhir: T, ecb?: (fhir: T, error: Error) => void): Promise<T | null>
503
+ CreateFhirResources(fhir: T[], ecb?: (fhir: T, error: Error) => void): Promise<(T | null)[]>
504
+ UpdateFhirResource(fhir: T, ecb?: (fhir: T, error: Error) => void): Promise<T | null>
505
+ UpdateFhirResources(fhir: T[], ecb?: (fhir: T, error: Error) => void): Promise<(T | null)[]>
506
+ DeleteFhirResource(fhir: Partial<T>, ecb?: (fhir: Partial<T>, error: Error) => void): Promise<T | null>
507
+ DeleteFhirResources(fhir: Partial<T>[], ecb?: (fhir: Partial<T>, error: Error) => void): Promise<(T | null)[]>
508
508
  Start(): Promise<void>
509
509
  Stop(): Promise<void>
510
510
  get options()
511
511
  set options(options: JSONObject)
512
512
  }
513
513
 
514
- export interface IFhirManagerPGResOptions {
514
+ export interface IFhirManagerBaseOptions {
515
515
  resourceName: string
516
516
  dbactionuser: string
517
+ }
518
+
519
+ export interface IFhirManagerPGResOptions extends IFhirManagerBaseOptions {
517
520
  accessLayer: IDBAccessLayer
518
521
  }
519
522
 
520
- export interface IFhirManagerPGResEntityOptions {
521
- resourceName: string
522
- dbactionuser: string
523
+ export interface IFhirManagerPGResEntityOptions extends IFhirManagerBaseOptions {
523
524
  accessLayer: IDBAccessLayer
524
525
  }
525
526
 
526
- export interface IFhirManagerRedisJsonOptions {
527
+ export interface IFhirManagerRedisJsonOptions extends IFhirManagerBaseOptions {
527
528
  redisUrl: string
528
- resourceName: string
529
529
  }
530
530
 
531
531
  export enum IFhirPersistenceType {
@@ -0,0 +1,77 @@
1
+ /* eslint @typescript-eslint/no-unused-vars: 0 */ // --> OFF
2
+ import { IDomainResource, IDALFhirDataAccessManager, IFhirManagerBaseOptions } from './STSFhirTypes'
3
+
4
+ export abstract class DALFhirManagerBase<T> implements IDALFhirDataAccessManager<T> {
5
+ #options: IFhirManagerBaseOptions;
6
+
7
+ constructor(options: IFhirManagerBaseOptions) {
8
+ this.#options = options;
9
+ }
10
+
11
+ get options() {
12
+ return this.#options;
13
+ }
14
+
15
+ set options(options: IFhirManagerBaseOptions) {
16
+ this.#options = options;
17
+ }
18
+
19
+ async Start() {
20
+
21
+ }
22
+
23
+ async Stop() {
24
+
25
+ }
26
+
27
+ GetResourceType(fhir: Partial<T>): string {
28
+ return `${this.#options.resourceName}_${(fhir as Partial<IDomainResource>).id}`;
29
+ }
30
+
31
+ async GetFhirResource(fhir: Partial<T>, ecb?: (fhir: Partial<T>, error: Error) => void): Promise<T | null> {
32
+ return null;
33
+ }
34
+
35
+ async CreateFhirResource(fhir: T, ecb?: (fhir: T, error: Error) => void): Promise<T | null> {
36
+ return null;
37
+ }
38
+
39
+ async UpdateFhirResource(fhir: T, ecb?: (fhir: T, error: Error) => void): Promise<T | null> {
40
+ return null;
41
+ }
42
+
43
+ async DeleteFhirResource(fhir: Partial<T>, ecb?: (fhir: Partial<T>, error: Error) => void): Promise<T | null> {
44
+ return null;
45
+ }
46
+
47
+ async GetFhirResources(filters: string[], ecb?: (filters: string[], error: Error) => void): Promise<T[] | null> {
48
+ return null;
49
+ }
50
+
51
+ async CreateFhirResources(fhir: T[], ecb?: (fhir: T, error: Error) => void): Promise<(T | null)[]> {
52
+ const promArray: Promise<T | null>[] = [ ];
53
+ fhir.forEach(async (f) => {
54
+ promArray.push(this.CreateFhirResource(f, ecb));
55
+ })
56
+ const promRetVal = await Promise.all(promArray);
57
+ return promRetVal;
58
+ }
59
+
60
+ async UpdateFhirResources(fhir: T[], ecb?: (fhir: T, error: Error) => void): Promise<(T | null)[]> {
61
+ const promArray: Promise<T | null>[] = [ ];
62
+ fhir.forEach(async (f) => {
63
+ promArray.push(this.UpdateFhirResource(f, ecb));
64
+ })
65
+ const promRetVal = await Promise.all(promArray);
66
+ return promRetVal;
67
+ }
68
+
69
+ async DeleteFhirResources(fhir: Partial<T>[], ecb?: (fhir: Partial<T>, error: Error) => void): Promise<(T | null)[]> {
70
+ const promArray: Promise<T | null>[] = [ ];
71
+ fhir.forEach(async (f) => {
72
+ promArray.push(this.DeleteFhirResource(f, ecb));
73
+ })
74
+ const promRetVal = await Promise.all(promArray);
75
+ return promRetVal;
76
+ }
77
+ }
@@ -9,6 +9,8 @@ import { JestSleep } from '@nsshunt/stsutils'
9
9
 
10
10
  import { DALFhirManager } from './dalFhirManager'
11
11
 
12
+ import { SYSTEM_USER_ID } from '@nsshunt/stsdatamanagement'
13
+
12
14
  import chalk from 'chalk'
13
15
 
14
16
  describe.skip("Test hl7 fhir resource data access layer - RedisJson", () =>
@@ -26,6 +28,7 @@ describe.skip("Test hl7 fhir resource data access layer - RedisJson", () =>
26
28
  persistenceType: IFhirPersistenceType.ioredisJson,
27
29
  persistenceTypeOptions: {
28
30
  resourceName: 'STSFhirPerson',
31
+ dbactionuser: SYSTEM_USER_ID,
29
32
  redisUrl: testHelpers.ioRedisMessageProcessorUrl
30
33
  }
31
34
  });
@@ -38,7 +41,7 @@ describe.skip("Test hl7 fhir resource data access layer - RedisJson", () =>
38
41
  await testHelpers.TestFhirPerson(fhirManager.fhirDataAccessManager);
39
42
  }, 30000);
40
43
 
41
- test('Testing Person', async () => {
44
+ test('Testing Persons with Search', async () => {
42
45
  const iterations = 10;
43
46
  expect.assertions(iterations + 1);
44
47
  await testHelpers.AddFhirPersons(fhirManager.fhirDataAccessManager, iterations);
@@ -49,6 +52,39 @@ describe.skip("Test hl7 fhir resource data access layer - RedisJson", () =>
49
52
  console.log(chalk.magenta(JSON.stringify(fhirResources)));
50
53
  }, 30000);
51
54
 
55
+ test('Testing Persons with Bulk Insert', async () => {
56
+ const iterations = 10;
57
+ expect.assertions(2);
58
+ await testHelpers.AddFhirPersonsByArray(fhirManager.fhirDataAccessManager, iterations);
59
+
60
+ const fhirResources = await fhirManager.fhirDataAccessManager.GetFhirResources(['bulk_']);
61
+ expect(fhirResources?.length).toEqual(iterations);
62
+
63
+ console.log(chalk.rgb(133, 161, 142)(JSON.stringify(fhirResources)));
64
+ }, 30000);
65
+
66
+ test('Testing Persons with Bulk Update', async () => {
67
+ const iterations = 10;
68
+ expect.assertions(2);
69
+ await testHelpers.UpdateFhirPersonsByArray(fhirManager.fhirDataAccessManager, iterations);
70
+
71
+ const fhirResources = await fhirManager.fhirDataAccessManager.GetFhirResources(['bulk_']);
72
+ expect(fhirResources?.length).toEqual(iterations);
73
+
74
+ console.log(chalk.rgb(157, 133, 161)(JSON.stringify(fhirResources)));
75
+ }, 30000);
76
+
77
+ test('Testing Persons with Bulk Delete', async () => {
78
+ const iterations = 7;
79
+ expect.assertions(2);
80
+ await testHelpers.DeleteFhirPersonsByArray(fhirManager.fhirDataAccessManager, iterations);
81
+
82
+ const fhirResources = await fhirManager.fhirDataAccessManager.GetFhirResources(['bulk_']);
83
+ expect(fhirResources?.length).toEqual(10 - iterations);
84
+
85
+ console.log(chalk.rgb(105, 97, 50)(JSON.stringify(fhirResources)));
86
+ }, 30000);
87
+
52
88
  afterAll(async () =>
53
89
  {
54
90
  await fhirManager.fhirDataAccessManager.Stop();