public EncounterListItem(Encounter encounter) {

    if (encounter != null) {
      encounterId = encounter.getEncounterId();
      encounterDateTime = encounter.getEncounterDatetime();
      encounterDateString = Format.format(encounter.getEncounterDatetime());
      PersonName pn = encounter.getPatient().getPersonName();
      if (pn != null) {
        personName = "";
        if (pn.getGivenName() != null) {
          personName += pn.getGivenName();
        }
        if (pn.getMiddleName() != null) {
          personName += " " + pn.getMiddleName();
        }
        if (pn.getFamilyName() != null) {
          personName += " " + pn.getFamilyName();
        }
      }
      if (encounter.getProvider() != null) {
        providerName = encounter.getProvider().getPersonName().getFullName();
      }
      if (encounter.getLocation() != null) {
        location = encounter.getLocation().getName();
      }
      if (encounter.getEncounterType() != null) {
        encounterType = encounter.getEncounterType().getName();
      }
      if (encounter.getForm() != null) {
        formName = encounter.getForm().getName();
        formId = encounter.getForm().getFormId();
      }
      voided = encounter.isVoided();
      if (encounter.getCreator() != null) {
        PersonName entererPersonName = encounter.getCreator().getPersonName();
        if (entererPersonName != null) {
          entererName = "";
          if (entererPersonName.getGivenName() != null) {
            entererName += entererPersonName.getGivenName();
          }
          if (entererPersonName.getMiddleName() != null) {
            entererName += " " + entererPersonName.getMiddleName();
          }
          if (entererPersonName.getFamilyName() != null) {
            entererName += " " + entererPersonName.getFamilyName();
          }
        }
      }
    }
  }
Example #2
0
  /**
   * Convenience method for obtaining the observation's value as a string If the Obs is complex,
   * returns the title of the complexData denoted by the section of getValueComplex() before the
   * first bar '|' character; or returns the entire getValueComplex() if the bar '|' character is
   * missing.
   *
   * @param locale locale for locale-specific depictions of value
   * @should return first part of valueComplex for complex obs
   * @should return first part of valueComplex for non null valueComplexes
   */
  public String getValueAsString(Locale locale) {
    // branch on hl7 abbreviations
    if (getConcept() != null) {
      String abbrev = getConcept().getDatatype().getHl7Abbreviation();
      if (abbrev.equals("BIT"))
        return getValueAsBoolean() == null ? "" : getValueAsBoolean().toString();
      else if (abbrev.equals("CWE")) {
        if (getValueCoded() == null) return "";
        if (getValueDrug() != null) return getValueDrug().getFullName(locale);
        else {
          ConceptName valueCodedName = getValueCodedName();
          if (valueCodedName != null) {
            return valueCodedName.getName();
          } else {
            ConceptName fallbackName = getValueCoded().getName();
            if (fallbackName != null) {
              return fallbackName.getName();
            } else {
              return "";
            }
          }
        }
      } else if (abbrev.equals("NM") || abbrev.equals("SN"))
        return getValueNumeric() == null ? "" : getValueNumeric().toString();
      else if (abbrev.equals("DT"))
        return (getValueDatetime() == null
            ? ""
            : Format.format(getValueDatetime(), locale, FORMAT_TYPE.DATE));
      else if (abbrev.equals("TM"))
        return (getValueDatetime() == null
            ? ""
            : Format.format(getValueDatetime(), locale, FORMAT_TYPE.TIME));
      else if (abbrev.equals("TS"))
        return (getValueDatetime() == null
            ? ""
            : Format.format(getValueDatetime(), locale, FORMAT_TYPE.TIMESTAMP));
      else if (abbrev.equals("ST")) return getValueText();
      else if (abbrev.equals("ED") && getValueComplex() != null) {
        String[] valueComplex = getValueComplex().split("\\|");
        for (int i = 0; i < valueComplex.length; i++) {
          if (!"".equals(valueComplex[i])) {
            return valueComplex[i].trim();
          }
        }
      }
    }

    // if the datatype is 'unknown', default to just returning what is not null
    if (getValueNumeric() != null) return getValueNumeric().toString();
    else if (getValueCoded() != null) {
      if (getValueDrug() != null) return getValueDrug().getFullName(locale);
      else {
        ConceptName valudeCodedName = getValueCodedName();
        if (valudeCodedName != null) {
          return valudeCodedName.getName();
        } else {
          return "";
        }
      }
    } else if (getValueDatetime() != null)
      return Format.format(getValueDatetime(), locale, FORMAT_TYPE.DATE);
    else if (getValueText() != null) return getValueText();
    else if (hasGroupMembers()) {
      // all of the values are null and we're an obs group...so loop
      // over the members and just do a getValueAsString on those
      // this could potentially cause an infinite loop if an obs group
      // is a member of its own group at some point in the hierarchy
      StringBuilder sb = new StringBuilder();
      for (Obs groupMember : getGroupMembers()) {
        if (sb.length() > 0) sb.append(", ");
        sb.append(groupMember.getValueAsString(locale));
      }
      return sb.toString();
    }

    // returns the title portion of the valueComplex
    // which is everything before the first bar '|' character.
    if (getValueComplex() != null) {
      String[] valueComplex = getValueComplex().split("\\|");
      for (int i = 0; i < valueComplex.length; i++) {
        if (!"".equals(valueComplex[i])) {
          return valueComplex[i].trim();
        }
      }
    }

    return "";
  }