Skip to content

Commit 23c8e0b

Browse files
authored
Merge pull request #147 from mcode/no-coverage-case
PACIO - handle case with no coverage as workaround
2 parents 68c01f5 + 9cab119 commit 23c8e0b

2 files changed

Lines changed: 26 additions & 3 deletions

File tree

src/views/Questionnaire/elm/buildPopulatedResourceBundle.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,10 @@ function doSearch(
174174
smart
175175
.request(`${type}?${query}`)
176176
.then(processSuccess(smart, [], callback), processError(smart, callback));
177+
} else {
178+
// No valid ID to search with (e.g., missing coverage) - call callback with empty results
179+
console.log(`No valid identifier for ${type}, skipping fetch`);
180+
callback([]);
177181
}
178182
}
179183

src/views/Questionnaire/fetchArtifacts.ts

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,8 @@ function fetchArtifactsOperation(
7474
parameters.parameter = [];
7575
retVal.order = checkOrderType(orderResource);
7676
parameters.parameter.push({ name: 'order', resource: orderResource });
77-
smart.request(coverage).then(coverage => {
78-
parameters.parameter?.push({ name: 'coverage', resource: coverage });
77+
78+
const fetchQuestionnairePackage = () => {
7979
const requestOptions = {
8080
method: 'POST',
8181
headers: { 'Content-Type': 'application/fhir+json' },
@@ -112,7 +112,26 @@ function fetchArtifactsOperation(
112112
resolve(retVal);
113113
}
114114
});
115-
});
115+
};
116+
117+
// Try to fetch coverage
118+
if (coverage) {
119+
smart
120+
.request(coverage)
121+
.then(coverageResource => {
122+
console.log('Successfully fetched coverage');
123+
parameters.parameter?.push({ name: 'coverage', resource: coverageResource });
124+
fetchQuestionnairePackage();
125+
})
126+
.catch(err => {
127+
console.log('Could not fetch coverage, continuing without it:', err.message);
128+
// Continue without coverage
129+
fetchQuestionnairePackage();
130+
});
131+
} else {
132+
console.log('No coverage provided');
133+
fetchQuestionnairePackage();
134+
}
116135
}
117136

118137
function searchBundle(questionnaire: Questionnaire, bundle: BundleEntry<FhirResource>[]) {

0 commit comments

Comments
 (0)