Search in sources :

Example 1 with TaskReadException

use of org.hl7.gravity.refimpl.sdohexchange.exception.TaskReadException in project Gravity-SDOH-Exchange-RI by FHIR.

the class OurTaskService method read.

public TaskDto read(String id) {
    Bundle taskBundle = taskRepository.find(id, Lists.newArrayList(Task.INCLUDE_FOCUS, Task.INCLUDE_BASED_ON, Task.INCLUDE_OWNER.asNonRecursive()));
    Task ourTask = FhirUtil.getFirstFromBundle(taskBundle, Task.class);
    if (Objects.isNull(ourTask)) {
        throw new ResourceNotFoundException(new IdType(Task.class.getSimpleName(), id));
    }
    if (!ourTask.getIntent().equals(Task.TaskIntent.FILLERORDER)) {
        throw new TaskReadException("The intent of Task/" + id + " is not filler-order.");
    }
    return new OurTaskBundleToDtoConverter().convert(taskBundle).stream().findFirst().get();
}
Also used : Task(org.hl7.fhir.r4.model.Task) OurTaskBundleToDtoConverter(org.hl7.gravity.refimpl.sdohexchange.dto.converter.OurTaskBundleToDtoConverter) Bundle(org.hl7.fhir.r4.model.Bundle) TaskReadException(org.hl7.gravity.refimpl.sdohexchange.exception.TaskReadException) ResourceNotFoundException(ca.uhn.fhir.rest.server.exceptions.ResourceNotFoundException) IdType(org.hl7.fhir.r4.model.IdType)

Example 2 with TaskReadException

use of org.hl7.gravity.refimpl.sdohexchange.exception.TaskReadException in project Gravity-SDOH-Exchange-RI by FHIR.

the class TaskService method read.

public TaskDto read(String id) {
    Bundle taskBundle = taskRepository.find(id, Lists.newArrayList(Task.INCLUDE_FOCUS, Task.INCLUDE_OWNER.asNonRecursive()), Lists.newArrayList(Task.INCLUDE_BASED_ON));
    Task task = FhirUtil.getFirstFromBundle(taskBundle, Task.class);
    if (Objects.isNull(task)) {
        throw new ResourceNotFoundException(new IdType(Task.class.getSimpleName(), id));
    }
    if (!task.getIntent().equals(Task.TaskIntent.ORDER)) {
        throw new TaskReadException("The intent of Task/" + id + " is not order.");
    }
    return new TaskBundleToDtoConverter().convert(taskBundle).stream().findFirst().get();
}
Also used : Task(org.hl7.fhir.r4.model.Task) Bundle(org.hl7.fhir.r4.model.Bundle) TaskBundleToDtoConverter(org.hl7.gravity.refimpl.sdohexchange.dto.converter.TaskBundleToDtoConverter) TaskReadException(org.hl7.gravity.refimpl.sdohexchange.exception.TaskReadException) ResourceNotFoundException(ca.uhn.fhir.rest.server.exceptions.ResourceNotFoundException) IdType(org.hl7.fhir.r4.model.IdType)

Example 3 with TaskReadException

use of org.hl7.gravity.refimpl.sdohexchange.exception.TaskReadException in project Gravity-SDOH-Exchange-RI by FHIR.

the class TaskService method read.

public TaskDto read(Integer serverId, String taskId) {
    Server server = serverRepository.findById(serverId).orElseThrow(() -> new ServerNotFoundException(String.format("No server was found by id '%s'", serverId)));
    IGenericClient fhirClient = fhirContext.newRestfulGenericClient(server.getFhirServerUrl());
    // Doesn't support now
    // fhirClient.registerInterceptor(new BearerTokenAuthInterceptor(
    // authorizationClient.getTokenResponse(URI.create(server.getAuthServerUrl()), server.getClientId(),
    // server.getClientSecret(), SCOPE)
    // .getAccessToken()));
    TaskRepository taskRepository = new TaskRepository(fhirClient, applicationUrl);
    Bundle taskBundle = taskRepository.find(taskId, Lists.newArrayList(Task.INCLUDE_FOCUS));
    Task task = FhirUtil.getFirstFromBundle(taskBundle, Task.class);
    if (Objects.isNull(task)) {
        throw new ResourceNotFoundException(new IdType(Task.class.getSimpleName(), taskId));
    }
    if (!task.getIntent().equals(Task.TaskIntent.FILLERORDER)) {
        throw new TaskReadException("The intent of Task/" + taskId + " is not filler-order.");
    }
    return new TaskBundleToDtoConverter(serverId).convert(taskBundle).stream().findFirst().get();
}
Also used : Task(org.hl7.fhir.r4.model.Task) Server(org.hl7.gravity.refimpl.sdohexchange.model.Server) IGenericClient(ca.uhn.fhir.rest.client.api.IGenericClient) Bundle(org.hl7.fhir.r4.model.Bundle) TaskRepository(org.hl7.gravity.refimpl.sdohexchange.dao.TaskRepository) TaskBundleToDtoConverter(org.hl7.gravity.refimpl.sdohexchange.dto.converter.TaskBundleToDtoConverter) TaskReadException(org.hl7.gravity.refimpl.sdohexchange.exception.TaskReadException) ServerNotFoundException(org.hl7.gravity.refimpl.sdohexchange.exception.ServerNotFoundException) ResourceNotFoundException(ca.uhn.fhir.rest.server.exceptions.ResourceNotFoundException) IdType(org.hl7.fhir.r4.model.IdType)

Aggregations

ResourceNotFoundException (ca.uhn.fhir.rest.server.exceptions.ResourceNotFoundException)3 Bundle (org.hl7.fhir.r4.model.Bundle)3 IdType (org.hl7.fhir.r4.model.IdType)3 Task (org.hl7.fhir.r4.model.Task)3 TaskReadException (org.hl7.gravity.refimpl.sdohexchange.exception.TaskReadException)3 TaskBundleToDtoConverter (org.hl7.gravity.refimpl.sdohexchange.dto.converter.TaskBundleToDtoConverter)2 IGenericClient (ca.uhn.fhir.rest.client.api.IGenericClient)1 TaskRepository (org.hl7.gravity.refimpl.sdohexchange.dao.TaskRepository)1 OurTaskBundleToDtoConverter (org.hl7.gravity.refimpl.sdohexchange.dto.converter.OurTaskBundleToDtoConverter)1 ServerNotFoundException (org.hl7.gravity.refimpl.sdohexchange.exception.ServerNotFoundException)1 Server (org.hl7.gravity.refimpl.sdohexchange.model.Server)1