observations;
public String[] order_uuids; // orders executed during this encounter
}
diff --git a/app/src/main/java/org/projectbuendia/client/json/JsonPatient.java b/app/src/main/java/org/projectbuendia/client/json/JsonPatient.java
index feb54edf..a36c932b 100644
--- a/app/src/main/java/org/projectbuendia/client/json/JsonPatient.java
+++ b/app/src/main/java/org/projectbuendia/client/json/JsonPatient.java
@@ -11,8 +11,6 @@
package org.projectbuendia.client.json;
-import com.google.common.base.MoreObjects;
-
import org.joda.time.LocalDate;
import java.io.Serializable;
@@ -34,17 +32,4 @@ public class JsonPatient implements Serializable {
public JsonPatient() {
}
-
- @Override public String toString() {
- return MoreObjects.toStringHelper(this)
- .add("uuid", uuid)
- .add("voided", voided)
- .add("id", id)
- .add("given_name", given_name)
- .add("family_name", family_name)
- .add("sex", sex)
- .add("birthdate", birthdate.toString())
- .add("assigned_location", assigned_location)
- .toString();
- }
}
diff --git a/app/src/main/java/org/projectbuendia/client/models/AppModel.java b/app/src/main/java/org/projectbuendia/client/models/AppModel.java
index 5eb7a738..c607f275 100644
--- a/app/src/main/java/org/projectbuendia/client/models/AppModel.java
+++ b/app/src/main/java/org/projectbuendia/client/models/AppModel.java
@@ -36,6 +36,8 @@
import org.projectbuendia.client.utils.Logger;
import org.projectbuendia.client.utils.Utils;
+import javax.annotation.Nullable;
+
import de.greenrobot.event.NoSubscriberEvent;
/**
@@ -194,10 +196,10 @@ public void deleteOrder(CrudEventBus bus, String orderUuid) {
* Asynchronously adds an encounter that records an order as executed, posting a
* {@link ItemCreatedEvent} when complete.
*/
- public void addOrderExecutedEncounter(CrudEventBus bus, Patient patient, String orderUuid) {
+ public void addOrderExecutedEncounter(
+ CrudEventBus bus, Patient patient, String orderUuid, @Nullable String userUuid) {
addEncounter(bus, patient, new Encounter(
- patient.uuid, null, DateTime.now(), null, new String[]{orderUuid}
- ));
+ patient.uuid, null, DateTime.now(), null, new String[]{orderUuid}, userUuid));
}
/**
diff --git a/app/src/main/java/org/projectbuendia/client/models/Encounter.java b/app/src/main/java/org/projectbuendia/client/models/Encounter.java
index 2a05ab19..5d8da8ec 100644
--- a/app/src/main/java/org/projectbuendia/client/models/Encounter.java
+++ b/app/src/main/java/org/projectbuendia/client/models/Encounter.java
@@ -18,14 +18,13 @@
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
-import org.projectbuendia.client.net.Server;
import org.projectbuendia.client.json.JsonEncounter;
+import org.projectbuendia.client.json.JsonObservation;
+import org.projectbuendia.client.net.Server;
import org.projectbuendia.client.providers.Contracts.Observations;
-import org.projectbuendia.client.utils.Logger;
import java.util.ArrayList;
import java.util.List;
-import java.util.Map;
import javax.annotation.Nullable;
import javax.annotation.concurrent.Immutable;
@@ -37,10 +36,6 @@
*
* https://wiki.openmrs.org/display/docs/Encounters+and+observations"
*
- *
- * NOTE: Because of lack of typing info from the server, {@link Encounter} attempts to
- * determine the most appropriate type, but this typing is not guaranteed to succeed; also,
- * currently only DATE and UUID (coded) types are supported.
*/
@Immutable
public class Encounter extends Base {
@@ -50,7 +45,7 @@ public class Encounter extends Base {
public final DateTime timestamp;
public final Observation[] observations;
public final String[] orderUuids;
- private static final Logger LOG = Logger.create();
+ public final @Nullable String userUuid;
/**
* Creates a new Encounter for the given patient.
@@ -65,13 +60,15 @@ public Encounter(
@Nullable String encounterUuid,
DateTime timestamp,
Observation[] observations,
- String[] orderUuids) {
+ String[] orderUuids,
+ @Nullable String userUuid) {
id = encounterUuid;
this.patientUuid = patientUuid;
this.encounterUuid = id;
this.timestamp = timestamp;
this.observations = observations == null ? new Observation[] {} : observations;
this.orderUuids = orderUuids == null ? new String[] {} : orderUuids;
+ this.userUuid = userUuid;
}
/**
@@ -79,18 +76,17 @@ public Encounter(
* {@link JsonEncounter} object and corresponding patient UUID.
*/
public static Encounter fromJson(String patientUuid, JsonEncounter encounter) {
- List observations = new ArrayList();
+ List observations = new ArrayList<>();
if (encounter.observations != null) {
- for (Map.Entry