use of org.hl7.fhir.r4.model.ValueSet in project cqf-ruler by DBCG.
the class CacheValueSetsProviderIT method testCacheValueSetsEndpointNull.
@Test
public void testCacheValueSetsEndpointNull() throws Exception {
StringAndListParam stringAndListParam = getStringAndListParamFromValueSet("valueset/AcuteInpatient.json");
RequestDetails details = Mockito.mock(RequestDetails.class);
Resource outcomeResource = cacheValueSetsProvider.cacheValuesets(details, new Endpoint().getIdElement(), stringAndListParam, null, null);
validateOutcome(outcomeResource, "Could not find Endpoint/null");
}
use of org.hl7.fhir.r4.model.ValueSet in project cqf-ruler by DBCG.
the class CacheValueSetsProviderIT method testCacheValueSetsAlreadyExpanded.
// Get help with this....
// @Test
// public void testCacheValueSetsExpandAndAddConcepts() throws Exception {
// Endpoint endpoint = uploadLocalServerEndpoint();
// RequestDetails details = Mockito.mock(RequestDetails.class);
// ValueSet vs = uploadValueSet("valueset/valueset-buprenorphine-and-methadone-medications.json");
// vs.getCompose().getInclude().forEach(include -> {
// assertTrue(!include.hasConcept());
// });
// StringAndListParam stringAndListParam = getStringAndListParamFromValueSet(vs);
// IGenericClient localClient = createClient(ourCtx, endpoint);
// // localClient.operation().onServer().named("updateCodeSystems").withNoParameters(Parameters.class).execute();
// Resource outcomeResource = cacheValueSetsProvider.cacheValuesets(details, endpoint.getIdElement(), stringAndListParam, null, null);
// assertTrue(outcomeResource instanceof Bundle);
// Bundle resultBundle = (Bundle) outcomeResource;
// assertTrue(resultBundle.getEntry().size() == 1);
// BundleEntryComponent entry = resultBundle.getEntry().get(0);
// assertTrue(entry.getResponse().getLocation().startsWith("ValueSet/" + vs.getIdElement().getIdPart()));
// assertTrue(entry.getResponse().getStatus().equals("200 OK"));
// ValueSet resultingValueSet = localClient.read().resource(ValueSet.class).withId(vs.getIdElement()).execute();
// resultingValueSet.getCompose().getInclude().forEach(include -> {
// assertTrue(include.hasConcept());
// });
// }
@Test
public void testCacheValueSetsAlreadyExpanded() throws Exception {
Endpoint endpoint = uploadLocalServerEndpoint();
RequestDetails details = Mockito.mock(RequestDetails.class);
ValueSet vs = uploadValueSet("valueset/valueset-benzodiazepine-medications.json");
StringAndListParam stringAndListParam = getStringAndListParamFromValueSet(vs);
Resource outcomeResource = cacheValueSetsProvider.cacheValuesets(details, endpoint.getIdElement(), stringAndListParam, null, null);
assertTrue(outcomeResource instanceof Bundle);
Bundle resultBundle = (Bundle) outcomeResource;
assertEquals(1, resultBundle.getEntry().size());
BundleEntryComponent entry = resultBundle.getEntry().get(0);
assertTrue(entry.getResponse().getLocation().startsWith("ValueSet/" + vs.getIdElement().getIdPart()));
assertEquals("200 OK", entry.getResponse().getStatus());
}
use of org.hl7.fhir.r4.model.ValueSet in project cqf-ruler by DBCG.
the class CodeSystemProviderIT method testR4ICD10PerformCodeSystemUpdateByList.
@Test
@Order(4)
public void testR4ICD10PerformCodeSystemUpdateByList() throws IOException {
log.info("Beginning Test R4 SNOMED CodeSystemUpdate");
BufferedReader reader = new BufferedReader(new InputStreamReader(CodeSystemProviderIT.class.getResourceAsStream("valueset" + "/" + "valueset-pdmp-review-procedure.json")));
String resourceString = reader.lines().collect(Collectors.joining(System.lineSeparator()));
reader.close();
ValueSet vs = (ValueSet) loadResource("json", resourceString);
assertEquals(0, performCodeSystemSearchByUrl(snomedSctUrl).size());
codeSystemUpdateProvider.performCodeSystemUpdate(Arrays.asList(vs));
OperationOutcome outcome = codeSystemUpdateProvider.updateCodeSystems(vs.getIdElement());
for (OperationOutcomeIssueComponent issue : outcome.getIssue()) {
assertEquals(OperationOutcome.IssueSeverity.INFORMATION, issue.getSeverity());
assertTrue(issue.getDetails().getText().startsWith("Successfully updated the following CodeSystems: "));
assertTrue(issue.getDetails().getText().contains("sct"));
}
assertEquals(1, performCodeSystemSearchByUrl(snomedSctUrl).size());
log.info("Finished Test R4 SNOMED CodeSystemUpdate");
}
use of org.hl7.fhir.r4.model.ValueSet in project cqf-ruler by DBCG.
the class CodeSystemProviderIT method testR4RxNormCodeSystemUpdateById.
@Test
@Order(3)
public void testR4RxNormCodeSystemUpdateById() throws IOException {
log.info("Beginning Test R4 LOINC CodeSystemUpdate");
ValueSet vs = (ValueSet) loadResource("org/opencds/cqf/ruler/devtools/r4/valueset/valueset-pain-treatment-plan.json");
assertEquals(0, performCodeSystemSearchByUrl(loincUrl).size());
OperationOutcome outcome = codeSystemUpdateProvider.updateCodeSystems(vs.getIdElement());
for (OperationOutcomeIssueComponent issue : outcome.getIssue()) {
assertEquals(OperationOutcome.IssueSeverity.INFORMATION, issue.getSeverity());
assertTrue(issue.getDetails().getText().startsWith("Successfully updated the following CodeSystems: "));
assertTrue(issue.getDetails().getText().contains("loinc"));
}
assertEquals(1, performCodeSystemSearchByUrl(loincUrl).size());
log.info("Finished Test R4 LOINC CodeSystemUpdate");
}
use of org.hl7.fhir.r4.model.ValueSet in project cqf-ruler by DBCG.
the class CodeSystemProviderIT method testCodeSystemUpdateValueSetDNE.
@Test
@Order(1)
public void testCodeSystemUpdateValueSetDNE() throws IOException {
ValueSet vs = (ValueSet) readResource("org/opencds/cqf/ruler/devtools/r4/valueset/valueset-pain-treatment-plan.json");
OperationOutcome outcome = codeSystemUpdateProvider.updateCodeSystems(vs.getIdElement());
assertEquals(1, outcome.getIssue().size());
OperationOutcomeIssueComponent issue = outcome.getIssue().get(0);
assertEquals(OperationOutcome.IssueSeverity.ERROR, issue.getSeverity());
assertTrue(issue.getDetails().getText().startsWith("Unable to find Resource: " + vs.getIdElement().getIdPart()));
}
Aggregations