Search in sources :

Example 6 with Task

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));
}
Also used : DateRangeParam(ca.uhn.fhir.rest.param.DateRangeParam) Task(org.hl7.fhir.r4.model.Task) FhirTask(org.openmrs.module.fhir2.model.FhirTask) TokenParam(ca.uhn.fhir.rest.param.TokenParam) IBundleProvider(ca.uhn.fhir.rest.api.server.IBundleProvider) IBaseResource(org.hl7.fhir.instance.model.api.IBaseResource) TokenAndListParam(ca.uhn.fhir.rest.param.TokenAndListParam) SearchParameterMap(org.openmrs.module.fhir2.api.search.param.SearchParameterMap) BaseModuleContextSensitiveTest(org.openmrs.test.BaseModuleContextSensitiveTest) Test(org.junit.Test)

Example 7 with Task

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));
}
Also used : Task(org.hl7.fhir.r4.model.Task) FhirTask(org.openmrs.module.fhir2.model.FhirTask) ReferenceParam(ca.uhn.fhir.rest.param.ReferenceParam) ReferenceAndListParam(ca.uhn.fhir.rest.param.ReferenceAndListParam) IBundleProvider(ca.uhn.fhir.rest.api.server.IBundleProvider) IBaseResource(org.hl7.fhir.instance.model.api.IBaseResource) ReferenceOrListParam(ca.uhn.fhir.rest.param.ReferenceOrListParam) SearchParameterMap(org.openmrs.module.fhir2.api.search.param.SearchParameterMap) BaseModuleContextSensitiveTest(org.openmrs.test.BaseModuleContextSensitiveTest) Test(org.junit.Test)

Example 8 with Task

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())))));
}
Also used : Task(org.hl7.fhir.r4.model.Task) FhirTask(org.openmrs.module.fhir2.model.FhirTask) TokenParam(ca.uhn.fhir.rest.param.TokenParam) Include(ca.uhn.fhir.model.api.Include) IBundleProvider(ca.uhn.fhir.rest.api.server.IBundleProvider) IBaseResource(org.hl7.fhir.instance.model.api.IBaseResource) TokenAndListParam(ca.uhn.fhir.rest.param.TokenAndListParam) HashSet(java.util.HashSet) SearchParameterMap(org.openmrs.module.fhir2.api.search.param.SearchParameterMap) BaseModuleContextSensitiveTest(org.openmrs.test.BaseModuleContextSensitiveTest) Test(org.junit.Test)

Example 9 with Task

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())))));
}
Also used : Task(org.hl7.fhir.r4.model.Task) FhirTask(org.openmrs.module.fhir2.model.FhirTask) TokenParam(ca.uhn.fhir.rest.param.TokenParam) Include(ca.uhn.fhir.model.api.Include) IBundleProvider(ca.uhn.fhir.rest.api.server.IBundleProvider) IBaseResource(org.hl7.fhir.instance.model.api.IBaseResource) TokenAndListParam(ca.uhn.fhir.rest.param.TokenAndListParam) HashSet(java.util.HashSet) SearchParameterMap(org.openmrs.module.fhir2.api.search.param.SearchParameterMap) BaseModuleContextSensitiveTest(org.openmrs.test.BaseModuleContextSensitiveTest) Test(org.junit.Test)

Example 10 with Task

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));
}
Also used : Task(org.hl7.fhir.r4.model.Task) FhirTask(org.openmrs.module.fhir2.model.FhirTask) FhirTask(org.openmrs.module.fhir2.model.FhirTask) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)127 Task (org.hl7.fhir.r4.model.Task)120 FhirTask (org.openmrs.module.fhir2.model.FhirTask)59 MockHttpServletResponse (org.springframework.mock.web.MockHttpServletResponse)46 Bundle (org.hl7.fhir.r4.model.Bundle)40 Reference (org.hl7.fhir.r4.model.Reference)28 ServiceRequest (org.hl7.fhir.r4.model.ServiceRequest)24 IBaseResource (org.hl7.fhir.instance.model.api.IBaseResource)23 IBundleProvider (ca.uhn.fhir.rest.api.server.IBundleProvider)22 Task (org.hl7.fhir.dstu3.model.Task)21 IdType (org.hl7.fhir.r4.model.IdType)21 CodeableConcept (org.hl7.fhir.r4.model.CodeableConcept)17 Date (java.util.Date)16 ArrayList (java.util.ArrayList)13 List (java.util.List)13 SearchParameterMap (org.openmrs.module.fhir2.api.search.param.SearchParameterMap)13 BaseModuleContextSensitiveTest (org.openmrs.test.BaseModuleContextSensitiveTest)12 TokenAndListParam (ca.uhn.fhir.rest.param.TokenAndListParam)11 TokenParam (ca.uhn.fhir.rest.param.TokenParam)11 Collectors (java.util.stream.Collectors)11