diff --git a/.fern/metadata.json b/.fern/metadata.json
index 2a53e5bf..972db505 100644
--- a/.fern/metadata.json
+++ b/.fern/metadata.json
@@ -1,12 +1,12 @@
{
- "cliVersion": "3.35.1",
+ "cliVersion": "3.48.2",
"generatorName": "fernapi/fern-java-sdk",
- "generatorVersion": "3.27.6",
+ "generatorVersion": "3.33.2",
"generatorConfig": {
"publish-to": "central",
"base-api-exception-class-name": "ApiError",
"client-class-name": "Vital",
"enable-forward-compatible-enums": false
},
- "sdkVersion": "1.2.585"
+ "sdkVersion": "1.2.600"
}
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index f38f68d1..20c8f772 100644
--- a/build.gradle
+++ b/build.gradle
@@ -47,7 +47,7 @@ java {
group = 'io.tryvital'
-version = '1.2.585'
+version = '1.2.600'
jar {
dependsOn(":generatePomFileForMavenPublication")
@@ -78,7 +78,7 @@ publishing {
maven(MavenPublication) {
groupId = 'io.tryvital'
artifactId = 'vital-java'
- version = '1.2.585'
+ version = '1.2.600'
from components.java
pom {
name = 'vital'
diff --git a/reference.md b/reference.md
index ce79a195..683b39da 100644
--- a/reference.md
+++ b/reference.md
@@ -493,7 +493,7 @@ This has no effect on programmatic Vital Link API usage.
-client.link.isTokenValid(request) -> Map<String, Object>
+client.link.isTokenValid(request) -> Map<String, Object>
-
@@ -606,7 +606,7 @@ client.link().codeCreate(
-client.link.startConnect(request) -> Map<String, Object>
+client.link.startConnect(request) -> Map<String, Object>
-
@@ -675,7 +675,7 @@ client.link().startConnect(
-client.link.tokenState() -> Map<String, Object>
+client.link.tokenState() -> Map<String, Object>
-
@@ -1256,7 +1256,7 @@ client.link().connectEmailAuthProvider(
-client.link.getAllProviders() -> List<SourceLink>
+client.link.getAllProviders() -> List<SourceLink>
-
@@ -1315,7 +1315,7 @@ client.link().getAllProviders(
-client.link.connectManualProvider(provider, request) -> Map<String, Boolean>
+client.link.connectManualProvider(provider, request) -> Map<String, Boolean>
-
@@ -7362,7 +7362,7 @@ client.vitals().bloodPressureGrouped(
-client.vitals.vo2Max(userId) -> List<ClientFacingVo2MaxTimeseries>
+client.vitals.vo2Max(userId) -> List<ClientFacingVo2MaxTimeseries>
-
@@ -7434,7 +7434,7 @@ client.vitals().vo2Max(
-client.vitals.stressLevel(userId) -> List<ClientFacingStressLevelTimeseries>
+client.vitals.stressLevel(userId) -> List<ClientFacingStressLevelTimeseries>
-
@@ -7506,7 +7506,7 @@ client.vitals().stressLevel(
-client.vitals.mindfulnessMinutes(userId) -> List<ClientFacingMindfulnessMinutesTimeseries>
+client.vitals.mindfulnessMinutes(userId) -> List<ClientFacingMindfulnessMinutesTimeseries>
-
@@ -7578,7 +7578,7 @@ client.vitals().mindfulnessMinutes(
-client.vitals.caffeine(userId) -> List<ClientFacingCaffeineTimeseries>
+client.vitals.caffeine(userId) -> List<ClientFacingCaffeineTimeseries>
-
@@ -7650,7 +7650,7 @@ client.vitals().caffeine(
-client.vitals.water(userId) -> List<ClientFacingWaterTimeseries>
+client.vitals.water(userId) -> List<ClientFacingWaterTimeseries>
-
@@ -7722,7 +7722,7 @@ client.vitals().water(
-client.vitals.steps(userId) -> List<ClientFacingStepsTimeseries>
+client.vitals.steps(userId) -> List<ClientFacingStepsTimeseries>
-
@@ -7794,7 +7794,7 @@ client.vitals().steps(
-client.vitals.floorsClimbed(userId) -> List<ClientFacingFloorsClimbedTimeseries>
+client.vitals.floorsClimbed(userId) -> List<ClientFacingFloorsClimbedTimeseries>
-
@@ -7866,7 +7866,7 @@ client.vitals().floorsClimbed(
-client.vitals.distance(userId) -> List<ClientFacingDistanceTimeseries>
+client.vitals.distance(userId) -> List<ClientFacingDistanceTimeseries>
-
@@ -7938,7 +7938,7 @@ client.vitals().distance(
-client.vitals.caloriesBasal(userId) -> List<ClientFacingCaloriesBasalTimeseries>
+client.vitals.caloriesBasal(userId) -> List<ClientFacingCaloriesBasalTimeseries>
-
@@ -8010,7 +8010,7 @@ client.vitals().caloriesBasal(
-client.vitals.caloriesActive(userId) -> List<ClientFacingCaloriesActiveTimeseries>
+client.vitals.caloriesActive(userId) -> List<ClientFacingCaloriesActiveTimeseries>
-
@@ -8082,7 +8082,7 @@ client.vitals().caloriesActive(
-client.vitals.respiratoryRate(userId) -> List<ClientFacingRespiratoryRateTimeseries>
+client.vitals.respiratoryRate(userId) -> List<ClientFacingRespiratoryRateTimeseries>
-
@@ -8154,7 +8154,7 @@ client.vitals().respiratoryRate(
-client.vitals.ige(userId) -> List<ClientFacingIgeTimeseries>
+client.vitals.ige(userId) -> List<ClientFacingIgeTimeseries>
-
@@ -8226,7 +8226,7 @@ client.vitals().ige(
-client.vitals.igg(userId) -> List<ClientFacingIggTimeseries>
+client.vitals.igg(userId) -> List<ClientFacingIggTimeseries>
-
@@ -8298,7 +8298,7 @@ client.vitals().igg(
-client.vitals.hypnogram(userId) -> List<ClientFacingHypnogramTimeseries>
+client.vitals.hypnogram(userId) -> List<ClientFacingHypnogramTimeseries>
-
@@ -8370,7 +8370,7 @@ client.vitals().hypnogram(
-client.vitals.hrv(userId) -> List<ClientFacingHrvTimeseries>
+client.vitals.hrv(userId) -> List<ClientFacingHrvTimeseries>
-
@@ -8442,7 +8442,7 @@ client.vitals().hrv(
-client.vitals.heartrate(userId) -> List<ClientFacingHeartRateTimeseries>
+client.vitals.heartrate(userId) -> List<ClientFacingHeartRateTimeseries>
-
@@ -8514,7 +8514,7 @@ client.vitals().heartrate(
-client.vitals.glucose(userId) -> List<ClientFacingGlucoseTimeseries>
+client.vitals.glucose(userId) -> List<ClientFacingGlucoseTimeseries>
-
@@ -8586,7 +8586,7 @@ client.vitals().glucose(
-client.vitals.cholesterolTriglycerides(userId) -> List<ClientFacingCholesterolTimeseries>
+client.vitals.cholesterolTriglycerides(userId) -> List<ClientFacingCholesterolTimeseries>
-
@@ -8658,7 +8658,7 @@ client.vitals().cholesterolTriglycerides(
-client.vitals.cholesterolTotal(userId) -> List<ClientFacingCholesterolTimeseries>
+client.vitals.cholesterolTotal(userId) -> List<ClientFacingCholesterolTimeseries>
-
@@ -8730,7 +8730,7 @@ client.vitals().cholesterolTotal(
-client.vitals.cholesterolLdl(userId) -> List<ClientFacingCholesterolTimeseries>
+client.vitals.cholesterolLdl(userId) -> List<ClientFacingCholesterolTimeseries>
-
@@ -8802,7 +8802,7 @@ client.vitals().cholesterolLdl(
-client.vitals.cholesterolHdl(userId) -> List<ClientFacingCholesterolTimeseries>
+client.vitals.cholesterolHdl(userId) -> List<ClientFacingCholesterolTimeseries>
-
@@ -8874,7 +8874,7 @@ client.vitals().cholesterolHdl(
-client.vitals.cholesterol(userId) -> List<ClientFacingCholesterolTimeseries>
+client.vitals.cholesterol(userId) -> List<ClientFacingCholesterolTimeseries>
-
@@ -8946,7 +8946,7 @@ client.vitals().cholesterol(
-client.vitals.bodyWeight(userId) -> List<ClientFacingBodyWeightTimeseries>
+client.vitals.bodyWeight(userId) -> List<ClientFacingBodyWeightTimeseries>
-
@@ -9018,7 +9018,7 @@ client.vitals().bodyWeight(
-client.vitals.bodyFat(userId) -> List<ClientFacingBodyFatTimeseries>
+client.vitals.bodyFat(userId) -> List<ClientFacingBodyFatTimeseries>
-
@@ -9090,7 +9090,7 @@ client.vitals().bodyFat(
-client.vitals.bloodOxygen(userId) -> List<ClientFacingBloodOxygenTimeseries>
+client.vitals.bloodOxygen(userId) -> List<ClientFacingBloodOxygenTimeseries>
-
@@ -9162,7 +9162,7 @@ client.vitals().bloodOxygen(
-client.vitals.electrocardiogramVoltage(userId) -> List<ClientFacingElectrocardiogramVoltageTimeseries>
+client.vitals.electrocardiogramVoltage(userId) -> List<ClientFacingElectrocardiogramVoltageTimeseries>
-
@@ -9234,7 +9234,7 @@ client.vitals().electrocardiogramVoltage(
-client.vitals.bloodPressure(userId) -> List<ClientFacingBloodPressureTimeseries>
+client.vitals.bloodPressure(userId) -> List<ClientFacingBloodPressureTimeseries>
-
@@ -9510,7 +9510,7 @@ client.user().getTeamMetrics();
-client.user.getConnectedProviders(userId) -> Map<String, List<ClientFacingProviderWithStatus>>
+client.user.getConnectedProviders(userId) -> Map<String, List<ClientFacingProviderWithStatus>>
-
@@ -10334,7 +10334,7 @@ client.user().refresh(
-client.user.getDevices(userId) -> List<ClientFacingDevice>
+client.user.getDevices(userId) -> List<ClientFacingDevice>
-
@@ -10533,7 +10533,7 @@ authentication, e.g., when they open a short link on a new device. ℹ️ This e
## Team
-client.team.getLinkConfig() -> Map<String, Object>
+client.team.getLinkConfig() -> Map<String, Object>
-
@@ -10646,7 +10646,7 @@ client.team().get("team_id");
-client.team.getUserById() -> List<ClientFacingUser>
+client.team.getUserById() -> List<ClientFacingUser>
-
@@ -10705,7 +10705,7 @@ client.team().getUserById(
-client.team.getSvixUrl() -> Map<String, Object>
+client.team.getSvixUrl() -> Map<String, Object>
-
@@ -10730,7 +10730,7 @@ client.team().getSvixUrl();
-client.team.getSourcePriorities() -> List<Map<String, Object>>
+client.team.getSourcePriorities() -> List<Map<String, Object>>
-
@@ -10789,7 +10789,7 @@ client.team().getSourcePriorities(
-client.team.updateSourcePriorities() -> List<Map<String, Object>>
+client.team.updateSourcePriorities() -> List<Map<String, Object>>
-
@@ -10828,7 +10828,7 @@ client.team().updateSourcePriorities();
-client.team.getPhysicians(teamId) -> List<ClientFacingPhysician>
+client.team.getPhysicians(teamId) -> List<ClientFacingPhysician>
-
@@ -10869,7 +10869,7 @@ client.team().getPhysicians("team_id");
## Providers
-client.providers.getAll() -> List<ClientFacingProviderDetailed>
+client.providers.getAll() -> List<ClientFacingProviderDetailed>
-
@@ -11092,7 +11092,7 @@ client.introspect().getUserHistoricalPulls(
## LabTests
-client.labTests.get() -> List<ClientFacingLabTest>
+client.labTests.get() -> List<ClientFacingLabTest>
-
@@ -11756,7 +11756,7 @@ client.labTests().getMarkersByLabAndProviderId(
-client.labTests.getLabs() -> List<ClientFacingLab>
+client.labTests.getLabs() -> List<ClientFacingLab>
-
@@ -12564,7 +12564,7 @@ client.labTests().cancelPhlebotomyAppointment(
-client.labTests.getPhlebotomyAppointmentCancellationReason() -> List<ClientFacingAppointmentCancellationReason>
+client.labTests.getPhlebotomyAppointmentCancellationReason() -> List<ClientFacingAppointmentCancellationReason>
-
@@ -13156,6 +13156,7 @@ client.labTests().getPscAppointmentAvailability(
.startDate("start_date")
.zipCode("zip_code")
.radius(AllowedRadius.TEN)
+ .allowStale(true)
.build()
);
```
@@ -13206,6 +13207,14 @@ client.labTests().getPscAppointmentAvailability(
**radius:** `Optional` — Radius in which to search. (meters)
+
+
+
+
+-
+
+**allowStale:** `Optional` — [Closed Beta] Serve last known good information when the PSC system is temporarily unavailable.
+
@@ -13231,9 +13240,15 @@ client.labTests().getPscAppointmentAvailability(
```java
client.labTests().bookPscAppointment(
"order_id",
- AppointmentBookingRequest
+ LabTestsBookPscAppointmentRequest
.builder()
- .bookingKey("booking_key")
+ .body(
+ AppointmentBookingRequest
+ .builder()
+ .bookingKey("booking_key")
+ .build()
+ )
+ .idempotencyKey("x-idempotency-key")
.build()
);
```
@@ -13258,6 +13273,14 @@ client.labTests().bookPscAppointment(
-
+**idempotencyKey:** `Optional` — [!] This feature (Idempotency Key) is under closed beta. Idempotency Key support for booking PSC appointment.
+
+
+
+
+
+-
+
**request:** `AppointmentBookingRequest`
@@ -13386,7 +13409,7 @@ client.labTests().cancelPscAppointment(
-client.labTests.getPscAppointmentCancellationReason() -> List<ClientFacingAppointmentCancellationReason>
+client.labTests.getPscAppointmentCancellationReason() -> List<ClientFacingAppointmentCancellationReason>
-
@@ -14570,7 +14593,7 @@ client.order().resendEvents(
## Insurance
-client.insurance.searchGetPayorInfo() -> List<ClientFacingPayorSearchResponse>
+client.insurance.searchGetPayorInfo() -> List<ClientFacingPayorSearchResponse>
-
@@ -14633,7 +14656,7 @@ client.insurance().searchGetPayorInfo(
-client.insurance.searchPayorInfo(request) -> List<ClientFacingPayorSearchResponseDeprecated>
+client.insurance.searchPayorInfo(request) -> List<ClientFacingPayorSearchResponseDeprecated>
-
@@ -14693,7 +14716,7 @@ client.insurance().searchPayorInfo(
-client.insurance.searchDiagnosis() -> List<ClientFacingDiagnosisInformation>
+client.insurance.searchDiagnosis() -> List<ClientFacingDiagnosisInformation>
-
diff --git a/src/main/java/com/vital/api/core/ClientOptions.java b/src/main/java/com/vital/api/core/ClientOptions.java
index eea0dda1..3f419f88 100644
--- a/src/main/java/com/vital/api/core/ClientOptions.java
+++ b/src/main/java/com/vital/api/core/ClientOptions.java
@@ -35,10 +35,10 @@ private ClientOptions(
this.headers.putAll(headers);
this.headers.putAll(new HashMap() {
{
- put("User-Agent", "io.tryvital:vital-java/1.2.585");
+ put("User-Agent", "io.tryvital:vital-java/1.2.600");
put("X-Fern-Language", "JAVA");
put("X-Fern-SDK-Name", "com.vital.fern:api-sdk");
- put("X-Fern-SDK-Version", "1.2.585");
+ put("X-Fern-SDK-Version", "1.2.600");
}
});
this.headerSuppliers = headerSuppliers;
diff --git a/src/main/java/com/vital/api/core/RequestOptions.java b/src/main/java/com/vital/api/core/RequestOptions.java
index ec6fb060..3f41143b 100644
--- a/src/main/java/com/vital/api/core/RequestOptions.java
+++ b/src/main/java/com/vital/api/core/RequestOptions.java
@@ -20,17 +20,25 @@ public final class RequestOptions {
private final Map> headerSuppliers;
+ private final Map queryParameters;
+
+ private final Map> queryParameterSuppliers;
+
private RequestOptions(
String apiKey,
Optional timeout,
TimeUnit timeoutTimeUnit,
Map headers,
- Map> headerSuppliers) {
+ Map> headerSuppliers,
+ Map queryParameters,
+ Map> queryParameterSuppliers) {
this.apiKey = apiKey;
this.timeout = timeout;
this.timeoutTimeUnit = timeoutTimeUnit;
this.headers = headers;
this.headerSuppliers = headerSuppliers;
+ this.queryParameters = queryParameters;
+ this.queryParameterSuppliers = queryParameterSuppliers;
}
public Optional getTimeout() {
@@ -53,6 +61,14 @@ public Map getHeaders() {
return headers;
}
+ public Map getQueryParameters() {
+ Map queryParameters = new HashMap<>(this.queryParameters);
+ this.queryParameterSuppliers.forEach((key, supplier) -> {
+ queryParameters.put(key, supplier.get());
+ });
+ return queryParameters;
+ }
+
public static Builder builder() {
return new Builder();
}
@@ -68,6 +84,10 @@ public static class Builder {
private final Map> headerSuppliers = new HashMap<>();
+ private final Map queryParameters = new HashMap<>();
+
+ private final Map> queryParameterSuppliers = new HashMap<>();
+
public Builder apiKey(String apiKey) {
this.apiKey = apiKey;
return this;
@@ -94,8 +114,25 @@ public Builder addHeader(String key, Supplier value) {
return this;
}
+ public Builder addQueryParameter(String key, String value) {
+ this.queryParameters.put(key, value);
+ return this;
+ }
+
+ public Builder addQueryParameter(String key, Supplier value) {
+ this.queryParameterSuppliers.put(key, value);
+ return this;
+ }
+
public RequestOptions build() {
- return new RequestOptions(apiKey, timeout, timeoutTimeUnit, headers, headerSuppliers);
+ return new RequestOptions(
+ apiKey,
+ timeout,
+ timeoutTimeUnit,
+ headers,
+ headerSuppliers,
+ queryParameters,
+ queryParameterSuppliers);
}
}
}
diff --git a/src/main/java/com/vital/api/resources/activity/AsyncRawActivityClient.java b/src/main/java/com/vital/api/resources/activity/AsyncRawActivityClient.java
index 29555ef8..4b9134e4 100644
--- a/src/main/java/com/vital/api/resources/activity/AsyncRawActivityClient.java
+++ b/src/main/java/com/vital/api/resources/activity/AsyncRawActivityClient.java
@@ -61,6 +61,11 @@ public CompletableFuture> get(
QueryStringMapper.addQueryParameter(
httpUrl, "end_date", request.getEndDate().get(), false);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
@@ -136,6 +141,11 @@ public CompletableFuture> getRaw(
QueryStringMapper.addQueryParameter(
httpUrl, "end_date", request.getEndDate().get(), false);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
diff --git a/src/main/java/com/vital/api/resources/activity/RawActivityClient.java b/src/main/java/com/vital/api/resources/activity/RawActivityClient.java
index e4acb66d..e6756af1 100644
--- a/src/main/java/com/vital/api/resources/activity/RawActivityClient.java
+++ b/src/main/java/com/vital/api/resources/activity/RawActivityClient.java
@@ -57,6 +57,11 @@ public VitalHttpResponse get(
QueryStringMapper.addQueryParameter(
httpUrl, "end_date", request.getEndDate().get(), false);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
@@ -117,6 +122,11 @@ public VitalHttpResponse getRaw(
QueryStringMapper.addQueryParameter(
httpUrl, "end_date", request.getEndDate().get(), false);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
diff --git a/src/main/java/com/vital/api/resources/aggregate/AsyncRawAggregateClient.java b/src/main/java/com/vital/api/resources/aggregate/AsyncRawAggregateClient.java
index fa1cc7c2..d0d64011 100644
--- a/src/main/java/com/vital/api/resources/aggregate/AsyncRawAggregateClient.java
+++ b/src/main/java/com/vital/api/resources/aggregate/AsyncRawAggregateClient.java
@@ -45,12 +45,16 @@ public CompletableFuture> queryOne(String
public CompletableFuture> queryOne(
String userId, QueryBatch request, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("aggregate/v1/user")
.addPathSegment(userId)
- .addPathSegments("query")
- .build();
+ .addPathSegments("query");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
RequestBody body;
try {
body = RequestBody.create(
@@ -59,7 +63,7 @@ public CompletableFuture> queryOne(
throw new RuntimeException(e);
}
Request.Builder _requestBuilder = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("POST", body)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Content-Type", "application/json")
@@ -116,16 +120,20 @@ public CompletableFuture> getResultTableFor
public CompletableFuture> getResultTableForContinuousQuery(
String userId, String queryIdOrSlug, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("aggregate/v1/user")
.addPathSegment(userId)
.addPathSegments("continuous_query")
.addPathSegment(queryIdOrSlug)
- .addPathSegments("result_table")
- .build();
+ .addPathSegments("result_table");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Accept", "application/json")
@@ -215,6 +223,11 @@ public CompletableFuture>
QueryStringMapper.addQueryParameter(
httpUrl, "limit", request.getLimit().get(), false);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
diff --git a/src/main/java/com/vital/api/resources/aggregate/RawAggregateClient.java b/src/main/java/com/vital/api/resources/aggregate/RawAggregateClient.java
index 54b17592..5d7ddd95 100644
--- a/src/main/java/com/vital/api/resources/aggregate/RawAggregateClient.java
+++ b/src/main/java/com/vital/api/resources/aggregate/RawAggregateClient.java
@@ -41,12 +41,16 @@ public VitalHttpResponse queryOne(String userId, QueryBatch
public VitalHttpResponse queryOne(
String userId, QueryBatch request, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("aggregate/v1/user")
.addPathSegment(userId)
- .addPathSegments("query")
- .build();
+ .addPathSegments("query");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
RequestBody body;
try {
body = RequestBody.create(
@@ -55,7 +59,7 @@ public VitalHttpResponse queryOne(
throw new RuntimeException(e);
}
Request.Builder _requestBuilder = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("POST", body)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Content-Type", "application/json")
@@ -95,16 +99,20 @@ public VitalHttpResponse getResultTableForContinuousQuery(Str
public VitalHttpResponse getResultTableForContinuousQuery(
String userId, String queryIdOrSlug, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("aggregate/v1/user")
.addPathSegment(userId)
.addPathSegments("continuous_query")
.addPathSegment(queryIdOrSlug)
- .addPathSegments("result_table")
- .build();
+ .addPathSegments("result_table");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Accept", "application/json")
@@ -178,6 +186,11 @@ public VitalHttpResponse getTaskHistoryForCo
QueryStringMapper.addQueryParameter(
httpUrl, "limit", request.getLimit().get(), false);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
diff --git a/src/main/java/com/vital/api/resources/body/AsyncRawBodyClient.java b/src/main/java/com/vital/api/resources/body/AsyncRawBodyClient.java
index 2b86ee0a..79abb441 100644
--- a/src/main/java/com/vital/api/resources/body/AsyncRawBodyClient.java
+++ b/src/main/java/com/vital/api/resources/body/AsyncRawBodyClient.java
@@ -61,6 +61,11 @@ public CompletableFuture> get(
QueryStringMapper.addQueryParameter(
httpUrl, "end_date", request.getEndDate().get(), false);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
@@ -136,6 +141,11 @@ public CompletableFuture> getRaw(
QueryStringMapper.addQueryParameter(
httpUrl, "end_date", request.getEndDate().get(), false);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
diff --git a/src/main/java/com/vital/api/resources/body/RawBodyClient.java b/src/main/java/com/vital/api/resources/body/RawBodyClient.java
index 9dff3c17..d1a71e72 100644
--- a/src/main/java/com/vital/api/resources/body/RawBodyClient.java
+++ b/src/main/java/com/vital/api/resources/body/RawBodyClient.java
@@ -57,6 +57,11 @@ public VitalHttpResponse get(
QueryStringMapper.addQueryParameter(
httpUrl, "end_date", request.getEndDate().get(), false);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
@@ -115,6 +120,11 @@ public VitalHttpResponse getRaw(String userId, BodyGetRawRequest reques
QueryStringMapper.addQueryParameter(
httpUrl, "end_date", request.getEndDate().get(), false);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
diff --git a/src/main/java/com/vital/api/resources/devices/AsyncRawDevicesClient.java b/src/main/java/com/vital/api/resources/devices/AsyncRawDevicesClient.java
index 786258f5..a72d0e4e 100644
--- a/src/main/java/com/vital/api/resources/devices/AsyncRawDevicesClient.java
+++ b/src/main/java/com/vital/api/resources/devices/AsyncRawDevicesClient.java
@@ -69,6 +69,11 @@ public CompletableFuture> getRaw(
QueryStringMapper.addQueryParameter(
httpUrl, "provider", request.getProvider().get(), false);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
diff --git a/src/main/java/com/vital/api/resources/devices/RawDevicesClient.java b/src/main/java/com/vital/api/resources/devices/RawDevicesClient.java
index bbf70497..73cd7f81 100644
--- a/src/main/java/com/vital/api/resources/devices/RawDevicesClient.java
+++ b/src/main/java/com/vital/api/resources/devices/RawDevicesClient.java
@@ -65,6 +65,11 @@ public VitalHttpResponse getRaw(
QueryStringMapper.addQueryParameter(
httpUrl, "provider", request.getProvider().get(), false);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
diff --git a/src/main/java/com/vital/api/resources/electrocardiogram/AsyncRawElectrocardiogramClient.java b/src/main/java/com/vital/api/resources/electrocardiogram/AsyncRawElectrocardiogramClient.java
index 6e0a26d7..72d81049 100644
--- a/src/main/java/com/vital/api/resources/electrocardiogram/AsyncRawElectrocardiogramClient.java
+++ b/src/main/java/com/vital/api/resources/electrocardiogram/AsyncRawElectrocardiogramClient.java
@@ -60,6 +60,11 @@ public CompletableFuture {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
diff --git a/src/main/java/com/vital/api/resources/electrocardiogram/RawElectrocardiogramClient.java b/src/main/java/com/vital/api/resources/electrocardiogram/RawElectrocardiogramClient.java
index d352a81f..3942c4f6 100644
--- a/src/main/java/com/vital/api/resources/electrocardiogram/RawElectrocardiogramClient.java
+++ b/src/main/java/com/vital/api/resources/electrocardiogram/RawElectrocardiogramClient.java
@@ -56,6 +56,11 @@ public VitalHttpResponse get(
QueryStringMapper.addQueryParameter(
httpUrl, "provider", request.getProvider().get(), false);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
diff --git a/src/main/java/com/vital/api/resources/insurance/AsyncRawInsuranceClient.java b/src/main/java/com/vital/api/resources/insurance/AsyncRawInsuranceClient.java
index 1a83321a..7b9bcea8 100644
--- a/src/main/java/com/vital/api/resources/insurance/AsyncRawInsuranceClient.java
+++ b/src/main/java/com/vital/api/resources/insurance/AsyncRawInsuranceClient.java
@@ -73,6 +73,11 @@ public CompletableFuture
QueryStringMapper.addQueryParameter(
httpUrl, "provider_payor_id", request.getProviderPayorId().get(), false);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
@@ -140,10 +145,14 @@ public CompletableFuture>> searchPayorInfo(
PayorSearchRequest request, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
- .addPathSegments("v3/insurance/search/payor")
- .build();
+ .addPathSegments("v3/insurance/search/payor");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
RequestBody body;
try {
body = RequestBody.create(
@@ -152,7 +161,7 @@ public CompletableFuture {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
diff --git a/src/main/java/com/vital/api/resources/insurance/RawInsuranceClient.java b/src/main/java/com/vital/api/resources/insurance/RawInsuranceClient.java
index 82d01806..6a48afba 100644
--- a/src/main/java/com/vital/api/resources/insurance/RawInsuranceClient.java
+++ b/src/main/java/com/vital/api/resources/insurance/RawInsuranceClient.java
@@ -68,6 +68,11 @@ public VitalHttpResponse
> searchGetPayorIn
QueryStringMapper.addQueryParameter(
httpUrl, "provider_payor_id", request.getProviderPayorId().get(), false);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
@@ -119,10 +124,14 @@ public VitalHttpResponse> search
public VitalHttpResponse> searchPayorInfo(
PayorSearchRequest request, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
- .addPathSegments("v3/insurance/search/payor")
- .build();
+ .addPathSegments("v3/insurance/search/payor");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
RequestBody body;
try {
body = RequestBody.create(
@@ -131,7 +140,7 @@ public VitalHttpResponse> search
throw new VitalException("Failed to serialize request", e);
}
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("POST", body)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Content-Type", "application/json")
@@ -178,6 +187,11 @@ public VitalHttpResponse> searchDiagnosis
.newBuilder()
.addPathSegments("v3/insurance/search/diagnosis");
QueryStringMapper.addQueryParameter(httpUrl, "diagnosis_query", request.getDiagnosisQuery(), false);
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
diff --git a/src/main/java/com/vital/api/resources/introspect/AsyncRawIntrospectClient.java b/src/main/java/com/vital/api/resources/introspect/AsyncRawIntrospectClient.java
index 0ce2908b..e67ca0c1 100644
--- a/src/main/java/com/vital/api/resources/introspect/AsyncRawIntrospectClient.java
+++ b/src/main/java/com/vital/api/resources/introspect/AsyncRawIntrospectClient.java
@@ -74,6 +74,11 @@ public CompletableFuture> getUserResour
QueryStringMapper.addQueryParameter(
httpUrl, "next_cursor", request.getNextCursor().get(), false);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
@@ -164,6 +169,11 @@ public CompletableFuture> getUser
QueryStringMapper.addQueryParameter(
httpUrl, "next_cursor", request.getNextCursor().get(), false);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
diff --git a/src/main/java/com/vital/api/resources/introspect/RawIntrospectClient.java b/src/main/java/com/vital/api/resources/introspect/RawIntrospectClient.java
index 7f69d591..d871d3cd 100644
--- a/src/main/java/com/vital/api/resources/introspect/RawIntrospectClient.java
+++ b/src/main/java/com/vital/api/resources/introspect/RawIntrospectClient.java
@@ -69,6 +69,11 @@ public VitalHttpResponse getUserResources(
QueryStringMapper.addQueryParameter(
httpUrl, "next_cursor", request.getNextCursor().get(), false);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
@@ -142,6 +147,11 @@ public VitalHttpResponse getUserHistoricalPulls(
QueryStringMapper.addQueryParameter(
httpUrl, "next_cursor", request.getNextCursor().get(), false);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
diff --git a/src/main/java/com/vital/api/resources/labreport/AsyncRawLabReportClient.java b/src/main/java/com/vital/api/resources/labreport/AsyncRawLabReportClient.java
index f95c15bf..a8cf6294 100644
--- a/src/main/java/com/vital/api/resources/labreport/AsyncRawLabReportClient.java
+++ b/src/main/java/com/vital/api/resources/labreport/AsyncRawLabReportClient.java
@@ -55,10 +55,14 @@ public CompletableFuture> parserCreateJob(
*/
public CompletableFuture> parserCreateJob(
File file, BodyCreateLabReportParserJob request, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
- .addPathSegments("lab_report/v1/parser/job")
- .build();
+ .addPathSegments("lab_report/v1/parser/job");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM);
try {
String fileMimeType = Files.probeContentType(file.toPath());
@@ -77,7 +81,7 @@ public CompletableFuture> parserCreateJob(
throw new RuntimeException(e);
}
Request.Builder _requestBuilder = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("POST", multipartBodyBuilder.build())
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Accept", "application/json");
@@ -125,16 +129,15 @@ public void onFailure(@NotNull Call call, @NotNull IOException e) {
}
public CompletableFuture> parserCreateJob(InputStream stream, String filename) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
- .addPathSegments("lab_report/v1/parser/job")
- .build();
+ .addPathSegments("lab_report/v1/parser/job");
FileStream fs = new FileStream(stream, filename, null);
MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM);
multipartBodyBuilder.addFormDataPart("file", filename, fs.toRequestBody());
RequestBody body = multipartBodyBuilder.build();
Request.Builder _requestBuilder = new Request.Builder();
- _requestBuilder.url(httpUrl);
+ _requestBuilder.url(httpUrl.build());
_requestBuilder.method("POST", body);
_requestBuilder.headers(Headers.of(this.clientOptions.headers(null)));
Request okhttpRequest = _requestBuilder.build();
@@ -179,16 +182,15 @@ public void onFailure(@NotNull Call call, @NotNull IOException e) {
public CompletableFuture> parserCreateJob(
InputStream stream, String filename, MediaType mediaType) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
- .addPathSegments("lab_report/v1/parser/job")
- .build();
+ .addPathSegments("lab_report/v1/parser/job");
FileStream fs = new FileStream(stream, filename, mediaType);
MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM);
multipartBodyBuilder.addFormDataPart("file", filename, fs.toRequestBody());
RequestBody body = multipartBodyBuilder.build();
Request.Builder _requestBuilder = new Request.Builder();
- _requestBuilder.url(httpUrl);
+ _requestBuilder.url(httpUrl.build());
_requestBuilder.method("POST", body);
_requestBuilder.headers(Headers.of(this.clientOptions.headers(null)));
Request okhttpRequest = _requestBuilder.build();
@@ -233,16 +235,20 @@ public void onFailure(@NotNull Call call, @NotNull IOException e) {
public CompletableFuture> parserCreateJob(
InputStream stream, String filename, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
- .addPathSegments("lab_report/v1/parser/job")
- .build();
+ .addPathSegments("lab_report/v1/parser/job");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
FileStream fs = new FileStream(stream, filename, null);
MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM);
multipartBodyBuilder.addFormDataPart("file", filename, fs.toRequestBody());
RequestBody body = multipartBodyBuilder.build();
Request.Builder _requestBuilder = new Request.Builder();
- _requestBuilder.url(httpUrl);
+ _requestBuilder.url(httpUrl.build());
_requestBuilder.method("POST", body);
_requestBuilder.headers(Headers.of(this.clientOptions.headers(requestOptions)));
Request okhttpRequest = _requestBuilder.build();
@@ -290,16 +296,20 @@ public void onFailure(@NotNull Call call, @NotNull IOException e) {
public CompletableFuture> parserCreateJob(
InputStream stream, String filename, MediaType mediaType, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
- .addPathSegments("lab_report/v1/parser/job")
- .build();
+ .addPathSegments("lab_report/v1/parser/job");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
FileStream fs = new FileStream(stream, filename, mediaType);
MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM);
multipartBodyBuilder.addFormDataPart("file", filename, fs.toRequestBody());
RequestBody body = multipartBodyBuilder.build();
Request.Builder _requestBuilder = new Request.Builder();
- _requestBuilder.url(httpUrl);
+ _requestBuilder.url(httpUrl.build());
_requestBuilder.method("POST", body);
_requestBuilder.headers(Headers.of(this.clientOptions.headers(requestOptions)));
Request okhttpRequest = _requestBuilder.build();
@@ -360,13 +370,17 @@ public CompletableFuture> parserGetJob(String jobI
* ParseLabResultJobResponse with job status and parsed data (if complete)
*/
public CompletableFuture> parserGetJob(String jobId, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("lab_report/v1/parser/job")
- .addPathSegment(jobId)
- .build();
+ .addPathSegment(jobId);
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Accept", "application/json")
diff --git a/src/main/java/com/vital/api/resources/labreport/RawLabReportClient.java b/src/main/java/com/vital/api/resources/labreport/RawLabReportClient.java
index 5d84385c..e69306cb 100644
--- a/src/main/java/com/vital/api/resources/labreport/RawLabReportClient.java
+++ b/src/main/java/com/vital/api/resources/labreport/RawLabReportClient.java
@@ -50,10 +50,14 @@ public VitalHttpResponse parserCreateJob(File file, BodyCreateLabRep
*/
public VitalHttpResponse parserCreateJob(
File file, BodyCreateLabReportParserJob request, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
- .addPathSegments("lab_report/v1/parser/job")
- .build();
+ .addPathSegments("lab_report/v1/parser/job");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM);
try {
String fileMimeType = Files.probeContentType(file.toPath());
@@ -72,7 +76,7 @@ public VitalHttpResponse parserCreateJob(
throw new RuntimeException(e);
}
Request.Builder _requestBuilder = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("POST", multipartBodyBuilder.build())
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Accept", "application/json");
@@ -105,16 +109,15 @@ public VitalHttpResponse parserCreateJob(
}
public VitalHttpResponse parserCreateJob(InputStream stream, String filename) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
- .addPathSegments("lab_report/v1/parser/job")
- .build();
+ .addPathSegments("lab_report/v1/parser/job");
FileStream fs = new FileStream(stream, filename, null);
MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM);
multipartBodyBuilder.addFormDataPart("file", filename, fs.toRequestBody());
RequestBody body = multipartBodyBuilder.build();
Request.Builder _requestBuilder = new Request.Builder();
- _requestBuilder.url(httpUrl);
+ _requestBuilder.url(httpUrl.build());
_requestBuilder.method("POST", body);
_requestBuilder.headers(Headers.of(this.clientOptions.headers(null)));
Request okhttpRequest = _requestBuilder.build();
@@ -143,16 +146,15 @@ public VitalHttpResponse parserCreateJob(InputStream stream, String
}
public VitalHttpResponse parserCreateJob(InputStream stream, String filename, MediaType mediaType) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
- .addPathSegments("lab_report/v1/parser/job")
- .build();
+ .addPathSegments("lab_report/v1/parser/job");
FileStream fs = new FileStream(stream, filename, mediaType);
MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM);
multipartBodyBuilder.addFormDataPart("file", filename, fs.toRequestBody());
RequestBody body = multipartBodyBuilder.build();
Request.Builder _requestBuilder = new Request.Builder();
- _requestBuilder.url(httpUrl);
+ _requestBuilder.url(httpUrl.build());
_requestBuilder.method("POST", body);
_requestBuilder.headers(Headers.of(this.clientOptions.headers(null)));
Request okhttpRequest = _requestBuilder.build();
@@ -182,16 +184,20 @@ public VitalHttpResponse parserCreateJob(InputStream stream, String
public VitalHttpResponse parserCreateJob(
InputStream stream, String filename, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
- .addPathSegments("lab_report/v1/parser/job")
- .build();
+ .addPathSegments("lab_report/v1/parser/job");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
FileStream fs = new FileStream(stream, filename, null);
MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM);
multipartBodyBuilder.addFormDataPart("file", filename, fs.toRequestBody());
RequestBody body = multipartBodyBuilder.build();
Request.Builder _requestBuilder = new Request.Builder();
- _requestBuilder.url(httpUrl);
+ _requestBuilder.url(httpUrl.build());
_requestBuilder.method("POST", body);
_requestBuilder.headers(Headers.of(this.clientOptions.headers(requestOptions)));
Request okhttpRequest = _requestBuilder.build();
@@ -224,16 +230,20 @@ public VitalHttpResponse parserCreateJob(
public VitalHttpResponse parserCreateJob(
InputStream stream, String filename, MediaType mediaType, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
- .addPathSegments("lab_report/v1/parser/job")
- .build();
+ .addPathSegments("lab_report/v1/parser/job");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
FileStream fs = new FileStream(stream, filename, mediaType);
MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM);
multipartBodyBuilder.addFormDataPart("file", filename, fs.toRequestBody());
RequestBody body = multipartBodyBuilder.build();
Request.Builder _requestBuilder = new Request.Builder();
- _requestBuilder.url(httpUrl);
+ _requestBuilder.url(httpUrl.build());
_requestBuilder.method("POST", body);
_requestBuilder.headers(Headers.of(this.clientOptions.headers(requestOptions)));
Request okhttpRequest = _requestBuilder.build();
@@ -279,13 +289,17 @@ public VitalHttpResponse parserGetJob(String jobId) {
* ParseLabResultJobResponse with job status and parsed data (if complete)
*/
public VitalHttpResponse parserGetJob(String jobId, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("lab_report/v1/parser/job")
- .addPathSegment(jobId)
- .build();
+ .addPathSegment(jobId);
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Accept", "application/json")
diff --git a/src/main/java/com/vital/api/resources/labtests/AsyncLabTestsClient.java b/src/main/java/com/vital/api/resources/labtests/AsyncLabTestsClient.java
index 6e3494fe..03c6f0c9 100644
--- a/src/main/java/com/vital/api/resources/labtests/AsyncLabTestsClient.java
+++ b/src/main/java/com/vital/api/resources/labtests/AsyncLabTestsClient.java
@@ -9,6 +9,7 @@
import com.vital.api.resources.labtests.requests.CreateLabTestRequest;
import com.vital.api.resources.labtests.requests.CreateOrderRequestCompatible;
import com.vital.api.resources.labtests.requests.ImportOrderBody;
+import com.vital.api.resources.labtests.requests.LabTestsBookPscAppointmentRequest;
import com.vital.api.resources.labtests.requests.LabTestsGetAreaInfoRequest;
import com.vital.api.resources.labtests.requests.LabTestsGetByIdRequest;
import com.vital.api.resources.labtests.requests.LabTestsGetLabelsPdfRequest;
@@ -43,8 +44,10 @@
import com.vital.api.types.LabResultsMetadata;
import com.vital.api.types.LabResultsRaw;
import com.vital.api.types.LabTestResourcesResponse;
+import com.vital.api.types.OrderSetRequest;
import com.vital.api.types.PostOrderResponse;
import com.vital.api.types.PscInfo;
+import com.vital.api.types.UsAddress;
import com.vital.api.types.ValidateIcdCodesResponse;
import java.io.InputStream;
import java.util.List;
@@ -178,6 +181,15 @@ public CompletableFuture getMarkers(
return this.rawClient.getMarkers(request, requestOptions).thenApply(response -> response.body());
}
+ public CompletableFuture getMarkersForOrderSet(OrderSetRequest body) {
+ return this.rawClient.getMarkersForOrderSet(body).thenApply(response -> response.body());
+ }
+
+ public CompletableFuture getMarkersForOrderSet(
+ OrderSetRequest body, RequestOptions requestOptions) {
+ return this.rawClient.getMarkersForOrderSet(body, requestOptions).thenApply(response -> response.body());
+ }
+
public CompletableFuture getMarkersForOrderSet(LabTestsGetMarkersForOrderSetRequest request) {
return this.rawClient.getMarkersForOrderSet(request).thenApply(response -> response.body());
}
@@ -330,6 +342,25 @@ public CompletableFuture getOrders(
return this.rawClient.getOrders(request, requestOptions).thenApply(response -> response.body());
}
+ /**
+ * Return the available time slots to book an appointment with a phlebotomist
+ * for the given address and order.
+ */
+ public CompletableFuture getPhlebotomyAppointmentAvailability(UsAddress body) {
+ return this.rawClient.getPhlebotomyAppointmentAvailability(body).thenApply(response -> response.body());
+ }
+
+ /**
+ * Return the available time slots to book an appointment with a phlebotomist
+ * for the given address and order.
+ */
+ public CompletableFuture getPhlebotomyAppointmentAvailability(
+ UsAddress body, RequestOptions requestOptions) {
+ return this.rawClient
+ .getPhlebotomyAppointmentAvailability(body, requestOptions)
+ .thenApply(response -> response.body());
+ }
+
/**
* Return the available time slots to book an appointment with a phlebotomist
* for the given address and order.
@@ -578,12 +609,22 @@ public CompletableFuture getPscAppointmentAvailabi
}
public CompletableFuture bookPscAppointment(
- String orderId, AppointmentBookingRequest request) {
+ String orderId, AppointmentBookingRequest body) {
+ return this.rawClient.bookPscAppointment(orderId, body).thenApply(response -> response.body());
+ }
+
+ public CompletableFuture bookPscAppointment(
+ String orderId, AppointmentBookingRequest body, RequestOptions requestOptions) {
+ return this.rawClient.bookPscAppointment(orderId, body, requestOptions).thenApply(response -> response.body());
+ }
+
+ public CompletableFuture bookPscAppointment(
+ String orderId, LabTestsBookPscAppointmentRequest request) {
return this.rawClient.bookPscAppointment(orderId, request).thenApply(response -> response.body());
}
public CompletableFuture bookPscAppointment(
- String orderId, AppointmentBookingRequest request, RequestOptions requestOptions) {
+ String orderId, LabTestsBookPscAppointmentRequest request, RequestOptions requestOptions) {
return this.rawClient
.bookPscAppointment(orderId, request, requestOptions)
.thenApply(response -> response.body());
diff --git a/src/main/java/com/vital/api/resources/labtests/AsyncRawLabTestsClient.java b/src/main/java/com/vital/api/resources/labtests/AsyncRawLabTestsClient.java
index 0b968e29..d9094e83 100644
--- a/src/main/java/com/vital/api/resources/labtests/AsyncRawLabTestsClient.java
+++ b/src/main/java/com/vital/api/resources/labtests/AsyncRawLabTestsClient.java
@@ -20,6 +20,7 @@
import com.vital.api.resources.labtests.requests.CreateLabTestRequest;
import com.vital.api.resources.labtests.requests.CreateOrderRequestCompatible;
import com.vital.api.resources.labtests.requests.ImportOrderBody;
+import com.vital.api.resources.labtests.requests.LabTestsBookPscAppointmentRequest;
import com.vital.api.resources.labtests.requests.LabTestsGetAreaInfoRequest;
import com.vital.api.resources.labtests.requests.LabTestsGetByIdRequest;
import com.vital.api.resources.labtests.requests.LabTestsGetLabelsPdfRequest;
@@ -56,8 +57,10 @@
import com.vital.api.types.LabResultsRaw;
import com.vital.api.types.LabTestResourcesResponse;
import com.vital.api.types.NotFoundErrorBody;
+import com.vital.api.types.OrderSetRequest;
import com.vital.api.types.PostOrderResponse;
import com.vital.api.types.PscInfo;
+import com.vital.api.types.UsAddress;
import com.vital.api.types.ValidateIcdCodesResponse;
import java.io.IOException;
import java.io.InputStream;
@@ -146,6 +149,11 @@ public CompletableFuture>> get(
QueryStringMapper.addQueryParameter(
httpUrl, "provider_ids", request.getProviderIds().get(), true);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
@@ -202,10 +210,14 @@ public CompletableFuture> create(CreateLa
public CompletableFuture> create(
CreateLabTestRequest request, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
- .addPathSegments("v3/lab_tests")
- .build();
+ .addPathSegments("v3/lab_tests");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
RequestBody body;
try {
body = RequestBody.create(
@@ -214,7 +226,7 @@ public CompletableFuture> create(
throw new VitalException("Failed to serialize request", e);
}
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("POST", body)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Content-Type", "application/json")
@@ -299,6 +311,11 @@ public CompletableFuture> getById(
QueryStringMapper.addQueryParameter(
httpUrl, "lab_account_id", request.getLabAccountId().get(), false);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
@@ -364,11 +381,15 @@ public CompletableFuture> updateLabTest(
public CompletableFuture> updateLabTest(
String labTestId, UpdateLabTestRequest request, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/lab_tests")
- .addPathSegment(labTestId)
- .build();
+ .addPathSegment(labTestId);
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
RequestBody body;
try {
body = RequestBody.create(
@@ -377,7 +398,7 @@ public CompletableFuture> updateLabTest(
throw new VitalException("Failed to serialize request", e);
}
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("PATCH", body)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Content-Type", "application/json")
@@ -479,6 +500,11 @@ public CompletableFuture> getMarkers(
QueryStringMapper.addQueryParameter(
httpUrl, "lab_id", request.getLabId().get(), true);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
@@ -528,6 +554,17 @@ public void onFailure(@NotNull Call call, @NotNull IOException e) {
return future;
}
+ public CompletableFuture> getMarkersForOrderSet(OrderSetRequest body) {
+ return getMarkersForOrderSet(
+ LabTestsGetMarkersForOrderSetRequest.builder().body(body).build());
+ }
+
+ public CompletableFuture> getMarkersForOrderSet(
+ OrderSetRequest body, RequestOptions requestOptions) {
+ return getMarkersForOrderSet(
+ LabTestsGetMarkersForOrderSetRequest.builder().body(body).build(), requestOptions);
+ }
+
public CompletableFuture> getMarkersForOrderSet(
LabTestsGetMarkersForOrderSetRequest request) {
return getMarkersForOrderSet(request, null);
@@ -546,6 +583,11 @@ public CompletableFuture> getMarkersForOrd
QueryStringMapper.addQueryParameter(
httpUrl, "size", request.getSize().get(), false);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
RequestBody body;
try {
body = RequestBody.create(
@@ -638,6 +680,11 @@ public CompletableFuture> getMarkersForLab
QueryStringMapper.addQueryParameter(
httpUrl, "size", request.getSize().get(), false);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
@@ -736,6 +783,11 @@ public CompletableFuture> getMarkersByLabA
QueryStringMapper.addQueryParameter(
httpUrl, "lab_account_id", request.getLabAccountId().get(), false);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
@@ -796,12 +848,16 @@ public CompletableFuture>> getLabs() {
* GET all the labs.
*/
public CompletableFuture>> getLabs(RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
- .addPathSegments("v3/lab_tests/labs")
- .build();
+ .addPathSegments("v3/lab_tests/labs");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Accept", "application/json")
@@ -914,6 +970,11 @@ public CompletableFuture> getPaginat
QueryStringMapper.addQueryParameter(
httpUrl, "provider_ids", request.getProviderIds().get(), true);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
@@ -969,14 +1030,18 @@ public CompletableFuture> getLabTestCollectionIns
public CompletableFuture> getLabTestCollectionInstructionPdf(
String labTestId, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/lab_test")
.addPathSegment(labTestId)
- .addPathSegments("collection_instruction_pdf")
- .build();
+ .addPathSegments("collection_instruction_pdf");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Accept", "application/json")
@@ -1130,6 +1195,11 @@ public CompletableFuture> getOrders(
QueryStringMapper.addQueryParameter(
httpUrl, "order_ids", request.getOrderIds().get(), true);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
@@ -1179,6 +1249,30 @@ public void onFailure(@NotNull Call call, @NotNull IOException e) {
return future;
}
+ /**
+ * Return the available time slots to book an appointment with a phlebotomist
+ * for the given address and order.
+ */
+ public CompletableFuture> getPhlebotomyAppointmentAvailability(
+ UsAddress body) {
+ return getPhlebotomyAppointmentAvailability(LabTestsGetPhlebotomyAppointmentAvailabilityRequest.builder()
+ .body(body)
+ .build());
+ }
+
+ /**
+ * Return the available time slots to book an appointment with a phlebotomist
+ * for the given address and order.
+ */
+ public CompletableFuture> getPhlebotomyAppointmentAvailability(
+ UsAddress body, RequestOptions requestOptions) {
+ return getPhlebotomyAppointmentAvailability(
+ LabTestsGetPhlebotomyAppointmentAvailabilityRequest.builder()
+ .body(body)
+ .build(),
+ requestOptions);
+ }
+
/**
* Return the available time slots to book an appointment with a phlebotomist
* for the given address and order.
@@ -1201,6 +1295,11 @@ public CompletableFuture> getPhl
QueryStringMapper.addQueryParameter(
httpUrl, "start_date", request.getStartDate().get(), false);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
RequestBody body;
try {
body = RequestBody.create(
@@ -1272,13 +1371,17 @@ public CompletableFuture> bookPhlebot
*/
public CompletableFuture> bookPhlebotomyAppointment(
String orderId, AppointmentBookingRequest request, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/order")
.addPathSegment(orderId)
.addPathSegments("phlebotomy/appointment")
- .addPathSegments("book")
- .build();
+ .addPathSegments("book");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
RequestBody body;
try {
body = RequestBody.create(
@@ -1287,7 +1390,7 @@ public CompletableFuture> bookPhlebot
throw new VitalException("Failed to serialize request", e);
}
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("POST", body)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Content-Type", "application/json")
@@ -1349,13 +1452,17 @@ public CompletableFuture> requestPhle
*/
public CompletableFuture> requestPhlebotomyAppointment(
String orderId, RequestAppointmentRequest request, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/order")
.addPathSegment(orderId)
.addPathSegments("phlebotomy/appointment")
- .addPathSegments("request")
- .build();
+ .addPathSegments("request");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
RequestBody body;
try {
body = RequestBody.create(
@@ -1364,7 +1471,7 @@ public CompletableFuture> requestPhle
throw new VitalException("Failed to serialize request", e);
}
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("POST", body)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Content-Type", "application/json")
@@ -1426,13 +1533,17 @@ public CompletableFuture> rescheduleP
*/
public CompletableFuture> reschedulePhlebotomyAppointment(
String orderId, AppointmentRescheduleRequest request, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/order")
.addPathSegment(orderId)
.addPathSegments("phlebotomy/appointment")
- .addPathSegments("reschedule")
- .build();
+ .addPathSegments("reschedule");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
RequestBody body;
try {
body = RequestBody.create(
@@ -1441,7 +1552,7 @@ public CompletableFuture> rescheduleP
throw new VitalException("Failed to serialize request", e);
}
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("PATCH", body)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Content-Type", "application/json")
@@ -1505,13 +1616,17 @@ public CompletableFuture> cancelPhleb
String orderId,
ApiApiV1EndpointsVitalApiLabTestingOrdersHelpersAppointmentCancelRequest request,
RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/order")
.addPathSegment(orderId)
.addPathSegments("phlebotomy/appointment")
- .addPathSegments("cancel")
- .build();
+ .addPathSegments("cancel");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
RequestBody body;
try {
body = RequestBody.create(
@@ -1520,7 +1635,7 @@ public CompletableFuture> cancelPhleb
throw new VitalException("Failed to serialize request", e);
}
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("PATCH", body)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Content-Type", "application/json")
@@ -1582,12 +1697,16 @@ public void onFailure(@NotNull Call call, @NotNull IOException e) {
*/
public CompletableFuture>>
getPhlebotomyAppointmentCancellationReason(RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
- .addPathSegments("v3/order/phlebotomy/appointment/cancellation-reasons")
- .build();
+ .addPathSegments("v3/order/phlebotomy/appointment/cancellation-reasons");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Accept", "application/json")
@@ -1640,15 +1759,19 @@ public CompletableFuture> getPhleboto
*/
public CompletableFuture> getPhlebotomyAppointment(
String orderId, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/order")
.addPathSegment(orderId)
.addPathSegments("phlebotomy")
- .addPathSegments("appointment")
- .build();
+ .addPathSegments("appointment");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Accept", "application/json")
@@ -1737,6 +1860,11 @@ public CompletableFuture> getAreaInfo(
QueryStringMapper.addQueryParameter(
httpUrl, "labs", request.getLabs().get(), true);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
@@ -1808,6 +1936,11 @@ public CompletableFuture> getPscInfo(
QueryStringMapper.addQueryParameter(
httpUrl, "capabilities", request.getCapabilities().get(), true);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
@@ -1886,6 +2019,11 @@ public CompletableFuture> getOrderPscInfo(
QueryStringMapper.addQueryParameter(
httpUrl, "capabilities", request.getCapabilities().get(), true);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
@@ -1946,15 +2084,19 @@ public CompletableFuture> getResultPdf(String ord
*/
public CompletableFuture> getResultPdf(
String orderId, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/order")
.addPathSegment(orderId)
.addPathSegments("result")
- .addPathSegments("pdf")
- .build();
+ .addPathSegments("pdf");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Accept", "application/json")
@@ -2015,15 +2157,19 @@ public CompletableFuture> getResultMetadat
*/
public CompletableFuture> getResultMetadata(
String orderId, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/order")
.addPathSegment(orderId)
.addPathSegments("result")
- .addPathSegments("metadata")
- .build();
+ .addPathSegments("metadata");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Accept", "application/json")
@@ -2083,14 +2229,18 @@ public CompletableFuture> getResultRaw(String o
*/
public CompletableFuture> getResultRaw(
String orderId, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/order")
.addPathSegment(orderId)
- .addPathSegments("result")
- .build();
+ .addPathSegments("result");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Accept", "application/json")
@@ -2162,6 +2312,11 @@ public CompletableFuture> getLabelsPdf(
httpUrl, "number_of_labels", request.getNumberOfLabels().get(), false);
}
QueryStringMapper.addQueryParameter(httpUrl, "collection_date", request.getCollectionDate(), false);
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
@@ -2233,10 +2388,19 @@ public CompletableFuture> getPsc
QueryStringMapper.addQueryParameter(
httpUrl, "radius", request.getRadius().get(), false);
}
+ if (request.getAllowStale().isPresent()) {
+ QueryStringMapper.addQueryParameter(
+ httpUrl, "allow_stale", request.getAllowStale().get(), false);
+ }
if (request.getSiteCodes().isPresent()) {
QueryStringMapper.addQueryParameter(
httpUrl, "site_codes", request.getSiteCodes().get(), true);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("POST", RequestBody.create("", null))
@@ -2296,33 +2460,53 @@ public void onFailure(@NotNull Call call, @NotNull IOException e) {
}
public CompletableFuture> bookPscAppointment(
- String orderId, AppointmentBookingRequest request) {
+ String orderId, AppointmentBookingRequest body) {
+ return bookPscAppointment(
+ orderId, LabTestsBookPscAppointmentRequest.builder().body(body).build());
+ }
+
+ public CompletableFuture> bookPscAppointment(
+ String orderId, AppointmentBookingRequest body, RequestOptions requestOptions) {
+ return bookPscAppointment(
+ orderId, LabTestsBookPscAppointmentRequest.builder().body(body).build(), requestOptions);
+ }
+
+ public CompletableFuture> bookPscAppointment(
+ String orderId, LabTestsBookPscAppointmentRequest request) {
return bookPscAppointment(orderId, request, null);
}
public CompletableFuture> bookPscAppointment(
- String orderId, AppointmentBookingRequest request, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ String orderId, LabTestsBookPscAppointmentRequest request, RequestOptions requestOptions) {
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/order")
.addPathSegment(orderId)
.addPathSegments("psc/appointment")
- .addPathSegments("book")
- .build();
+ .addPathSegments("book");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
RequestBody body;
try {
body = RequestBody.create(
- ObjectMappers.JSON_MAPPER.writeValueAsBytes(request), MediaTypes.APPLICATION_JSON);
- } catch (JsonProcessingException e) {
- throw new VitalException("Failed to serialize request", e);
+ ObjectMappers.JSON_MAPPER.writeValueAsBytes(request.getBody()), MediaTypes.APPLICATION_JSON);
+ } catch (Exception e) {
+ throw new RuntimeException(e);
}
- Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ Request.Builder _requestBuilder = new Request.Builder()
+ .url(httpUrl.build())
.method("POST", body)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Content-Type", "application/json")
- .addHeader("Accept", "application/json")
- .build();
+ .addHeader("Accept", "application/json");
+ if (request.getIdempotencyKey().isPresent()) {
+ _requestBuilder.addHeader(
+ "x-idempotency-key", request.getIdempotencyKey().get());
+ }
+ Request okhttpRequest = _requestBuilder.build();
OkHttpClient client = clientOptions.httpClient();
if (requestOptions != null && requestOptions.getTimeout().isPresent()) {
client = clientOptions.httpClientWithTimeout(requestOptions);
@@ -2373,13 +2557,17 @@ public CompletableFuture> rescheduleP
public CompletableFuture> reschedulePscAppointment(
String orderId, AppointmentRescheduleRequest request, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/order")
.addPathSegment(orderId)
.addPathSegments("psc/appointment")
- .addPathSegments("reschedule")
- .build();
+ .addPathSegments("reschedule");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
RequestBody body;
try {
body = RequestBody.create(
@@ -2388,7 +2576,7 @@ public CompletableFuture> rescheduleP
throw new VitalException("Failed to serialize request", e);
}
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("PATCH", body)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Content-Type", "application/json")
@@ -2446,13 +2634,17 @@ public CompletableFuture> cancelPscAp
String orderId,
VitalCoreClientsLabTestGetlabsSchemaAppointmentCancelRequest request,
RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/order")
.addPathSegment(orderId)
.addPathSegments("psc/appointment")
- .addPathSegments("cancel")
- .build();
+ .addPathSegments("cancel");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
RequestBody body;
try {
body = RequestBody.create(
@@ -2461,7 +2653,7 @@ public CompletableFuture> cancelPscAp
throw new VitalException("Failed to serialize request", e);
}
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("PATCH", body)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Content-Type", "application/json")
@@ -2517,12 +2709,16 @@ public void onFailure(@NotNull Call call, @NotNull IOException e) {
public CompletableFuture>>
getPscAppointmentCancellationReason(RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
- .addPathSegments("v3/order/psc/appointment/cancellation-reasons")
- .build();
+ .addPathSegments("v3/order/psc/appointment/cancellation-reasons");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Accept", "application/json")
@@ -2575,15 +2771,19 @@ public CompletableFuture> getPscAppoi
*/
public CompletableFuture> getPscAppointment(
String orderId, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/order")
.addPathSegment(orderId)
.addPathSegments("psc")
- .addPathSegments("appointment")
- .build();
+ .addPathSegments("appointment");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Accept", "application/json")
@@ -2643,14 +2843,18 @@ public CompletableFuture> getOrderCollectionInstr
*/
public CompletableFuture> getOrderCollectionInstructionPdf(
String orderId, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/order")
.addPathSegment(orderId)
- .addPathSegments("collection_instruction_pdf")
- .build();
+ .addPathSegments("collection_instruction_pdf");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Accept", "application/json")
@@ -2709,15 +2913,19 @@ public CompletableFuture> getOrderRequistionPdf(S
*/
public CompletableFuture> getOrderRequistionPdf(
String orderId, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/order")
.addPathSegment(orderId)
.addPathSegments("requisition")
- .addPathSegments("pdf")
- .build();
+ .addPathSegments("pdf");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Accept", "application/json")
@@ -2776,14 +2984,18 @@ public CompletableFuture> getOrderAbnPdf(String o
*/
public CompletableFuture> getOrderAbnPdf(
String orderId, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/order")
.addPathSegment(orderId)
- .addPathSegments("abn_pdf")
- .build();
+ .addPathSegments("abn_pdf");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Accept", "application/json")
@@ -2842,13 +3054,17 @@ public CompletableFuture> getOrder(String o
*/
public CompletableFuture> getOrder(
String orderId, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/order")
- .addPathSegment(orderId)
- .build();
+ .addPathSegment(orderId);
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Accept", "application/json")
@@ -2902,10 +3118,14 @@ public CompletableFuture> createOrder(Creat
public CompletableFuture> createOrder(
CreateOrderRequestCompatible request, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
- .addPathSegments("v3/order")
- .build();
+ .addPathSegments("v3/order");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
RequestBody body;
try {
body = RequestBody.create(
@@ -2914,7 +3134,7 @@ public CompletableFuture> createOrder(
throw new RuntimeException(e);
}
Request.Builder _requestBuilder = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("POST", body)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Content-Type", "application/json")
@@ -2977,10 +3197,14 @@ public CompletableFuture> importOrder(Impor
public CompletableFuture> importOrder(
ImportOrderBody request, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
- .addPathSegments("v3/order/import")
- .build();
+ .addPathSegments("v3/order/import");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
RequestBody body;
try {
body = RequestBody.create(
@@ -2989,7 +3213,7 @@ public CompletableFuture> importOrder(
throw new VitalException("Failed to serialize request", e);
}
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("POST", body)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Content-Type", "application/json")
@@ -3050,14 +3274,18 @@ public CompletableFuture> cancelOrder(Strin
*/
public CompletableFuture> cancelOrder(
String orderId, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/order")
.addPathSegment(orderId)
- .addPathSegments("cancel")
- .build();
+ .addPathSegments("cancel");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("POST", RequestBody.create("", null))
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Accept", "application/json")
@@ -3148,6 +3376,11 @@ public CompletableFuture> simulateOrderProcess(
QueryStringMapper.addQueryParameter(
httpUrl, "delay", request.getDelay().get(), false);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
RequestBody body;
try {
body = RequestBody.create("", null);
@@ -3220,14 +3453,18 @@ public CompletableFuture> updateOnSiteColle
*/
public CompletableFuture> updateOnSiteCollectionOrderDrawCompleted(
String orderId, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/order")
.addPathSegment(orderId)
- .addPathSegments("draw_completed")
- .build();
+ .addPathSegments("draw_completed");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("PATCH", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Accept", "application/json")
@@ -3282,10 +3519,14 @@ public CompletableFuture> validateIc
public CompletableFuture> validateIcdCodes(
ValidateIcdCodesBody request, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
- .addPathSegments("v3/insurance/validate_icd_codes")
- .build();
+ .addPathSegments("v3/insurance/validate_icd_codes");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
RequestBody body;
try {
body = RequestBody.create(
@@ -3294,7 +3535,7 @@ public CompletableFuture> validateIc
throw new VitalException("Failed to serialize request", e);
}
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("POST", body)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Content-Type", "application/json")
diff --git a/src/main/java/com/vital/api/resources/labtests/LabTestsClient.java b/src/main/java/com/vital/api/resources/labtests/LabTestsClient.java
index 0b41419a..4d136a3d 100644
--- a/src/main/java/com/vital/api/resources/labtests/LabTestsClient.java
+++ b/src/main/java/com/vital/api/resources/labtests/LabTestsClient.java
@@ -9,6 +9,7 @@
import com.vital.api.resources.labtests.requests.CreateLabTestRequest;
import com.vital.api.resources.labtests.requests.CreateOrderRequestCompatible;
import com.vital.api.resources.labtests.requests.ImportOrderBody;
+import com.vital.api.resources.labtests.requests.LabTestsBookPscAppointmentRequest;
import com.vital.api.resources.labtests.requests.LabTestsGetAreaInfoRequest;
import com.vital.api.resources.labtests.requests.LabTestsGetByIdRequest;
import com.vital.api.resources.labtests.requests.LabTestsGetLabelsPdfRequest;
@@ -43,8 +44,10 @@
import com.vital.api.types.LabResultsMetadata;
import com.vital.api.types.LabResultsRaw;
import com.vital.api.types.LabTestResourcesResponse;
+import com.vital.api.types.OrderSetRequest;
import com.vital.api.types.PostOrderResponse;
import com.vital.api.types.PscInfo;
+import com.vital.api.types.UsAddress;
import com.vital.api.types.ValidateIcdCodesResponse;
import java.io.InputStream;
import java.util.List;
@@ -176,6 +179,14 @@ public GetMarkersResponse getMarkers(LabTestsGetMarkersRequest request, RequestO
return this.rawClient.getMarkers(request, requestOptions).body();
}
+ public GetMarkersResponse getMarkersForOrderSet(OrderSetRequest body) {
+ return this.rawClient.getMarkersForOrderSet(body).body();
+ }
+
+ public GetMarkersResponse getMarkersForOrderSet(OrderSetRequest body, RequestOptions requestOptions) {
+ return this.rawClient.getMarkersForOrderSet(body, requestOptions).body();
+ }
+
public GetMarkersResponse getMarkersForOrderSet(LabTestsGetMarkersForOrderSetRequest request) {
return this.rawClient.getMarkersForOrderSet(request).body();
}
@@ -324,6 +335,25 @@ public GetOrdersResponse getOrders(LabTestsGetOrdersRequest request, RequestOpti
return this.rawClient.getOrders(request, requestOptions).body();
}
+ /**
+ * Return the available time slots to book an appointment with a phlebotomist
+ * for the given address and order.
+ */
+ public AppointmentAvailabilitySlots getPhlebotomyAppointmentAvailability(UsAddress body) {
+ return this.rawClient.getPhlebotomyAppointmentAvailability(body).body();
+ }
+
+ /**
+ * Return the available time slots to book an appointment with a phlebotomist
+ * for the given address and order.
+ */
+ public AppointmentAvailabilitySlots getPhlebotomyAppointmentAvailability(
+ UsAddress body, RequestOptions requestOptions) {
+ return this.rawClient
+ .getPhlebotomyAppointmentAvailability(body, requestOptions)
+ .body();
+ }
+
/**
* Return the available time slots to book an appointment with a phlebotomist
* for the given address and order.
@@ -567,12 +597,21 @@ public AppointmentAvailabilitySlots getPscAppointmentAvailability(
.body();
}
- public ClientFacingAppointment bookPscAppointment(String orderId, AppointmentBookingRequest request) {
+ public ClientFacingAppointment bookPscAppointment(String orderId, AppointmentBookingRequest body) {
+ return this.rawClient.bookPscAppointment(orderId, body).body();
+ }
+
+ public ClientFacingAppointment bookPscAppointment(
+ String orderId, AppointmentBookingRequest body, RequestOptions requestOptions) {
+ return this.rawClient.bookPscAppointment(orderId, body, requestOptions).body();
+ }
+
+ public ClientFacingAppointment bookPscAppointment(String orderId, LabTestsBookPscAppointmentRequest request) {
return this.rawClient.bookPscAppointment(orderId, request).body();
}
public ClientFacingAppointment bookPscAppointment(
- String orderId, AppointmentBookingRequest request, RequestOptions requestOptions) {
+ String orderId, LabTestsBookPscAppointmentRequest request, RequestOptions requestOptions) {
return this.rawClient
.bookPscAppointment(orderId, request, requestOptions)
.body();
diff --git a/src/main/java/com/vital/api/resources/labtests/RawLabTestsClient.java b/src/main/java/com/vital/api/resources/labtests/RawLabTestsClient.java
index 21a07802..12cc6d3b 100644
--- a/src/main/java/com/vital/api/resources/labtests/RawLabTestsClient.java
+++ b/src/main/java/com/vital/api/resources/labtests/RawLabTestsClient.java
@@ -20,6 +20,7 @@
import com.vital.api.resources.labtests.requests.CreateLabTestRequest;
import com.vital.api.resources.labtests.requests.CreateOrderRequestCompatible;
import com.vital.api.resources.labtests.requests.ImportOrderBody;
+import com.vital.api.resources.labtests.requests.LabTestsBookPscAppointmentRequest;
import com.vital.api.resources.labtests.requests.LabTestsGetAreaInfoRequest;
import com.vital.api.resources.labtests.requests.LabTestsGetByIdRequest;
import com.vital.api.resources.labtests.requests.LabTestsGetLabelsPdfRequest;
@@ -56,8 +57,10 @@
import com.vital.api.types.LabResultsRaw;
import com.vital.api.types.LabTestResourcesResponse;
import com.vital.api.types.NotFoundErrorBody;
+import com.vital.api.types.OrderSetRequest;
import com.vital.api.types.PostOrderResponse;
import com.vital.api.types.PscInfo;
+import com.vital.api.types.UsAddress;
import com.vital.api.types.ValidateIcdCodesResponse;
import java.io.IOException;
import java.io.InputStream;
@@ -141,6 +144,11 @@ public VitalHttpResponse> get(LabTestsGetRequest reque
QueryStringMapper.addQueryParameter(
httpUrl, "provider_ids", request.getProviderIds().get(), true);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
@@ -181,10 +189,14 @@ public VitalHttpResponse create(CreateLabTestRequest reques
}
public VitalHttpResponse create(CreateLabTestRequest request, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
- .addPathSegments("v3/lab_tests")
- .build();
+ .addPathSegments("v3/lab_tests");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
RequestBody body;
try {
body = RequestBody.create(
@@ -193,7 +205,7 @@ public VitalHttpResponse create(CreateLabTestRequest reques
throw new VitalException("Failed to serialize request", e);
}
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("POST", body)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Content-Type", "application/json")
@@ -260,6 +272,11 @@ public VitalHttpResponse getById(
QueryStringMapper.addQueryParameter(
httpUrl, "lab_account_id", request.getLabAccountId().get(), false);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
@@ -307,11 +324,15 @@ public VitalHttpResponse updateLabTest(String labTestId, Up
public VitalHttpResponse updateLabTest(
String labTestId, UpdateLabTestRequest request, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/lab_tests")
- .addPathSegment(labTestId)
- .build();
+ .addPathSegment(labTestId);
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
RequestBody body;
try {
body = RequestBody.create(
@@ -320,7 +341,7 @@ public VitalHttpResponse updateLabTest(
throw new VitalException("Failed to serialize request", e);
}
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("PATCH", body)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Content-Type", "application/json")
@@ -406,6 +427,11 @@ public VitalHttpResponse getMarkers(
QueryStringMapper.addQueryParameter(
httpUrl, "lab_id", request.getLabId().get(), true);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
@@ -439,6 +465,17 @@ public VitalHttpResponse getMarkers(
}
}
+ public VitalHttpResponse getMarkersForOrderSet(OrderSetRequest body) {
+ return getMarkersForOrderSet(
+ LabTestsGetMarkersForOrderSetRequest.builder().body(body).build());
+ }
+
+ public VitalHttpResponse getMarkersForOrderSet(
+ OrderSetRequest body, RequestOptions requestOptions) {
+ return getMarkersForOrderSet(
+ LabTestsGetMarkersForOrderSetRequest.builder().body(body).build(), requestOptions);
+ }
+
public VitalHttpResponse getMarkersForOrderSet(LabTestsGetMarkersForOrderSetRequest request) {
return getMarkersForOrderSet(request, null);
}
@@ -456,6 +493,11 @@ public VitalHttpResponse getMarkersForOrderSet(
QueryStringMapper.addQueryParameter(
httpUrl, "size", request.getSize().get(), false);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
RequestBody body;
try {
body = RequestBody.create(
@@ -531,6 +573,11 @@ public VitalHttpResponse getMarkersForLabTest(
QueryStringMapper.addQueryParameter(
httpUrl, "size", request.getSize().get(), false);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
@@ -612,6 +659,11 @@ public VitalHttpResponse getMarkersByLabAndProviderId(
QueryStringMapper.addQueryParameter(
httpUrl, "lab_account_id", request.getLabAccountId().get(), false);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
@@ -656,12 +708,16 @@ public VitalHttpResponse> getLabs() {
* GET all the labs.
*/
public VitalHttpResponse> getLabs(RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
- .addPathSegments("v3/lab_tests/labs")
- .build();
+ .addPathSegments("v3/lab_tests/labs");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Accept", "application/json")
@@ -759,6 +815,11 @@ public VitalHttpResponse getPaginated(
QueryStringMapper.addQueryParameter(
httpUrl, "provider_ids", request.getProviderIds().get(), true);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
@@ -799,14 +860,18 @@ public VitalHttpResponse getLabTestCollectionInstructionPdf(String
public VitalHttpResponse getLabTestCollectionInstructionPdf(
String labTestId, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/lab_test")
.addPathSegment(labTestId)
- .addPathSegments("collection_instruction_pdf")
- .build();
+ .addPathSegments("collection_instruction_pdf");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Accept", "application/json")
@@ -945,6 +1010,11 @@ public VitalHttpResponse getOrders(
QueryStringMapper.addQueryParameter(
httpUrl, "order_ids", request.getOrderIds().get(), true);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
@@ -978,6 +1048,29 @@ public VitalHttpResponse getOrders(
}
}
+ /**
+ * Return the available time slots to book an appointment with a phlebotomist
+ * for the given address and order.
+ */
+ public VitalHttpResponse getPhlebotomyAppointmentAvailability(UsAddress body) {
+ return getPhlebotomyAppointmentAvailability(LabTestsGetPhlebotomyAppointmentAvailabilityRequest.builder()
+ .body(body)
+ .build());
+ }
+
+ /**
+ * Return the available time slots to book an appointment with a phlebotomist
+ * for the given address and order.
+ */
+ public VitalHttpResponse getPhlebotomyAppointmentAvailability(
+ UsAddress body, RequestOptions requestOptions) {
+ return getPhlebotomyAppointmentAvailability(
+ LabTestsGetPhlebotomyAppointmentAvailabilityRequest.builder()
+ .body(body)
+ .build(),
+ requestOptions);
+ }
+
/**
* Return the available time slots to book an appointment with a phlebotomist
* for the given address and order.
@@ -1000,6 +1093,11 @@ public VitalHttpResponse getPhlebotomyAppointmentA
QueryStringMapper.addQueryParameter(
httpUrl, "start_date", request.getStartDate().get(), false);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
RequestBody body;
try {
body = RequestBody.create(
@@ -1055,13 +1153,17 @@ public VitalHttpResponse bookPhlebotomyAppointment(
*/
public VitalHttpResponse bookPhlebotomyAppointment(
String orderId, AppointmentBookingRequest request, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/order")
.addPathSegment(orderId)
.addPathSegments("phlebotomy/appointment")
- .addPathSegments("book")
- .build();
+ .addPathSegments("book");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
RequestBody body;
try {
body = RequestBody.create(
@@ -1070,7 +1172,7 @@ public VitalHttpResponse bookPhlebotomyAppointment(
throw new VitalException("Failed to serialize request", e);
}
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("POST", body)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Content-Type", "application/json")
@@ -1117,13 +1219,17 @@ public VitalHttpResponse requestPhlebotomyAppointment(
*/
public VitalHttpResponse requestPhlebotomyAppointment(
String orderId, RequestAppointmentRequest request, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/order")
.addPathSegment(orderId)
.addPathSegments("phlebotomy/appointment")
- .addPathSegments("request")
- .build();
+ .addPathSegments("request");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
RequestBody body;
try {
body = RequestBody.create(
@@ -1132,7 +1238,7 @@ public VitalHttpResponse requestPhlebotomyAppointment(
throw new VitalException("Failed to serialize request", e);
}
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("POST", body)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Content-Type", "application/json")
@@ -1179,13 +1285,17 @@ public VitalHttpResponse reschedulePhlebotomyAppointmen
*/
public VitalHttpResponse reschedulePhlebotomyAppointment(
String orderId, AppointmentRescheduleRequest request, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/order")
.addPathSegment(orderId)
.addPathSegments("phlebotomy/appointment")
- .addPathSegments("reschedule")
- .build();
+ .addPathSegments("reschedule");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
RequestBody body;
try {
body = RequestBody.create(
@@ -1194,7 +1304,7 @@ public VitalHttpResponse reschedulePhlebotomyAppointmen
throw new VitalException("Failed to serialize request", e);
}
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("PATCH", body)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Content-Type", "application/json")
@@ -1243,13 +1353,17 @@ public VitalHttpResponse cancelPhlebotomyAppointment(
String orderId,
ApiApiV1EndpointsVitalApiLabTestingOrdersHelpersAppointmentCancelRequest request,
RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/order")
.addPathSegment(orderId)
.addPathSegments("phlebotomy/appointment")
- .addPathSegments("cancel")
- .build();
+ .addPathSegments("cancel");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
RequestBody body;
try {
body = RequestBody.create(
@@ -1258,7 +1372,7 @@ public VitalHttpResponse cancelPhlebotomyAppointment(
throw new VitalException("Failed to serialize request", e);
}
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("PATCH", body)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Content-Type", "application/json")
@@ -1305,12 +1419,16 @@ public VitalHttpResponse cancelPhlebotomyAppointment(
*/
public VitalHttpResponse>
getPhlebotomyAppointmentCancellationReason(RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
- .addPathSegments("v3/order/phlebotomy/appointment/cancellation-reasons")
- .build();
+ .addPathSegments("v3/order/phlebotomy/appointment/cancellation-reasons");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Accept", "application/json")
@@ -1348,15 +1466,19 @@ public VitalHttpResponse getPhlebotomyAppointment(Strin
*/
public VitalHttpResponse getPhlebotomyAppointment(
String orderId, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/order")
.addPathSegment(orderId)
.addPathSegments("phlebotomy")
- .addPathSegments("appointment")
- .build();
+ .addPathSegments("appointment");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Accept", "application/json")
@@ -1429,6 +1551,11 @@ public VitalHttpResponse getAreaInfo(LabTestsGetAreaInfoRequest reques
QueryStringMapper.addQueryParameter(
httpUrl, "labs", request.getLabs().get(), true);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
@@ -1484,6 +1611,11 @@ public VitalHttpResponse getPscInfo(LabTestsGetPscInfoRequest request,
QueryStringMapper.addQueryParameter(
httpUrl, "capabilities", request.getCapabilities().get(), true);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
@@ -1545,6 +1677,11 @@ public VitalHttpResponse getOrderPscInfo(
QueryStringMapper.addQueryParameter(
httpUrl, "capabilities", request.getCapabilities().get(), true);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
@@ -1589,15 +1726,19 @@ public VitalHttpResponse getResultPdf(String orderId) {
* This endpoint returns the lab results for the order.
*/
public VitalHttpResponse getResultPdf(String orderId, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/order")
.addPathSegment(orderId)
.addPathSegments("result")
- .addPathSegments("pdf")
- .build();
+ .addPathSegments("pdf");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Accept", "application/json")
@@ -1642,15 +1783,19 @@ public VitalHttpResponse getResultMetadata(String orderId) {
* provider and sample dates.
*/
public VitalHttpResponse getResultMetadata(String orderId, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/order")
.addPathSegment(orderId)
.addPathSegments("result")
- .addPathSegments("metadata")
- .build();
+ .addPathSegments("metadata");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Accept", "application/json")
@@ -1693,14 +1838,18 @@ public VitalHttpResponse getResultRaw(String orderId) {
* Return both metadata and raw json test data
*/
public VitalHttpResponse getResultRaw(String orderId, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/order")
.addPathSegment(orderId)
- .addPathSegments("result")
- .build();
+ .addPathSegments("result");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Accept", "application/json")
@@ -1755,6 +1904,11 @@ public VitalHttpResponse getLabelsPdf(
httpUrl, "number_of_labels", request.getNumberOfLabels().get(), false);
}
QueryStringMapper.addQueryParameter(httpUrl, "collection_date", request.getCollectionDate(), false);
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
@@ -1811,10 +1965,19 @@ public VitalHttpResponse getPscAppointmentAvailabi
QueryStringMapper.addQueryParameter(
httpUrl, "radius", request.getRadius().get(), false);
}
+ if (request.getAllowStale().isPresent()) {
+ QueryStringMapper.addQueryParameter(
+ httpUrl, "allow_stale", request.getAllowStale().get(), false);
+ }
if (request.getSiteCodes().isPresent()) {
QueryStringMapper.addQueryParameter(
httpUrl, "site_codes", request.getSiteCodes().get(), true);
}
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("POST", RequestBody.create("", null))
@@ -1855,33 +2018,53 @@ public VitalHttpResponse getPscAppointmentAvailabi
}
public VitalHttpResponse bookPscAppointment(
- String orderId, AppointmentBookingRequest request) {
+ String orderId, AppointmentBookingRequest body) {
+ return bookPscAppointment(
+ orderId, LabTestsBookPscAppointmentRequest.builder().body(body).build());
+ }
+
+ public VitalHttpResponse bookPscAppointment(
+ String orderId, AppointmentBookingRequest body, RequestOptions requestOptions) {
+ return bookPscAppointment(
+ orderId, LabTestsBookPscAppointmentRequest.builder().body(body).build(), requestOptions);
+ }
+
+ public VitalHttpResponse bookPscAppointment(
+ String orderId, LabTestsBookPscAppointmentRequest request) {
return bookPscAppointment(orderId, request, null);
}
public VitalHttpResponse bookPscAppointment(
- String orderId, AppointmentBookingRequest request, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ String orderId, LabTestsBookPscAppointmentRequest request, RequestOptions requestOptions) {
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/order")
.addPathSegment(orderId)
.addPathSegments("psc/appointment")
- .addPathSegments("book")
- .build();
+ .addPathSegments("book");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
RequestBody body;
try {
body = RequestBody.create(
- ObjectMappers.JSON_MAPPER.writeValueAsBytes(request), MediaTypes.APPLICATION_JSON);
- } catch (JsonProcessingException e) {
- throw new VitalException("Failed to serialize request", e);
+ ObjectMappers.JSON_MAPPER.writeValueAsBytes(request.getBody()), MediaTypes.APPLICATION_JSON);
+ } catch (Exception e) {
+ throw new RuntimeException(e);
}
- Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ Request.Builder _requestBuilder = new Request.Builder()
+ .url(httpUrl.build())
.method("POST", body)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Content-Type", "application/json")
- .addHeader("Accept", "application/json")
- .build();
+ .addHeader("Accept", "application/json");
+ if (request.getIdempotencyKey().isPresent()) {
+ _requestBuilder.addHeader(
+ "x-idempotency-key", request.getIdempotencyKey().get());
+ }
+ Request okhttpRequest = _requestBuilder.build();
OkHttpClient client = clientOptions.httpClient();
if (requestOptions != null && requestOptions.getTimeout().isPresent()) {
client = clientOptions.httpClientWithTimeout(requestOptions);
@@ -1917,13 +2100,17 @@ public VitalHttpResponse reschedulePscAppointment(
public VitalHttpResponse reschedulePscAppointment(
String orderId, AppointmentRescheduleRequest request, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/order")
.addPathSegment(orderId)
.addPathSegments("psc/appointment")
- .addPathSegments("reschedule")
- .build();
+ .addPathSegments("reschedule");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
RequestBody body;
try {
body = RequestBody.create(
@@ -1932,7 +2119,7 @@ public VitalHttpResponse reschedulePscAppointment(
throw new VitalException("Failed to serialize request", e);
}
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("PATCH", body)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Content-Type", "application/json")
@@ -1975,13 +2162,17 @@ public VitalHttpResponse cancelPscAppointment(
String orderId,
VitalCoreClientsLabTestGetlabsSchemaAppointmentCancelRequest request,
RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/order")
.addPathSegment(orderId)
.addPathSegments("psc/appointment")
- .addPathSegments("cancel")
- .build();
+ .addPathSegments("cancel");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
RequestBody body;
try {
body = RequestBody.create(
@@ -1990,7 +2181,7 @@ public VitalHttpResponse cancelPscAppointment(
throw new VitalException("Failed to serialize request", e);
}
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("PATCH", body)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Content-Type", "application/json")
@@ -2030,12 +2221,16 @@ public VitalHttpResponse> getPsc
public VitalHttpResponse> getPscAppointmentCancellationReason(
RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
- .addPathSegments("v3/order/psc/appointment/cancellation-reasons")
- .build();
+ .addPathSegments("v3/order/psc/appointment/cancellation-reasons");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Accept", "application/json")
@@ -2072,15 +2267,19 @@ public VitalHttpResponse getPscAppointment(String order
* Get the appointment associated with an order.
*/
public VitalHttpResponse getPscAppointment(String orderId, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/order")
.addPathSegment(orderId)
.addPathSegments("psc")
- .addPathSegments("appointment")
- .build();
+ .addPathSegments("appointment");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Accept", "application/json")
@@ -2125,14 +2324,18 @@ public VitalHttpResponse getOrderCollectionInstructionPdf(String or
*/
public VitalHttpResponse getOrderCollectionInstructionPdf(
String orderId, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/order")
.addPathSegment(orderId)
- .addPathSegments("collection_instruction_pdf")
- .build();
+ .addPathSegments("collection_instruction_pdf");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Accept", "application/json")
@@ -2175,15 +2378,19 @@ public VitalHttpResponse getOrderRequistionPdf(String orderId) {
* GET requisition pdf for an order
*/
public VitalHttpResponse getOrderRequistionPdf(String orderId, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/order")
.addPathSegment(orderId)
.addPathSegments("requisition")
- .addPathSegments("pdf")
- .build();
+ .addPathSegments("pdf");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Accept", "application/json")
@@ -2226,14 +2433,18 @@ public VitalHttpResponse getOrderAbnPdf(String orderId) {
* GET ABN pdf for an order
*/
public VitalHttpResponse getOrderAbnPdf(String orderId, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/order")
.addPathSegment(orderId)
- .addPathSegments("abn_pdf")
- .build();
+ .addPathSegments("abn_pdf");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Accept", "application/json")
@@ -2276,13 +2487,17 @@ public VitalHttpResponse getOrder(String orderId) {
* GET individual order by ID.
*/
public VitalHttpResponse getOrder(String orderId, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/order")
- .addPathSegment(orderId)
- .build();
+ .addPathSegment(orderId);
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Accept", "application/json")
@@ -2320,10 +2535,14 @@ public VitalHttpResponse createOrder(CreateOrderRequestCompat
public VitalHttpResponse createOrder(
CreateOrderRequestCompatible request, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
- .addPathSegments("v3/order")
- .build();
+ .addPathSegments("v3/order");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
RequestBody body;
try {
body = RequestBody.create(
@@ -2332,7 +2551,7 @@ public VitalHttpResponse createOrder(
throw new RuntimeException(e);
}
Request.Builder _requestBuilder = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("POST", body)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Content-Type", "application/json")
@@ -2378,10 +2597,14 @@ public VitalHttpResponse importOrder(ImportOrderBody request)
}
public VitalHttpResponse importOrder(ImportOrderBody request, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
- .addPathSegments("v3/order/import")
- .build();
+ .addPathSegments("v3/order/import");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
RequestBody body;
try {
body = RequestBody.create(
@@ -2390,7 +2613,7 @@ public VitalHttpResponse importOrder(ImportOrderBody request,
throw new VitalException("Failed to serialize request", e);
}
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("POST", body)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Content-Type", "application/json")
@@ -2434,14 +2657,18 @@ public VitalHttpResponse cancelOrder(String orderId) {
* POST cancel order
*/
public VitalHttpResponse cancelOrder(String orderId, RequestOptions requestOptions) {
- HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("v3/order")
.addPathSegment(orderId)
- .addPathSegments("cancel")
- .build();
+ .addPathSegments("cancel");
+ if (requestOptions != null) {
+ requestOptions.getQueryParameters().forEach((key, value) -> {
+ httpUrl.addQueryParameter(key, value);
+ });
+ }
Request okhttpRequest = new Request.Builder()
- .url(httpUrl)
+ .url(httpUrl.build())
.method("POST", RequestBody.create("", null))
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Accept", "application/json")
@@ -2514,6 +2741,11 @@ public VitalHttpResponse