use of org.hl7.fhir.dstu3.model.Task in project openmrs-module-fhir2 by openmrs.
the class TaskSearchQueryTest method searchForTasks_shouldSearchForTasksByMatchingUuidAndLastUpdated.
@Test
public void searchForTasks_shouldSearchForTasksByMatchingUuidAndLastUpdated() {
TokenAndListParam uuid = new TokenAndListParam().addAnd(new TokenParam(TASK_UUID));
DateRangeParam lastUpdated = new DateRangeParam().setUpperBound(DATE_CHANGED).setLowerBound(DATE_CHANGED);
SearchParameterMap theParams = new SearchParameterMap().addParameter(FhirConstants.COMMON_SEARCH_HANDLER, FhirConstants.ID_PROPERTY, uuid).addParameter(FhirConstants.COMMON_SEARCH_HANDLER, FhirConstants.LAST_UPDATED_PROPERTY, lastUpdated);
IBundleProvider results = search(theParams);
List<IBaseResource> resultList = get(results);
assertThat(results, notNullValue());
assertThat(resultList, not(empty()));
assertThat(resultList, hasSize(equalTo(1)));
assertThat(((Task) resultList.iterator().next()).getIdElement().getIdPart(), equalTo(TASK_UUID));
}
use of org.hl7.fhir.dstu3.model.Task in project openmrs-module-fhir2 by openmrs.
the class TaskSearchQueryTest method searchForTasks_shouldReturnTasksByBasedOn.
@Test
public void searchForTasks_shouldReturnTasksByBasedOn() {
ReferenceParam basedOnReference = new ReferenceParam();
basedOnReference.setValue(FhirConstants.SERVICE_REQUEST + "/" + BASED_ON_ORDER_UUID);
ReferenceAndListParam ref = new ReferenceAndListParam().addAnd(new ReferenceOrListParam().add(basedOnReference));
SearchParameterMap theParams = new SearchParameterMap().addParameter(FhirConstants.BASED_ON_REFERENCE_SEARCH_HANDLER, ref);
IBundleProvider results = search(theParams);
List<IBaseResource> resultList = get(results);
assertThat(results, notNullValue());
assertThat(resultList, not(empty()));
assertThat(resultList, hasSize(equalTo(1)));
assertThat(((Task) resultList.iterator().next()).getIdElement().getIdPart(), equalTo(BASED_ON_TASK_UUID));
}
use of org.hl7.fhir.dstu3.model.Task in project openmrs-module-fhir2 by openmrs.
the class TaskSearchQueryTest method searchForTasks_shouldAddPractitionerToResultListWhenIncluded.
@Test
public void searchForTasks_shouldAddPractitionerToResultListWhenIncluded() throws Exception {
executeDataSet(TASK_DATA_OWNER_XML);
TokenAndListParam uuid = new TokenAndListParam().addAnd(new TokenParam(TASK_REFF_UUID));
HashSet<Include> includes = new HashSet<>();
includes.add(new Include("Task:owner"));
SearchParameterMap theParams = new SearchParameterMap().addParameter(FhirConstants.COMMON_SEARCH_HANDLER, FhirConstants.ID_PROPERTY, uuid).addParameter(FhirConstants.INCLUDE_SEARCH_HANDLER, includes);
IBundleProvider results = search(theParams);
assertThat(results, notNullValue());
assertThat(results.size(), equalTo(1));
List<IBaseResource> resultList = results.getResources(START_INDEX, END_INDEX);
assertThat(resultList, not(empty()));
// included resource added as part of result list
assertThat(resultList.size(), equalTo(2));
assertThat(((Task) resultList.iterator().next()).getIdElement().getIdPart(), equalTo(TASK_REFF_UUID));
Task returnedTask = (Task) resultList.iterator().next();
assertThat(resultList, hasItem(allOf(is(instanceOf(Practitioner.class)), hasProperty("id", equalTo(returnedTask.getOwner().getReferenceElement().getIdPart())))));
}
use of org.hl7.fhir.dstu3.model.Task in project openmrs-module-fhir2 by openmrs.
the class TaskSearchQueryTest method searchForTasks_shouldHandleMultipleIncludes.
@Test
public void searchForTasks_shouldHandleMultipleIncludes() throws Exception {
executeDataSet(TASK_DATA_OWNER_XML);
TokenAndListParam uuid = new TokenAndListParam().addAnd(new TokenParam(TASK_REFF_UUID));
HashSet<Include> includes = new HashSet<>();
includes.add(new Include("Task:patient"));
includes.add(new Include("Task:owner"));
includes.add(new Include("Task:encounter"));
includes.add(new Include("Task:based-on"));
SearchParameterMap theParams = new SearchParameterMap().addParameter(FhirConstants.COMMON_SEARCH_HANDLER, FhirConstants.ID_PROPERTY, uuid).addParameter(FhirConstants.INCLUDE_SEARCH_HANDLER, includes);
IBundleProvider results = search(theParams);
assertThat(results, notNullValue());
assertThat(results.size(), equalTo(1));
List<IBaseResource> resultList = results.getResources(START_INDEX, END_INDEX);
assertThat(resultList, not(empty()));
// included resource added as part of result list
assertThat(resultList.size(), equalTo(5));
assertThat(((Task) resultList.iterator().next()).getIdElement().getIdPart(), equalTo(TASK_REFF_UUID));
Task returnedTask = (Task) resultList.iterator().next();
assertThat(resultList, hasItem(allOf(is(instanceOf(Patient.class)), hasProperty("id", equalTo(returnedTask.getFor().getReferenceElement().getIdPart())))));
assertThat(resultList, hasItem(allOf(is(instanceOf(Practitioner.class)), hasProperty("id", equalTo(returnedTask.getOwner().getReferenceElement().getIdPart())))));
assertThat(resultList, hasItem(allOf(is(instanceOf(Encounter.class)), hasProperty("id", equalTo(returnedTask.getEncounter().getReferenceElement().getIdPart())))));
assertThat(resultList, hasItem(allOf(is(instanceOf(ServiceRequest.class)), hasProperty("id", equalTo(returnedTask.getBasedOn().get(0).getReferenceElement().getIdPart())))));
}
use of org.hl7.fhir.dstu3.model.Task in project openmrs-module-fhir2 by openmrs.
the class FhirTaskTranslatorImplTest method toOpenmrsType_shouldUpdateIntentOnExistingTask.
@Test
public void toOpenmrsType_shouldUpdateIntentOnExistingTask() {
FhirTask task = new FhirTask();
task.setIntent(null);
task.setUuid(TASK_UUID);
Task fhirTask = taskTranslator.toFhirResource(task);
fhirTask.setIntent(FHIR_TASK_INTENT);
FhirTask result = taskTranslator.toOpenmrsType(task, fhirTask);
assertThat(result, notNullValue());
assertThat(result.getIntent(), equalTo(OPENMRS_TASK_INTENT));
}
Aggregations