Search in sources :

Example 1 with Bundle

use of com.b2international.snowowl.fhir.core.model.Bundle in project snow-owl by b2ihealthcare.

the class SandBoxRestTest method bulkRequestTest.

// @Test
public void bulkRequestTest() {
    LookupRequest lookupRequest = LookupRequest.builder().code("23245-4").system("http://loinc.org").build();
    Json json1 = new Parameters.Json(lookupRequest);
    System.out.println("JSON params:" + json1);
    ParametersRequestEntry entry = ParametersRequestEntry.builder().request(BatchRequest.createPostRequest("CodeSystem/$lookup")).resource(new Parameters.Fhir(json1.parameters())).build();
    Bundle bundle = Bundle.builder().language("en").total(1).type(BundleType.BATCH).addEntry(entry).build();
    givenAuthenticatedRequest(FHIR_ROOT_CONTEXT).contentType(APPLICATION_FHIR_JSON).body(bundle).when().post("/").prettyPeek().then().statusCode(200).body("resourceType", equalTo("Bundle")).body("type", is("batch-response"));
}
Also used : Bundle(com.b2international.snowowl.fhir.core.model.Bundle) Fhir(com.b2international.snowowl.fhir.core.model.dt.Parameters.Fhir) Json(com.b2international.snowowl.fhir.core.model.dt.Parameters.Json) ParametersRequestEntry(com.b2international.snowowl.fhir.core.model.ParametersRequestEntry) LookupRequest(com.b2international.snowowl.fhir.core.model.codesystem.LookupRequest)

Example 2 with Bundle

use of com.b2international.snowowl.fhir.core.model.Bundle in project snow-owl by b2ihealthcare.

the class BundleTest method serialize.

@Test
public void serialize() throws JsonProcessingException {
    FhirResource resource = CodeSystem.builder().status(PublicationStatus.ACTIVE).content(CodeSystemContentMode.COMPLETE).build();
    String resourceString = objectMapper.writeValueAsString(resource);
    CodeSystem fhirResource = objectMapper.readValue(resourceString, CodeSystem.class);
    assertEquals(null, fhirResource.getId());
    ResourceRequestEntry entry = ResourceRequestEntry.builder().resource(resource).request(BatchRequest.createPostRequest("/url")).build();
    Bundle bundle = Bundle.builder().type(BundleType.BATCH).entry(ImmutableList.of(entry)).build();
    String bundleString = objectMapper.writeValueAsString(bundle);
    Bundle readBundle = objectMapper.readValue(bundleString, Bundle.class);
    assertEquals(null, readBundle.getId());
}
Also used : FhirResource(com.b2international.snowowl.fhir.core.model.FhirResource) Bundle(com.b2international.snowowl.fhir.core.model.Bundle) CodeSystem(com.b2international.snowowl.fhir.core.model.codesystem.CodeSystem) ResourceRequestEntry(com.b2international.snowowl.fhir.core.model.ResourceRequestEntry) FhirTest(com.b2international.snowowl.fhir.tests.FhirTest) Test(org.junit.Test)

Example 3 with Bundle

use of com.b2international.snowowl.fhir.core.model.Bundle in project snow-owl by b2ihealthcare.

the class BundleTest method serializeResourceBundle.

