Changeset 4986

Sep 28, 2018, 11:51:47 AM (3 years ago)

Refs #1029. Support added for blood annotations "Tube label" and "Whole blood", where values are stored for the Blood item in new String and Boolean annotations, respectively:

  1. JSP file case_summary_alt_rec.jsp in resources/reports/ updated in blood section with new data rows for values of "Tube label" and "Whole blood", where the "Tube label" data is set to belong to class "confidential", requiring a Patient Curator or Administrator for inspection.
  2. Javascript file case_summary_alt_rec.js in resources/reports/ updated in function caseInfoLoaded(response) to enter the values for "Tube label" and "Whole blood" obtained for the case from servlet CaseSummaryServlet and make it available for display in the case summary JSP page in the blood section.
  3. Java class/file in src/net/sf/basedb/meludi/dao/ updated:
    a. New public static final Annotationtype.TUBE_LABEL entry added. It is a String annotation for sample (Blood) items, with value logging disabled.
    b. New public static final Annotationtype.WHOLE_BLOOD entry added. It is a Boolean annotation for sample (Blood) items.
  4. Java class/file in src/net/sf/basedb/meludi/servlet/ updated in protected method void doGet(HttpServletRequest req, HttpServletResponse resp) updated for commands "Validate" and "Install" to add check for new annotation types Annotationtype.TUBE_LABEL and Annotationtype.WHOLE_BLOOD, where Annotationtype.TUBE_LABEL is restricted to Patient Curator use. Also, the annotation types are added to annotation type category "Blood".
  5. Java servlet class/file in src/net/sf/basedb/meludi/servlet/ updated in private method void loadBloodInfo(DbControl dc, Blood blood) to load values for Annotationtype.TUBE_LABEL and Annotationtype.WHOLE_BLOOD and couple the values to JSON keys "tubeLabel" and "wholeBlood", respectively.
5 edited


  • extensions/net.sf.basedb.meludi/trunk/resources/reports/case_summary_alt_rec.js

    r4912 r4986  
    136136          var b = blood[i];
    137137          cs.addColumn('', cs.asLink('SAMPLE', b));
     138          cs.addColumn('blood.tubeLabel', Strings.encodeTags(b.tubeLabel));
    138139          cs.addColumn('blood.registrationDate', cs.asDate(b.registrationDate));
    139140          cs.addColumn('blood.consent', cs.asConsent(b.consent, cs.asDate(b.consentDate)));
    143144          cs.addColumn('blood.storageBox', cs.asBioPlateLocation(b.bioWell));
    144145          cs.addColumn('blood.serum', Strings.encodeTags(b.serum));
     146          cs.addColumn('blood.wholeBlood', b.wholeBlood);
    145147          cs.addColumn('blood.comment', Strings.encodeTags(b.comment));
    146148        }
  • extensions/net.sf.basedb.meludi/trunk/resources/reports/case_summary_alt_rec.jsp

    r4912 r4986  
    264264          </thead>
    265265          <tbody id="blood-details" class="info-details">
     266            <tr id="blood.tubeLabel" class="confidential">
     267              <th>Tube label</th>
     268            </tr>
    266269            <tr id="blood.registrationDate">
    267270              <th>Registration date</th>
    284287            <tr id="blood.serum">
    285288              <th>Serum</th>
     289            </tr>
     290            <tr id="blood.wholeBlood">
     291              <th>Whole blood</th>
    286292            </tr>
    287293            <tr id="blood.comment" class="comment dynamic-column">
  • extensions/net.sf.basedb.meludi/trunk/src/net/sf/basedb/meludi/dao/

    r4899 r4986  
    114114    new Annotationtype("BloodSample", Type.STRING, false, Item.SAMPLE);
     117  /**
     118    The "TubeLabel" annotation type, used
     119    for samples (Blood). It is a string annotation type.
     120  */
     121  public static final Annotationtype TUBE_LABEL =
     122    new Annotationtype("TubeLabel", Type.STRING, true, Item.SAMPLE);
     124  /**
     125    The "WholeBlood" annotation type, used
     126    for samples (Blood). It is a boolean annotation.
     127  */
     128  public static final Annotationtype WHOLE_BLOOD =
     129    new Annotationtype("WholeBlood", Type.BOOLEAN, false, Item.SAMPLE);
    117131  /**
  • extensions/net.sf.basedb.meludi/trunk/src/net/sf/basedb/meludi/servlet/

    r4913 r4986  
    957957    blood.loadAnnotations(dc, "bloodSample", Annotationtype.BLOOD_SAMPLE, null);
     959    blood.loadAnnotations(dc, "tubeLabel", Annotationtype.TUBE_LABEL, null);
     960    blood.loadAnnotations(dc, "wholeBlood", Annotationtype.WHOLE_BLOOD, null);
    959961    blood.setAnnotation("comment", s.getDescription());
    960962  }
  • extensions/net.sf.basedb.meludi/trunk/src/net/sf/basedb/meludi/servlet/

    r4903 r4986  
    234234        jsonChecks.add(checkAnnotationType(dc, Annotationtype.BLOOD_SAMPLING_DATETIME, 1, null, effectivePermissionsUse, createIfMissing));
     235        jsonChecks.add(checkAnnotationType(dc, Annotationtype.TUBE_LABEL, 1,  null, patientCuratorUse, createIfMissing));
     236        jsonChecks.add(checkAnnotationType(dc, Annotationtype.WHOLE_BLOOD, 1, null, effectivePermissionsUse, createIfMissing));
    236238        jsonChecks.add(checkAnnotationType(dc, Annotationtype.SAMPLING_DATE, 1, null, effectivePermissionsUse, createIfMissing));
    443445            Annotationtype.CONSENT, Annotationtype.CONSENT_DATE,
    444446            Annotationtype.CASE_ID,
     447            Annotationtype.TUBE_LABEL,
    445448            Annotationtype.BLOOD_SAMPLING_DATETIME,
     449            Annotationtype.WHOLE_BLOOD,
    446450            Annotationtype.OTHER_PATH_NOTE));
Note: See TracChangeset for help on using the changeset viewer.