@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.
- package/dist/fhir/dalFhirManagerBase.js +63 -0
- package/dist/fhir/dalFhirManagerBase.js.map +1 -0
- package/dist/fhir/dalFhirManagerIORedisJson.js +137 -88
- package/dist/fhir/dalFhirManagerIORedisJson.js.map +1 -1
- package/dist/fhir/dalFhirManagerIORedisJson.test.js +27 -1
- package/dist/fhir/dalFhirManagerIORedisJson.test.js.map +1 -1
- package/dist/fhir/dalFhirManagerPGRes.js +43 -53
- package/dist/fhir/dalFhirManagerPGRes.js.map +1 -1
- package/dist/fhir/dalFhirManagerPGRes.test.js +25 -1
- package/dist/fhir/dalFhirManagerPGRes.test.js.map +1 -1
- package/dist/fhir/dalFhirManagerPGResEntity.js +50 -57
- package/dist/fhir/dalFhirManagerPGResEntity.js.map +1 -1
- package/dist/fhir/dalFhirManagerPGResEntity.test.js +25 -1
- package/dist/fhir/dalFhirManagerPGResEntity.test.js.map +1 -1
- package/dist/fhir/dalFhirManagerRedisJson.js +104 -79
- package/dist/fhir/dalFhirManagerRedisJson.js.map +1 -1
- package/dist/fhir/dalFhirManagerRedisJson.test.js +27 -1
- package/dist/fhir/dalFhirManagerRedisJson.test.js.map +1 -1
- package/dist/fhir/dalFhirTestHelpers.js +72 -0
- package/dist/fhir/dalFhirTestHelpers.js.map +1 -1
- package/package.json +1 -1
- package/src/fhir/STSFhirTypes.ts +14 -14
- package/src/fhir/dalFhirManagerBase.ts +77 -0
- package/src/fhir/dalFhirManagerIORedisJson.test.ts +37 -1
- package/src/fhir/dalFhirManagerIORedisJson.ts +139 -97
- package/src/fhir/dalFhirManagerPGRes.test.ts +34 -1
- package/src/fhir/dalFhirManagerPGRes.ts +52 -69
- package/src/fhir/dalFhirManagerPGResEntity.test.ts +34 -1
- package/src/fhir/dalFhirManagerPGResEntity.ts +57 -88
- package/src/fhir/dalFhirManagerRedisJson.test.ts +37 -1
- package/src/fhir/dalFhirManagerRedisJson.ts +103 -88
- package/src/fhir/dalFhirTestHelpers.ts +84 -0
- package/types/fhir/STSFhirTypes.d.ts +13 -14
- package/types/fhir/STSFhirTypes.d.ts.map +1 -1
- package/types/fhir/dalFhirManagerBase.d.ts +19 -0
- package/types/fhir/dalFhirManagerBase.d.ts.map +1 -0
- package/types/fhir/dalFhirManagerIORedisJson.d.ts +10 -11
- package/types/fhir/dalFhirManagerIORedisJson.d.ts.map +1 -1
- package/types/fhir/dalFhirManagerPGRes.d.ts +7 -12
- package/types/fhir/dalFhirManagerPGRes.d.ts.map +1 -1
- package/types/fhir/dalFhirManagerPGResEntity.d.ts +7 -11
- package/types/fhir/dalFhirManagerPGResEntity.d.ts.map +1 -1
- package/types/fhir/dalFhirManagerRedisJson.d.ts +7 -11
- package/types/fhir/dalFhirManagerRedisJson.d.ts.map +1 -1
- package/types/fhir/dalFhirTestHelpers.d.ts +3 -0
- package/types/fhir/dalFhirTestHelpers.d.ts.map +1 -1
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DALFhirManagerBase = void 0;
|
|
4
|
+
class DALFhirManagerBase {
|
|
5
|
+
#options;
|
|
6
|
+
constructor(options) {
|
|
7
|
+
this.#options = options;
|
|
8
|
+
}
|
|
9
|
+
get options() {
|
|
10
|
+
return this.#options;
|
|
11
|
+
}
|
|
12
|
+
set options(options) {
|
|
13
|
+
this.#options = options;
|
|
14
|
+
}
|
|
15
|
+
async Start() {
|
|
16
|
+
}
|
|
17
|
+
async Stop() {
|
|
18
|
+
}
|
|
19
|
+
GetResourceType(fhir) {
|
|
20
|
+
return `${this.#options.resourceName}_${fhir.id}`;
|
|
21
|
+
}
|
|
22
|
+
async GetFhirResource(fhir, ecb) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
async CreateFhirResource(fhir, ecb) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
async UpdateFhirResource(fhir, ecb) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
async DeleteFhirResource(fhir, ecb) {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
async GetFhirResources(filters, ecb) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
async CreateFhirResources(fhir, ecb) {
|
|
38
|
+
const promArray = [];
|
|
39
|
+
fhir.forEach(async (f) => {
|
|
40
|
+
promArray.push(this.CreateFhirResource(f, ecb));
|
|
41
|
+
});
|
|
42
|
+
const promRetVal = await Promise.all(promArray);
|
|
43
|
+
return promRetVal;
|
|
44
|
+
}
|
|
45
|
+
async UpdateFhirResources(fhir, ecb) {
|
|
46
|
+
const promArray = [];
|
|
47
|
+
fhir.forEach(async (f) => {
|
|
48
|
+
promArray.push(this.UpdateFhirResource(f, ecb));
|
|
49
|
+
});
|
|
50
|
+
const promRetVal = await Promise.all(promArray);
|
|
51
|
+
return promRetVal;
|
|
52
|
+
}
|
|
53
|
+
async DeleteFhirResources(fhir, ecb) {
|
|
54
|
+
const promArray = [];
|
|
55
|
+
fhir.forEach(async (f) => {
|
|
56
|
+
promArray.push(this.DeleteFhirResource(f, ecb));
|
|
57
|
+
});
|
|
58
|
+
const promRetVal = await Promise.all(promArray);
|
|
59
|
+
return promRetVal;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.DALFhirManagerBase = DALFhirManagerBase;
|
|
63
|
+
//# sourceMappingURL=dalFhirManagerBase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dalFhirManagerBase.js","sourceRoot":"","sources":["../../src/fhir/dalFhirManagerBase.ts"],"names":[],"mappings":";;;AAGA,MAAsB,kBAAkB;IACpC,QAAQ,CAA0B;IAElC,YAAY,OAAgC;QACxC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,IAAI,OAAO,CAAC,OAAgC;QACxC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,KAAK;IAEX,CAAC;IAED,KAAK,CAAC,IAAI;IAEV,CAAC;IAED,eAAe,CAAC,IAAgB;QAC5B,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAK,IAAiC,CAAC,EAAE,EAAE,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAgB,EAAE,GAA8C;QAClF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAO,EAAE,GAAqC;QACnE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAO,EAAE,GAAqC;QACnE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAgB,EAAE,GAA8C;QACrF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAAiB,EAAE,GAA+C;QACrF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAS,EAAE,GAAqC;QACtE,MAAM,SAAS,GAAwB,EAAG,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACrB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,CAAA;QACF,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAChD,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAS,EAAE,GAAqC;QACtE,MAAM,SAAS,GAAwB,EAAG,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACrB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,CAAA;QACF,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAChD,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAkB,EAAE,GAA8C;QACxF,MAAM,SAAS,GAAwB,EAAG,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACrB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,CAAA;QACF,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAChD,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ;AAzED,gDAyEC"}
|
|
@@ -6,25 +6,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.DALFhirManagerIORedisJson = void 0;
|
|
7
7
|
const ioredis_1 = require("ioredis");
|
|
8
8
|
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
const dalFhirManagerBase_1 = require("./dalFhirManagerBase");
|
|
10
|
+
class DALFhirManagerIORedisJson extends dalFhirManagerBase_1.DALFhirManagerBase {
|
|
11
11
|
#redis = null;
|
|
12
12
|
#indexName = 'idx:stsfhirresindex';
|
|
13
13
|
constructor(options) {
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
get options() {
|
|
17
|
-
return this.#options;
|
|
18
|
-
}
|
|
19
|
-
set options(options) {
|
|
20
|
-
this.#options = options;
|
|
14
|
+
super(options);
|
|
21
15
|
}
|
|
22
16
|
async Start() {
|
|
23
17
|
const redisOptions = {
|
|
24
18
|
showFriendlyErrorStack: true,
|
|
25
19
|
maxRetriesPerRequest: 20
|
|
26
20
|
};
|
|
27
|
-
this.#redis = new ioredis_1.Redis(this
|
|
21
|
+
this.#redis = new ioredis_1.Redis(this.options.redisUrl, redisOptions);
|
|
28
22
|
await this.#CreateIndex();
|
|
29
23
|
}
|
|
30
24
|
async Stop() {
|
|
@@ -46,7 +40,7 @@ class DALFhirManagerIORedisJson {
|
|
|
46
40
|
console.log(chalk_1.default.red(error));
|
|
47
41
|
}
|
|
48
42
|
try {
|
|
49
|
-
const retVal = await this.#redis.call('FT.CREATE', this.#indexName, 'ON', 'HASH', 'PREFIX', '1', `${this
|
|
43
|
+
const retVal = await this.#redis.call('FT.CREATE', this.#indexName, 'ON', 'HASH', 'PREFIX', '1', `${this.options.resourceName}_`, 'SCHEMA', 'id', 'TEXT', 'SORTABLE');
|
|
50
44
|
console.log(retVal);
|
|
51
45
|
}
|
|
52
46
|
catch (error) {
|
|
@@ -57,25 +51,30 @@ class DALFhirManagerIORedisJson {
|
|
|
57
51
|
if (!this.#redis) {
|
|
58
52
|
return null;
|
|
59
53
|
}
|
|
60
|
-
const query = `@id:${this
|
|
54
|
+
const query = `@id:${this.options.resourceName}_${id}*`;
|
|
61
55
|
const retVal = await this.#redis.call('FT.SEARCH', this.#indexName, query, 'RETURN', '2', 'id', 'data', 'SORTBY', 'id', 'DESC', 'LIMIT', '0', '100');
|
|
62
56
|
return retVal;
|
|
63
57
|
};
|
|
64
58
|
GetResourceType(fhir) {
|
|
65
|
-
return `${this
|
|
59
|
+
return `${this.options.resourceName}_${fhir.id}`;
|
|
66
60
|
}
|
|
67
61
|
async GetFhirResource(fhir, ecb) {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
ecb
|
|
62
|
+
try {
|
|
63
|
+
if (this.#redis) {
|
|
64
|
+
const retValRaw = await this.#redis.hgetall(this.GetResourceType(fhir));
|
|
65
|
+
if (retValRaw) {
|
|
66
|
+
try {
|
|
67
|
+
const { id, data } = retValRaw;
|
|
68
|
+
return JSON.parse(data);
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
if (ecb) {
|
|
72
|
+
ecb(fhir, error);
|
|
73
|
+
}
|
|
74
|
+
return null;
|
|
78
75
|
}
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
79
78
|
return null;
|
|
80
79
|
}
|
|
81
80
|
}
|
|
@@ -83,56 +82,80 @@ class DALFhirManagerIORedisJson {
|
|
|
83
82
|
return null;
|
|
84
83
|
}
|
|
85
84
|
}
|
|
86
|
-
|
|
85
|
+
catch (error) {
|
|
86
|
+
if (ecb) {
|
|
87
|
+
ecb(fhir, error);
|
|
88
|
+
}
|
|
87
89
|
return null;
|
|
88
90
|
}
|
|
89
91
|
}
|
|
90
92
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
91
93
|
async CreateFhirResource(fhir, ecb) {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
94
|
+
try {
|
|
95
|
+
if (this.#redis) {
|
|
96
|
+
const record = {
|
|
97
|
+
id: this.GetResourceType(fhir),
|
|
98
|
+
data: JSON.stringify(fhir)
|
|
99
|
+
};
|
|
100
|
+
const retVal = await this.#redis.hmset(this.GetResourceType(fhir), record);
|
|
101
|
+
if (retVal) {
|
|
102
|
+
return fhir;
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
100
107
|
}
|
|
101
108
|
else {
|
|
102
109
|
return null;
|
|
103
110
|
}
|
|
104
111
|
}
|
|
105
|
-
|
|
112
|
+
catch (error) {
|
|
113
|
+
if (ecb) {
|
|
114
|
+
ecb(fhir, error);
|
|
115
|
+
}
|
|
106
116
|
return null;
|
|
107
117
|
}
|
|
108
118
|
}
|
|
109
119
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
110
120
|
async UpdateFhirResource(fhir, ecb) {
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
121
|
+
try {
|
|
122
|
+
if (this.#redis) {
|
|
123
|
+
const record = {
|
|
124
|
+
id: this.GetResourceType(fhir),
|
|
125
|
+
data: JSON.stringify(fhir)
|
|
126
|
+
};
|
|
127
|
+
const retVal = await this.#redis.hmset(this.GetResourceType(fhir), record);
|
|
128
|
+
if (retVal) {
|
|
129
|
+
return fhir;
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
119
134
|
}
|
|
120
135
|
else {
|
|
121
136
|
return null;
|
|
122
137
|
}
|
|
123
138
|
}
|
|
124
|
-
|
|
139
|
+
catch (error) {
|
|
140
|
+
if (ecb) {
|
|
141
|
+
ecb(fhir, error);
|
|
142
|
+
}
|
|
125
143
|
return null;
|
|
126
144
|
}
|
|
127
145
|
}
|
|
128
146
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
129
147
|
async DeleteFhirResource(fhir, ecb) {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
148
|
+
try {
|
|
149
|
+
if (this.#redis) {
|
|
150
|
+
const deleteResource = await this.GetFhirResource(fhir);
|
|
151
|
+
if (deleteResource) {
|
|
152
|
+
const retVal = await this.#redis.del(this.GetResourceType(fhir));
|
|
153
|
+
if (retVal) {
|
|
154
|
+
return deleteResource;
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
return null;
|
|
158
|
+
}
|
|
136
159
|
}
|
|
137
160
|
else {
|
|
138
161
|
return null;
|
|
@@ -142,59 +165,85 @@ class DALFhirManagerIORedisJson {
|
|
|
142
165
|
return null;
|
|
143
166
|
}
|
|
144
167
|
}
|
|
145
|
-
|
|
168
|
+
catch (error) {
|
|
169
|
+
if (ecb) {
|
|
170
|
+
ecb(fhir, error);
|
|
171
|
+
}
|
|
146
172
|
return null;
|
|
147
173
|
}
|
|
148
174
|
}
|
|
149
175
|
async GetFhirResources(filters, ecb) {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
const
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
const id = retVal[index++];
|
|
164
|
-
obj[id] = {};
|
|
165
|
-
const values = retVal[index++];
|
|
166
|
-
let dataIndex = 0;
|
|
167
|
-
for (let j = 0; j < values.length / 2; j++) {
|
|
168
|
-
const field = values[dataIndex++];
|
|
169
|
-
if (field.localeCompare('data') === 0) {
|
|
170
|
-
const value = JSON.parse(values[dataIndex++]);
|
|
171
|
-
obj[id] = value;
|
|
176
|
+
try {
|
|
177
|
+
const promArray = [];
|
|
178
|
+
filters.forEach(filter => {
|
|
179
|
+
const prom = async () => {
|
|
180
|
+
const retValArray = [];
|
|
181
|
+
const retVal = await this.#SearchBy(filter);
|
|
182
|
+
// First index is the total number of records in the search (does not consider limit)
|
|
183
|
+
//const listLength = retVal[0];
|
|
184
|
+
let index = 1;
|
|
185
|
+
const obj = {};
|
|
186
|
+
for (;;) {
|
|
187
|
+
if (index >= retVal.length) {
|
|
188
|
+
break;
|
|
172
189
|
}
|
|
173
|
-
|
|
174
|
-
|
|
190
|
+
const id = retVal[index++];
|
|
191
|
+
obj[id] = {};
|
|
192
|
+
const values = retVal[index++];
|
|
193
|
+
let dataIndex = 0;
|
|
194
|
+
for (let j = 0; j < values.length / 2; j++) {
|
|
195
|
+
const field = values[dataIndex++];
|
|
196
|
+
if (field.localeCompare('data') === 0) {
|
|
197
|
+
const value = JSON.parse(values[dataIndex++]);
|
|
198
|
+
obj[id] = value;
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
dataIndex++;
|
|
202
|
+
}
|
|
175
203
|
}
|
|
204
|
+
retValArray.push(obj[id]);
|
|
176
205
|
}
|
|
177
|
-
retValArray
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
};
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
}
|
|
188
|
-
|
|
206
|
+
return retValArray;
|
|
207
|
+
};
|
|
208
|
+
promArray.push(prom());
|
|
209
|
+
});
|
|
210
|
+
const promRetVal = await Promise.all(promArray);
|
|
211
|
+
let retVal = [];
|
|
212
|
+
promRetVal.forEach(prv => {
|
|
213
|
+
retVal = retVal.concat(prv);
|
|
214
|
+
});
|
|
215
|
+
return retVal;
|
|
216
|
+
}
|
|
217
|
+
catch (error) {
|
|
218
|
+
if (ecb) {
|
|
219
|
+
ecb(filters, error);
|
|
220
|
+
}
|
|
221
|
+
return null;
|
|
222
|
+
}
|
|
189
223
|
}
|
|
190
224
|
async CreateFhirResources(fhir, ecb) {
|
|
191
|
-
|
|
225
|
+
const promArray = [];
|
|
226
|
+
fhir.forEach(async (f) => {
|
|
227
|
+
promArray.push(this.CreateFhirResource(f, ecb));
|
|
228
|
+
});
|
|
229
|
+
const promRetVal = await Promise.all(promArray);
|
|
230
|
+
return promRetVal;
|
|
192
231
|
}
|
|
193
232
|
async UpdateFhirResources(fhir, ecb) {
|
|
194
|
-
|
|
233
|
+
const promArray = [];
|
|
234
|
+
fhir.forEach(async (f) => {
|
|
235
|
+
promArray.push(this.UpdateFhirResource(f, ecb));
|
|
236
|
+
});
|
|
237
|
+
const promRetVal = await Promise.all(promArray);
|
|
238
|
+
return promRetVal;
|
|
195
239
|
}
|
|
196
240
|
async DeleteFhirResources(fhir, ecb) {
|
|
197
|
-
|
|
241
|
+
const promArray = [];
|
|
242
|
+
fhir.forEach(async (f) => {
|
|
243
|
+
promArray.push(this.DeleteFhirResource(f, ecb));
|
|
244
|
+
});
|
|
245
|
+
const promRetVal = await Promise.all(promArray);
|
|
246
|
+
return promRetVal;
|
|
198
247
|
}
|
|
199
248
|
}
|
|
200
249
|
exports.DALFhirManagerIORedisJson = DALFhirManagerIORedisJson;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dalFhirManagerIORedisJson.js","sourceRoot":"","sources":["../../src/fhir/dalFhirManagerIORedisJson.ts"],"names":[],"mappings":";;;;;;AAIA,qCAA8C;AAE9C,kDAAyB;
|
|
1
|
+
{"version":3,"file":"dalFhirManagerIORedisJson.js","sourceRoot":"","sources":["../../src/fhir/dalFhirManagerIORedisJson.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ const STSFhirTypes_1 = require("./STSFhirTypes");
|
|
|
9
9
|
const dalFhirTestHelpers_1 = require("./dalFhirTestHelpers");
|
|
10
10
|
const stsutils_1 = require("@nsshunt/stsutils");
|
|
11
11
|
const dalFhirManager_1 = require("./dalFhirManager");
|
|
12
|
+
const stsdatamanagement_1 = require("@nsshunt/stsdatamanagement");
|
|
12
13
|
const chalk_1 = __importDefault(require("chalk"));
|
|
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
|
|
@@ -21,6 +22,7 @@ vitest_1.describe.skip("Test hl7 fhir resource data access layer - RedisJson", (
|
|
|
21
22
|
persistenceType: STSFhirTypes_1.IFhirPersistenceType.ioredisJson,
|
|
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
|
|
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.magenta(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":"dalFhirManagerIORedisJson.test.js","sourceRoot":"","sources":["../../src/fhir/dalFhirManagerIORedisJson.test.ts"],"names":[],"mappings":";;;;;AAAA,kDAAkD,CAAE,UAAU;AAC9D,mCAAqE;AAErE,iDAA8D;AAE9D,6DAAkD;AAElD,gDAA6C;AAE7C,qDAAiD;AAEjD,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,WAAW;YACjD,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,
|
|
1
|
+
{"version":3,"file":"dalFhirManagerIORedisJson.test.js","sourceRoot":"","sources":["../../src/fhir/dalFhirManagerIORedisJson.test.ts"],"names":[],"mappings":";;;;;AAAA,kDAAkD,CAAE,UAAU;AAC9D,mCAAqE;AAErE,iDAA8D;AAE9D,6DAAkD;AAElD,gDAA6C;AAE7C,qDAAiD;AAEjD,kEAA2D;AAE3D,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,WAAW;YACjD,sBAAsB,EAAE;gBACpB,YAAY,EAAE,eAAe;gBAC7B,YAAY,EAAE,kCAAc;gBAC5B,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,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,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,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC,EAAE,KAAK,CAAC,CAAC;IAEV,IAAA,aAAI,EAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,eAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,WAAW,CAAC,qBAAqB,CAAC,WAAW,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAAC;QAEvF,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1F,IAAA,eAAM,EAAC,aAAa,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAElD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC,EAAE,KAAK,CAAC,CAAC;IAEV,IAAA,aAAI,EAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,eAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,WAAW,CAAC,wBAAwB,CAAC,WAAW,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAAC;QAE1F,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1F,IAAA,eAAM,EAAC,aAAa,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAElD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC,EAAE,KAAK,CAAC,CAAC;IAEV,IAAA,aAAI,EAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,UAAU,GAAG,CAAC,CAAC;QACrB,eAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,WAAW,CAAC,wBAAwB,CAAC,WAAW,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAAC;QAE1F,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1F,IAAA,eAAM,EAAC,aAAa,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC;QAEvD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACvE,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,26 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DALFhirManagerPGRes = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
const dalFhirManagerBase_1 = require("./dalFhirManagerBase");
|
|
5
|
+
class DALFhirManagerPGRes extends dalFhirManagerBase_1.DALFhirManagerBase {
|
|
6
6
|
#accessLayer;
|
|
7
7
|
constructor(options) {
|
|
8
|
-
|
|
9
|
-
this.#accessLayer = this
|
|
10
|
-
}
|
|
11
|
-
get options() {
|
|
12
|
-
return this.#options;
|
|
13
|
-
}
|
|
14
|
-
set options(options) {
|
|
15
|
-
this.#options = options;
|
|
8
|
+
super(options);
|
|
9
|
+
this.#accessLayer = this.options.accessLayer;
|
|
16
10
|
}
|
|
17
11
|
async Start() {
|
|
18
12
|
}
|
|
19
13
|
async Stop() {
|
|
20
14
|
}
|
|
21
|
-
GetResourceType(fhir) {
|
|
22
|
-
return `${this.#options.resourceName}_${fhir.id}`;
|
|
23
|
-
}
|
|
24
15
|
async GetFhirResource(fhir, ecb) {
|
|
25
16
|
if (!this.#accessLayer) {
|
|
26
17
|
return null;
|
|
@@ -32,7 +23,7 @@ class DALFhirManagerPGRes {
|
|
|
32
23
|
});
|
|
33
24
|
if (retVal.error) {
|
|
34
25
|
if (ecb) {
|
|
35
|
-
ecb(retVal.error.error);
|
|
26
|
+
ecb(fhir, retVal.error.error);
|
|
36
27
|
}
|
|
37
28
|
return null;
|
|
38
29
|
}
|
|
@@ -46,13 +37,13 @@ class DALFhirManagerPGRes {
|
|
|
46
37
|
}
|
|
47
38
|
const retVal = await this.#accessLayer.CreateResource({
|
|
48
39
|
filters: {
|
|
49
|
-
dbactionuser: this
|
|
40
|
+
dbactionuser: this.options.dbactionuser,
|
|
50
41
|
resname: this.GetResourceType(fhir)
|
|
51
42
|
}
|
|
52
43
|
}, fhir);
|
|
53
44
|
if (retVal.error) {
|
|
54
45
|
if (ecb) {
|
|
55
|
-
ecb(retVal.error.error);
|
|
46
|
+
ecb(fhir, retVal.error.error);
|
|
56
47
|
}
|
|
57
48
|
return null;
|
|
58
49
|
}
|
|
@@ -66,13 +57,13 @@ class DALFhirManagerPGRes {
|
|
|
66
57
|
}
|
|
67
58
|
const retVal = await this.#accessLayer.UpdateResource({
|
|
68
59
|
filters: {
|
|
69
|
-
dbactionuser: this
|
|
60
|
+
dbactionuser: this.options.dbactionuser,
|
|
70
61
|
resname: this.GetResourceType(fhir)
|
|
71
62
|
}
|
|
72
63
|
}, fhir);
|
|
73
64
|
if (retVal.error) {
|
|
74
65
|
if (ecb) {
|
|
75
|
-
ecb(retVal.error.error);
|
|
66
|
+
ecb(fhir, retVal.error.error);
|
|
76
67
|
}
|
|
77
68
|
return null;
|
|
78
69
|
}
|
|
@@ -86,13 +77,13 @@ class DALFhirManagerPGRes {
|
|
|
86
77
|
}
|
|
87
78
|
const retVal = await this.#accessLayer.DeleteResource({
|
|
88
79
|
filters: {
|
|
89
|
-
dbactionuser: this
|
|
80
|
+
dbactionuser: this.options.dbactionuser,
|
|
90
81
|
resname: this.GetResourceType(fhir)
|
|
91
82
|
}
|
|
92
83
|
});
|
|
93
84
|
if (retVal.error) {
|
|
94
85
|
if (ecb) {
|
|
95
|
-
ecb(retVal.error.error);
|
|
86
|
+
ecb(fhir, retVal.error.error);
|
|
96
87
|
}
|
|
97
88
|
return null;
|
|
98
89
|
}
|
|
@@ -104,39 +95,38 @@ class DALFhirManagerPGRes {
|
|
|
104
95
|
if (!this.#accessLayer) {
|
|
105
96
|
return null;
|
|
106
97
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
const
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
return null;
|
|
98
|
+
try {
|
|
99
|
+
const promArray = [];
|
|
100
|
+
filters.forEach(filter => {
|
|
101
|
+
const prom = async () => {
|
|
102
|
+
const retVal = [];
|
|
103
|
+
const resources = await this.#accessLayer.GetResources({
|
|
104
|
+
filters: {
|
|
105
|
+
filter: `${this.options.resourceName}_${filter}%`,
|
|
106
|
+
limit: '20',
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
const dbResources = resources.detail;
|
|
110
|
+
dbResources.forEach(dbResource => {
|
|
111
|
+
retVal.push(dbResource.resdesc);
|
|
112
|
+
});
|
|
113
|
+
return retVal;
|
|
114
|
+
};
|
|
115
|
+
promArray.push(prom());
|
|
116
|
+
});
|
|
117
|
+
const promRetVal = await Promise.all(promArray);
|
|
118
|
+
let retVal = [];
|
|
119
|
+
promRetVal.forEach(prv => {
|
|
120
|
+
retVal = retVal.concat(prv);
|
|
121
|
+
});
|
|
122
|
+
return retVal;
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
if (ecb) {
|
|
126
|
+
ecb(filters, error);
|
|
127
|
+
}
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
140
130
|
}
|
|
141
131
|
}
|
|
142
132
|
exports.DALFhirManagerPGRes = DALFhirManagerPGRes;
|