@Test
public void serializeResourceBundle() throws Exception {
    CodeSystem codeSystem = CodeSystem.builder("repo/shortName").status(PublicationStatus.ACTIVE).name("Local code system").content(CodeSystemContentMode.COMPLETE).url(new Uri("code system uri")).build();
    ResourceResponseEntry entry = ResourceResponseEntry.builder().fullUrl("full_Url").response(BatchResponse.createOkResponse()).resource(codeSystem).build();
    Bundle bundle = Bundle.builder("bundle_Id?").language("en").total(1).type(BundleType.SEARCHSET).addLink("self", "http://localhost:8080/snowowl/CodeSystem").addEntry(entry).build();
    applyFilter(bundle);
    JsonPath jsonPath = JsonPath.from(objectMapper.writeValueAsString(bundle));
    assertThat(jsonPath.getString("resourceType"), equalTo("Bundle"));
    assertThat(jsonPath.getString("id"), equalTo("bundle_Id?"));
    assertThat(jsonPath.getString("language"), equalTo("en"));
    assertThat(jsonPath.getString("type"), equalTo("searchset"));
    assertThat(jsonPath.getInt("total"), equalTo(1));
    jsonPath.setRoot("link[0]");
    assertThat(jsonPath.getString("relation"), equalTo("self"));
    assertThat(jsonPath.getString("url"), equalTo("http://localhost:8080/snowowl/CodeSystem"));
    jsonPath.setRoot("entry[0]");
    assertThat(jsonPath.getString("fullUrl"), equalTo("full_Url"));
    assertThat(jsonPath.getString("response.status"), equalTo("200"));
    jsonPath.setRoot("entry[0].resource");
    assertThat(jsonPath.getString("resourceType"), equalTo("CodeSystem"));
    assertThat(jsonPath.getString("id"), equalTo("repo/shortName"));
    assertThat(jsonPath.getString("url"), equalTo("code system uri"));
    assertThat(jsonPath.getString("name"), equalTo("Local code system"));
    assertThat(jsonPath.getString("status"), equalTo("active"));
    assertThat(jsonPath.getString("content"), equalTo("complete"));
}
Also used : Bundle(com.b2international.snowowl.fhir.core.model.Bundle) ResourceResponseEntry(com.b2international.snowowl.fhir.core.model.ResourceResponseEntry) JsonPath(io.restassured.path.json.JsonPath) CodeSystem(com.b2international.snowowl.fhir.core.model.codesystem.CodeSystem) Uri(com.b2international.snowowl.fhir.core.model.dt.Uri) FhirTest(com.b2international.snowowl.fhir.tests.FhirTest) Test(org.junit.Test)

Example 4 with Bundle

use of com.b2international.snowowl.fhir.core.model.Bundle in project snow-owl by b2ihealthcare.

the class BundleTest method buildResponseBundle.

@Test
public void buildResponseBundle() throws Exception {
    LookupResult lookupResult = LookupResult.builder().name("test").display("display").addDesignation(Designation.builder().value("dValue").languageCode("uk").build()).addProperty(Property.builder().code("1234").description("propDescription").valueString("stringValue").addSubProperty(SubProperty.builder().code("subCode").description("subCodeDescription").valueInteger(1).build()).build()).build();
    Json json1 = new Parameters.Json(lookupResult);
    ParametersResponseEntry entry = ParametersResponseEntry.builder().resource(new Parameters.Fhir(json1.parameters())).response(BatchResponse.createOkResponse()).build();
    Bundle bundle = Bundle.builder().language("en").type(BundleType.BATCH_RESPONSE).addLink("self", "http://localhost:8080/snowowl/CodeSystem").addEntry(entry).build();
    assertEquals("en", bundle.getLanguage().getCodeValue());
    assertEquals(BundleType.BATCH_RESPONSE.getCode(), bundle.getType());
    Link link = bundle.getLink().iterator().next();
    assertEquals("self", link.getRelation());
    assertEquals("http://localhost:8080/snowowl/CodeSystem", link.getUrl().getUriValue());
    Entry bundleEntry = bundle.getItems().iterator().next();
    assertTrue(bundleEntry instanceof ParametersResponseEntry);
    ParametersResponseEntry responseEntry = (ParametersResponseEntry) bundleEntry;
    assertEquals("200", responseEntry.getResponse().getStatus());
    Fhir requestResource = responseEntry.getResponseResource();
    // Back to Domain JSON...
    Json json = new Parameters.Json(requestResource);
    LookupResult returnedResponse = objectMapper.convertValue(json, LookupResult.class);
    assertEquals("test", returnedResponse.getName());
    assertEquals("display", returnedResponse.getDisplay());
}
Also used : ParametersRequestEntry(com.b2international.snowowl.fhir.core.model.ParametersRequestEntry) ParametersResponseEntry(com.b2international.snowowl.fhir.core.model.ParametersResponseEntry) ResourceRequestEntry(com.b2international.snowowl.fhir.core.model.ResourceRequestEntry) Entry(com.b2international.snowowl.fhir.core.model.Entry) ResourceResponseEntry(com.b2international.snowowl.fhir.core.model.ResourceResponseEntry) OperationOutcomeEntry(com.b2international.snowowl.fhir.core.model.OperationOutcomeEntry) Parameters(com.b2international.snowowl.fhir.core.model.dt.Parameters) Bundle(com.b2international.snowowl.fhir.core.model.Bundle) ParametersResponseEntry(com.b2international.snowowl.fhir.core.model.ParametersResponseEntry) LookupResult(com.b2international.snowowl.fhir.core.model.codesystem.LookupResult) Fhir(com.b2international.snowowl.fhir.core.model.dt.Parameters.Fhir) Json(com.b2international.snowowl.fhir.core.model.dt.Parameters.Json) Fhir(com.b2international.snowowl.fhir.core.model.dt.Parameters.Fhir) Link(com.b2international.snowowl.fhir.core.model.Link) FhirTest(com.b2international.snowowl.fhir.tests.FhirTest) Test(org.junit.Test)

