Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private Provider getProvider(PV1 pv1) throws HL7Exception {
- XCN hl7Provider = pv1.getAttendingDoctor(0);
- Provider provider = null;
- String id = hl7Provider.getIDNumber().getValue();
- String assignAuth = hl7Provider.getAssigningAuthority().getUniversalID().getValue();
- String type = hl7Provider.getAssigningAuthority().getUniversalIDType().getValue();
- String errorMessage = "";
- if (StringUtils.hasText(id)) {
- String specificErrorMsg = "";
- if (OpenmrsUtil.nullSafeEquals("L", type)) {
- if (HL7Constants.PROVIDER_ASSIGNING_AUTH_PROV_ID.equalsIgnoreCase(assignAuth)) {
- try {
- provider = Context.getProviderService().getProvider(Integer.valueOf(id));
- }
- catch (NumberFormatException e) {
- // ignore
- }
- specificErrorMsg = "with provider Id";
- } else if (HL7Constants.PROVIDER_ASSIGNING_AUTH_IDENTIFIER.equalsIgnoreCase(assignAuth)) {
- provider = Context.getProviderService().getProviderByIdentifier(id);
- specificErrorMsg = "with provider identifier";
- } else if (HL7Constants.PROVIDER_ASSIGNING_AUTH_PROV_UUID.equalsIgnoreCase(assignAuth)) {
- provider = Context.getProviderService().getProviderByUuid(id);
- specificErrorMsg = "with provider uuid";
- }
- } else {
- try {
- Person person = Context.getPersonService().getPerson(Integer.valueOf(id));
- Collection<Provider> providers = Context.getProviderService().getProvidersByPerson(person);
- if (!providers.isEmpty())
- provider = providers.iterator().next();
- }
- catch (NumberFormatException e) {
- // ignore
- }
- specificErrorMsg = "associated to a person with person id";
- }
- errorMessage = "Could not resolve provider " + specificErrorMsg + ":" + id;
- } else {
- errorMessage = "No unique identifier was found for the provider";
- }
- if (provider == null) {
- throw new HL7Exception(errorMessage);
- }
- return provider;
- }
Advertisement
Add Comment
Please, Sign In to add comment