@@ -152,33 +152,35 @@ async function executeELM(collector, oResourceTypes) {
152
152
if ( ! evalResults [ PATIENT_SUMMARY_KEY ] ) {
153
153
evalResults [ PATIENT_SUMMARY_KEY ] = { } ;
154
154
}
155
- Promise . allSettled ( [
156
- executeELMForReport ( patientBundle ) ,
157
- ...elmLibs ,
158
- ] ) . then (
159
- ( results ) => {
160
- evalResults [ PATIENT_SUMMARY_KEY ] [ "ReportSummary" ] =
161
- results [ 0 ] . status !== "rejected" ? results [ 0 ] . value : null ;
162
- const evaluatedSurveyResults = executeELMForInstruments (
163
- results . slice ( 1 ) ,
164
- patientBundle
165
- ) ;
166
- evalResults [ PATIENT_SUMMARY_KEY ] [ "SurveySummary" ] =
167
- evaluatedSurveyResults ;
168
- //debug
169
- console . log (
170
- "final evaluated CQL results including surveys " ,
171
- evalResults
172
- ) ;
173
- resolve ( evalResults ) ;
174
- } ,
175
- ( e ) => {
176
- console . log ( e ) ;
177
- reject (
178
- "Error occurred executing report library logics. See console for detail"
179
- ) ;
180
- }
181
- ) ;
155
+ Promise . allSettled ( [ executeELMForReport ( patientBundle ) , ...elmLibs ] )
156
+ . then (
157
+ ( results ) => {
158
+ evalResults [ PATIENT_SUMMARY_KEY ] [ "ReportSummary" ] =
159
+ results [ 0 ] . status !== "rejected" ? results [ 0 ] . value : null ;
160
+ const evaluatedSurveyResults = executeELMForInstruments (
161
+ results . slice ( 1 ) ,
162
+ patientBundle
163
+ ) ;
164
+ evalResults [ PATIENT_SUMMARY_KEY ] [ "SurveySummary" ] =
165
+ evaluatedSurveyResults ;
166
+ //debug
167
+ console . log (
168
+ "final evaluated CQL results including surveys " ,
169
+ evalResults
170
+ ) ;
171
+ resolve ( evalResults ) ;
172
+ } ,
173
+ ( e ) => {
174
+ console . log ( e ) ;
175
+ reject (
176
+ "Error occurred executing report library logics. See console for detail"
177
+ ) ;
178
+ }
179
+ )
180
+ . catch ( ( e ) => {
181
+ console . log ( "Error processing instrument ELM: " , e ) ;
182
+ reject ( "error processing instrument ELM. See console for details." ) ;
183
+ } ) ;
182
184
} ) ;
183
185
} ) ;
184
186
resolve ( finalResults ) ;
@@ -193,12 +195,15 @@ async function executeELMForReport(bundle) {
193
195
console . log ( "Issue occurred loading ELM lib for reoirt" , e ) ;
194
196
r4ReportCommonELM = null ;
195
197
} ) ;
196
-
198
+
197
199
if ( ! r4ReportCommonELM ) return null ;
198
200
199
- let reportLib = new cql . Library ( r4ReportCommonELM , new cql . Repository ( {
200
- FHIRHelpers : r4HelpersELM ,
201
- } ) ) ;
201
+ let reportLib = new cql . Library (
202
+ r4ReportCommonELM ,
203
+ new cql . Repository ( {
204
+ FHIRHelpers : r4HelpersELM ,
205
+ } )
206
+ ) ;
202
207
const reportExecutor = new cql . Executor (
203
208
reportLib ,
204
209
new cql . CodeService ( valueSetDB )
@@ -274,8 +279,11 @@ function getLibraryForInstruments() {
274
279
return INSTRUMENT_LIST . map ( ( item ) =>
275
280
( async ( ) => {
276
281
let elmJson = null ;
282
+ const libPrefix = item . useDefaultELMLib
283
+ ? "Default"
284
+ : item . key . toUpperCase ( ) ;
277
285
elmJson = await import (
278
- `../cql/r4/survey_resources/${ item . key . toUpperCase ( ) } _LogicLibrary.json`
286
+ `../cql/r4/survey_resources/${ libPrefix } _LogicLibrary.json`
279
287
)
280
288
. then ( ( module ) => module . default )
281
289
. catch ( ( e ) => {
@@ -287,6 +295,7 @@ function getLibraryForInstruments() {
287
295
) ;
288
296
elmJson = null ;
289
297
} ) ;
298
+
290
299
if ( ! elmJson ) {
291
300
elmJson = await import (
292
301
`../cql/r4/survey_resources/Default_LogicLibrary.json`
0 commit comments