Example 5 with Bundle

use of com.b2international.snowowl.fhir.core.model.Bundle in project snow-owl by b2ihealthcare.

the class BundleTest method deserializeRequestBundle.

@Test
public void deserializeRequestBundle() throws Exception {
    String jsonCoding = "{ \"type\" : \"batch\", " + "\"resourceType\" : \"Bundle\", " + "\"entry\" : " + "[{\"request\" : " + "{\"method\" : \"POST\"," + "\"url\" : \"CodeSystem/$lookup\"}," + "\"resource\" : " + "{\"resourceType\" : \"Parameters\"," + "\"parameter\" : [" + "{\"valueUri\" : \"http://loinc.org\"," + "\"name\" : \"system\"}," + "{\"valueCode\" : \"23245-4\"," + "\"name\" : \"code\"}" + "]" + "}" + "}," + "{\"request\" : " + "{\"method\" : \"POST\"," + "\"url\" : \"CodeSystem/$lookup\"}," + "\"resource\" : " + "{\"resourceType\" : \"Parameters\"," + "\"parameter\" : [" + "{\"name\" : \"system\"," + "\"valueUri\" : \"http://snomed.info/sct\"}" + ",{\"valueCode\" : \"263495000\"," + "\"name\" : \"code\"}" + "]" + "}}" + "]}";
    Bundle bundle = objectMapper.readValue(jsonCoding, Bundle.class);
    assertEquals(BundleType.BATCH.getCode(), bundle.getType());
    Iterator<Entry> iterator = bundle.getItems().iterator();
    Entry bundleEntry = iterator.next();
    assertTrue(bundleEntry instanceof ParametersRequestEntry);
    ParametersRequestEntry requestEntry = (ParametersRequestEntry) bundleEntry;
    BatchRequest batchRequest = requestEntry.getRequest();
    assertEquals(HttpVerb.POST.getCode(), batchRequest.getMethod());
    assertEquals("CodeSystem/$lookup", batchRequest.getUrl().getUriValue());
    Fhir requestResource = requestEntry.getRequestResource();
    // Back to Domain JSON...
    Json json = new Parameters.Json(requestResource);
    LookupRequest returnedLookupRequest = objectMapper.convertValue(json, LookupRequest.class);
    assertEquals("23245-4", returnedLookupRequest.getCode());
    assertEquals("http://loinc.org", returnedLookupRequest.getSystem());
    bundleEntry = iterator.next();
    assertTrue(bundleEntry instanceof ParametersRequestEntry);
    requestEntry = (ParametersRequestEntry) bundleEntry;
    batchRequest = requestEntry.getRequest();
    assertEquals(HttpVerb.POST.getCode(), batchRequest.getMethod());
    assertEquals("CodeSystem/$lookup", batchRequest.getUrl().getUriValue());
    requestResource = requestEntry.getRequestResource();
    // Back to Domain JSON...
    json = new Parameters.Json(requestResource);
    returnedLookupRequest = objectMapper.convertValue(json, LookupRequest.class);
    assertEquals("263495000", returnedLookupRequest.getCode());
    assertEquals("http://snomed.info/sct", returnedLookupRequest.getSystem());
}
Also used : BatchRequest(com.b2international.snowowl.fhir.core.model.BatchRequest) ParametersRequestEntry(com.b2international.snowowl.fhir.core.model.ParametersRequestEntry) ParametersResponseEntry(com.b2international.snowowl.fhir.core.model.ParametersResponseEntry) ResourceRequestEntry(com.b2international.snowowl.fhir.core.model.ResourceRequestEntry) Entry(com.b2international.snowowl.fhir.core.model.Entry) ResourceResponseEntry(com.b2international.snowowl.fhir.core.model.ResourceResponseEntry) OperationOutcomeEntry(com.b2international.snowowl.fhir.core.model.OperationOutcomeEntry) Parameters(com.b2international.snowowl.fhir.core.model.dt.Parameters) Bundle(com.b2international.snowowl.fhir.core.model.Bundle) Json(com.b2international.snowowl.fhir.core.model.dt.Parameters.Json) Fhir(com.b2international.snowowl.fhir.core.model.dt.Parameters.Fhir) Json(com.b2international.snowowl.fhir.core.model.dt.Parameters.Json) ParametersRequestEntry(com.b2international.snowowl.fhir.core.model.ParametersRequestEntry) LookupRequest(com.b2international.snowowl.fhir.core.model.codesystem.LookupRequest) FhirTest(com.b2international.snowowl.fhir.tests.FhirTest) Test(org.junit.Test)

