use of org.openmrs.module.providermanagement.ProviderRole in project openmrs-module-pihcore by PIH.
the class PihConstructors method providerRole.
public static ProviderRole providerRole(String name, Set<ProviderRole> superviseeProviderRoles, Set<RelationshipType> relationshipTypes, Set<ProviderAttributeType> providerAttributeTypes, String uuid) {
ProviderRole obj = new ProviderRole();
obj.setName(name);
obj.setSuperviseeProviderRoles(superviseeProviderRoles);
obj.setRelationshipTypes(relationshipTypes);
obj.setProviderAttributeTypes(providerAttributeTypes);
obj.setUuid(uuid);
return obj;
}
use of org.openmrs.module.providermanagement.ProviderRole in project openmrs-module-coreapps by openmrs.
the class ProviderListPageController method get.
public void get(PageModel model, @SpringBean("providerManagementService") ProviderManagementService providerManagementService) throws PersonIsNotProviderException {
Map<Provider, List<ProviderPersonRelationship>> providers = new HashMap<Provider, List<ProviderPersonRelationship>>();
List<ProviderRole> providerRoleList = providerManagementService.getRestrictedProviderRoles(false);
if (providerRoleList != null && providerRoleList.size() > 0) {
List<Provider> providersByRoles = Context.getService(ProviderManagementService.class).getProvidersByRoles(providerRoleList);
for (Provider providerByRole : providersByRoles) {
List<ProviderPersonRelationship> supervisorsForProvider = ProviderManagementUtils.getSupervisors(providerByRole);
if (supervisorsForProvider == null) {
supervisorsForProvider = new ArrayList<ProviderPersonRelationship>();
}
providers.put(providerByRole, supervisorsForProvider);
}
}
model.addAttribute("providersList", providers);
}
use of org.openmrs.module.providermanagement.ProviderRole in project openmrs-module-coreapps by openmrs.
the class EditProviderPageController method get.
public void get(PageModel model, @MethodParam("getAccount") AccountDomainWrapper account, @ModelAttribute("patientId") @BindParams Patient patient, @SpringBean("patientService") PatientService patientService, @SpringBean("accountService") AccountService accountService, @SpringBean("adminService") AdministrationService administrationService, @SpringBean("providerManagementService") ProviderManagementService providerManagementService) throws PersonIsNotProviderException, InvalidRelationshipTypeException, SuggestionEvaluationException {
model.addAttribute("account", account);
List<ProviderRole> allProviderRoles = providerManagementService.getRestrictedProviderRoles(false);
model.addAttribute("providerRoles", allProviderRoles);
List<ProviderPersonRelationship> patientsList = new ArrayList<ProviderPersonRelationship>();
List<RelationshipType> relationshipTypes = new ArrayList<RelationshipType>();
Set<ProviderAttributeType> providerAttributeTypes = new HashSet<ProviderAttributeType>();
List<ProviderPersonRelationship> supervisorsForProvider = null;
List<ProviderPersonRelationship> superviseesForSupervisor = null;
boolean isSupervisor = false;
Provider provider = account.getProvider();
if (provider != null) {
if (!provider.getProviderRole().getSuperviseeProviderRoles().isEmpty()) {
isSupervisor = true;
}
supervisorsForProvider = ProviderManagementUtils.getSupervisors(provider);
superviseesForSupervisor = ProviderManagementUtils.getSupervisees(provider);
ProviderRole providerRole = provider.getProviderRole();
if (providerRole != null && providerRole.getRelationshipTypes() != null) {
providerAttributeTypes = providerRole.getProviderAttributeTypes();
Set<ProviderAttribute> attributes = provider.getAttributes();
for (ProviderAttribute attribute : attributes) {
// remove from the list of Attribute Types the ones that are already entered for this provider
providerAttributeTypes.remove(attribute.getAttributeType());
}
for (RelationshipType relationshipType : provider.getProviderRole().getRelationshipTypes()) {
if (!relationshipType.isRetired()) {
relationshipTypes.add(relationshipType);
}
}
patientsList = ProviderManagementUtils.getAssignedPatients(provider);
}
} else {
for (ProviderRole providerRole : allProviderRoles) {
providerAttributeTypes.addAll(providerRole.getProviderAttributeTypes());
}
}
boolean useAddressHierarchy = false;
if (ModuleFactory.isModuleStarted("addresshierarchy")) {
useAddressHierarchy = true;
}
model.addAttribute("relationshipTypes", relationshipTypes);
model.addAttribute("patientsList", patientsList);
model.addAttribute("providerAttributeTypes", providerAttributeTypes);
model.addAttribute("isSupervisor", isSupervisor);
model.addAttribute("supervisorsForProvider", supervisorsForProvider);
model.addAttribute("superviseesForSupervisor", superviseesForSupervisor);
model.addAttribute("superviseesForSupervisor", superviseesForSupervisor);
model.addAttribute("useAddressHierarchy", useAddressHierarchy);
}
use of org.openmrs.module.providermanagement.ProviderRole in project openmrs-module-pihcore by PIH.
the class ProviderRoleBundle method install.
/**
* Performs the installation of the metadata items
*
* @throws Exception if an error occurs
*/
@Override
public void install() throws Exception {
Set<RelationshipType> relationshipTypes = null;
RelationshipType vhwToPatient = personService.getRelationshipTypeByUuid(RelationshipTypeBundle.RelationshipTypes.CHW_TO_PATIENT);
if (vhwToPatient != null) {
relationshipTypes = new HashSet<RelationshipType>();
relationshipTypes.add(vhwToPatient);
}
Set<ProviderAttributeType> providerAttributes = new HashSet<ProviderAttributeType>();
ProviderAttributeType providerAttributeType = providerService.getProviderAttributeTypeByUuid(ProviderAttributeTypeBundle.ProviderAttributeTypes.DATE_HIRED);
if (providerAttributeType != null) {
providerAttributes.add(providerAttributeType);
}
providerAttributeType = providerService.getProviderAttributeTypeByUuid(ProviderAttributeTypeBundle.ProviderAttributeTypes.NUMBER_OF_HOUSEHOLDS);
if (providerAttributeType != null) {
providerAttributes.add(providerAttributeType);
}
ProviderRole vhwSupervisee = install(providerRole("CHW", null, relationshipTypes, providerAttributes, ProviderRoles.CHW));
Set<ProviderRole> superviseeRoles = null;
if (vhwSupervisee != null) {
superviseeRoles = new HashSet<ProviderRole>();
superviseeRoles.add(vhwSupervisee);
}
install(providerRole("CHW Supervisor", superviseeRoles, relationshipTypes, providerAttributes, ProviderRoles.CHW_SUPERVISOR));
}
Aggregations