/** * Returns only the non-voided encounter providers for this encounter. If you want <u>all</u> encounter providers, * use {@link #getEncounterProviders()} * * @return list of non-voided encounter providers for this encounter * @see #getEncounterProviders() */ public Set<EncounterProvider> getActiveEncounterProviders() { Set<EncounterProvider> activeProviders = new LinkedHashSet<>(); Set<EncounterProvider> providers = getEncounterProviders(); if (providers != null && !providers.isEmpty()) { activeProviders = providers.stream().filter(p -> !p.getVoided()).collect(Collectors.toSet()); } return activeProviders; }
for (EncounterProvider encounterProvider : getEncounterProviders()) { EncounterProvider encounterProviderCopy = encounterProvider.copy(); encounterProviderCopy.setEncounter(target); target.getEncounterProviders().add(encounterProviderCopy);
@PropertyGetter("encounterProviders") public static Set<EncounterProvider> getActiveEncounterProviders(Encounter instance) { Set<EncounterProvider> encounterProviders = instance.getEncounterProviders(); Set<EncounterProvider> providers = new LinkedHashSet<EncounterProvider>(); for (EncounterProvider encounterProvider : encounterProviders) { if (!encounterProvider.isVoided()) { providers.add(encounterProvider); } } return providers; }
@Override public PageableResult doGetAll(Encounter parent, RequestContext context) throws ResponseException { List<EncounterProvider> encounterProviders = new ArrayList<EncounterProvider>(parent.getEncounterProviders()); if (!context.getIncludeAll()) { for (Iterator<EncounterProvider> i = encounterProviders.iterator(); i.hasNext();) { if (i.next().getVoided()) { i.remove(); } } } return new NeedsPaging<EncounterProvider>(encounterProviders, context); }
public static Person getProvider(Encounter encounter) { if (encounter.getEncounterProviders() == null || encounter.getEncounterProviders().isEmpty()) { return null; } else { for (EncounterProvider encounterProvider : encounter.getEncounterProviders()) { // Return the first non-voided provider associated with a person in the list if (!encounterProvider.isVoided() && encounterProvider.getProvider().getPerson() != null) { return encounterProvider.getProvider().getPerson(); } } } return null; }
@Override public Encounter save(Encounter delegate) { //This is a hack to save encounterProviders correctly. Without this they are created without encounter_id in //the database. for (EncounterProvider ep : delegate.getEncounterProviders()) { ep.setEncounter(delegate); } Context.getEncounterService().saveEncounter(delegate); return delegate; }
private void setOrderer(FormEntrySession session, DrugOrder drugOrder) { if (drugOrder.getUuid() == null) drugOrder.setUuid(UUID.randomUUID().toString()); Set<EncounterProvider> encounterProviders = session.getSubmissionActions().getCurrentEncounter() .getEncounterProviders(); for (EncounterProvider encounterProvider : encounterProviders) { if (!encounterProvider.isVoided()) { drugOrder.setOrderer(encounterProvider.getProvider()); } } }
private Person getProvider(Encounter enc) { if (enc.getEncounterProviders() == null || enc.getEncounterProviders().isEmpty()) { return null; } else { for (EncounterProvider encounterProvider : enc.getEncounterProviders()) { // Return the first non-voided provider associated with a person in the list if (!encounterProvider.isVoided() && encounterProvider.getProvider().getPerson() != null) { return encounterProvider.getProvider().getPerson(); } } } return null; } }
private void setOrderer(Order o, FormEntrySession session) { Set<EncounterProvider> encounterProviders = session.getSubmissionActions().getCurrentEncounter() .getEncounterProviders(); for (EncounterProvider encounterProvider : encounterProviders) { if (!encounterProvider.isVoided()) { o.setOrderer(encounterProvider.getProvider()); break; } } }
@Override protected void delete(EncounterProvider delegate, String reason, RequestContext context) throws ResponseException { // workaround for removing providers until TRUNK-5017 is fixed for (EncounterProvider encounterProvider : delegate.getEncounter().getEncounterProviders()) { if (encounterProvider.getEncounterRole().equals(delegate.getEncounterRole()) && encounterProvider.getProvider().equals(delegate.getProvider()) && !encounterProvider.isVoided()) { encounterProvider.setVoided(true); encounterProvider.setDateVoided(new Date()); encounterProvider.setVoidedBy(Context.getAuthenticatedUser()); } } Context.getEncounterService().saveEncounter(delegate.getEncounter()); }
Encounter encounter = es.getEncounterByUuid(RestTestConstants1_9.ENCOUNTER_UUID); int initialCount = encounter.getEncounterProviders().size(); EncounterProvider existing = encounter.getEncounterProviders().iterator().next(); EncounterProvider updateEncounterProvider = getEncounterProviderWthUuid(updatedEncounter.getEncounterProviders(), existing.getUuid()); Assert.assertEquals(initialCount, updatedEncounter.getEncounterProviders().size()); Assert.assertNotNull(updatedEncounter); Assert.assertEquals(es.getEncounterRoleByUuid(newRoleUuid), updateEncounterProvider.getEncounterRole());
@Override public EncounterProvider save(EncounterProvider delegate) { delegate.getEncounter().addProvider(delegate.getEncounterRole(), delegate.getProvider()); Context.getEncounterService().saveEncounter(delegate.getEncounter()); // bit of a hack, but since addProvider does not return the provider added, we need to fetch it // so that the returned delegate has the proper persisted uuid // see: https://issues.openmrs.org/browse/RESTWS-638 for (EncounterProvider encounterProvider : delegate.getEncounter().getEncounterProviders()) { if (encounterProvider.getEncounterRole().equals(delegate.getEncounterRole()) && encounterProvider.getProvider().equals(delegate.getProvider()) && !encounterProvider.isVoided()) { return encounterProvider; } } // should never get here, hopefully! throw new APIException("Encounter Provider not properly saved"); }
@Test public void getEncounter_shouldGetOnlyNonVoidedEncounterProviders() throws Exception { Encounter encounter = Context.getEncounterService().getEncounterByUuid(RestTestConstants1_9.SECOND_ENCOUNTER_UUID); Set<EncounterProvider> encounterProviders = encounter.getEncounterProviders(); String voidedEncounterProviderUuid = null; if (encounterProviders != null) {