Aggregations

Bundle (com.b2international.snowowl.fhir.core.model.Bundle)13 FhirTest (com.b2international.snowowl.fhir.tests.FhirTest)10 Test (org.junit.Test)10 ResourceRequestEntry (com.b2international.snowowl.fhir.core.model.ResourceRequestEntry)8 Entry (com.b2international.snowowl.fhir.core.model.Entry)7 OperationOutcomeEntry (com.b2international.snowowl.fhir.core.model.OperationOutcomeEntry)7 ParametersRequestEntry (com.b2international.snowowl.fhir.core.model.ParametersRequestEntry)7 ResourceResponseEntry (com.b2international.snowowl.fhir.core.model.ResourceResponseEntry)7 ParametersResponseEntry (com.b2international.snowowl.fhir.core.model.ParametersResponseEntry)6 Fhir (com.b2international.snowowl.fhir.core.model.dt.Parameters.Fhir)6 Json (com.b2international.snowowl.fhir.core.model.dt.Parameters.Json)6 Link (com.b2international.snowowl.fhir.core.model.Link)4 CodeSystem (com.b2international.snowowl.fhir.core.model.codesystem.CodeSystem)4 BatchRequest (com.b2international.snowowl.fhir.core.model.BatchRequest)3 FhirResource (com.b2international.snowowl.fhir.core.model.FhirResource)3 LookupRequest (com.b2international.snowowl.fhir.core.model.codesystem.LookupRequest)3 LookupResult (com.b2international.snowowl.fhir.core.model.codesystem.LookupResult)3 Parameters (com.b2international.snowowl.fhir.core.model.dt.Parameters)3 OperationOutcome (com.b2international.snowowl.fhir.core.model.OperationOutcome)2 BundleType (com.b2international.snowowl.fhir.core.codesystems.BundleType)1