Opened 7 years ago
Closed 2 years ago
#1029 closed task (fixed)
MeLuDI should be adapted to support the SCAN-B-rec project
Reported by: | olle | Owned by: | olle |
---|---|---|---|
Priority: | major | Milestone: | MeLuDI v1.6.0 |
Component: | net.sf.basedb.meludi | Keywords: | |
Cc: |
Description (last modified by )
MeLuDI should be adapted to support the SCAN-B-rec project.
Initially the following should be added:
- Basic configuration for the SCAN-B-rec project as a BASE project.
- Support for referral form generation.
Support should also be added for projects NordicTrip and LUCAS, that both use referral form generation.
Change History (318)
comment:1 by , 7 years ago
Status: | new → assigned |
---|
comment:2 by , 7 years ago
Traceability note:
- MeLuDi v.1.0 was introduced in Ticket #690 (MeLuDi - Registration wizard for melanoma-lung cancer projects).
- MeLuDi v.1.1 was introduced in Ticket #718 (MeLuDi v.1.0 bug fixes and improvements).
- MeLuDi v.1.2 was introduced in Ticket #725 (MeLuDi v.1.1 bug fixes and improvements).
- MeLuDI v.1.2.1 was introduced in Ticket #759 (MeLuDi v.1.2 bug fixes and improvements).
- MeLuDI v.1.2.2 was introduced in Ticket #767 (MeLuDI v.1.2.1 bug fixes and improvements).
- MeLuDI v.1.2.3 was introduced in Ticket #768 (MeLuDI v.1.2.2 bug fixes and improvements).
- MeLuDI v.1.2.4 was introduced in Ticket #777 (MeLuDI v.1.2.3 bug fixes and improvements).
- MeLuDI v.1.2.5 was introduced in Ticket #786 (MeLuDI v.1.2.4 bug fixes and improvements).
- MeLuDI v.1.3.1 was introduced in Ticket #792 (MeLuDI v.1.2.5 bug fixes and improvements).
- First version of library preparation wizards was introduced in Ticket #801 (MeLuDI library preparation wizards first version).
- MeLuDI v.1.3.2 was introduced in Ticket #802 (MeLuDI v.1.3.1 bug fixes and improvements).
- MeLuDI v.1.3.3 was introduced in Ticket #815 (MeLuDI v.1.3.2 bug fixes and improvements).
- MeLuDI v.1.4.0 was introduced in Ticket #816 (MeLuDI v.1.3.3 bug fixes and improvements).
- MeLuDI v.1.4.1 was introduced in Ticket #836 (MeLuDI v.1.4.0 bug fixes and improvements).
- MeLuDI v.1.4.2 was introduced in Ticket #837 (MeLuDI v.1.4.1 bug fixes and improvements).
- MeLuDI v.1.4.3 was introduced in Ticket #880 (MeLuDI v.1.4.2 bug fixes and improvements).
- MeLuDI v.1.5.0 was introduced in Ticket #911 (MeLuDI should support multiple projects).
comment:3 by , 7 years ago
(In [4696]) Refs #1029. Updates due to version number change to "1.6.0-dev
".
- Version number changed to "
1.6.0-dev
":
a. Outermost Ant XML build filebuild.xml
in/
updated.
b. Extensions XML configuration fileextensions.xml
inMETA-INF/
updated.
c. Javascript filemeludi-2.js
inresources/
updated.
d. Javascript filemeludi_quarter_month_report_generator.js
inresources/reports/
updated.
e. Javascript filesamplereportgenerator.js
inresources/reports/
updated.
f. Java class/fileMeludi.java
insrc/net/sf/basedb/meludi/
updated.
comment:4 by , 7 years ago
comment:5 by , 7 years ago
Design discussion:
- First version of SCAN-B-rec referral form generation will be based on the corresponding functionality for Reggie and the SCAN-B project. Some functionality may have to be adapted for the former project, but changes will be easier to describe in comparison with corresponding functionality for the SCAN-B project. Therefore the initial revision will be closely similar to the code base for the latter:
a. A new sub-section "Referral forms" with entry "Generate referral forms" will be added to section "Personal information wizards", and will require aPatientCurator
role to be used.
b. Step 1 of the SCAN-B referral form generation wizard will have two menus, one for the SCAN-B site, and one for selecting the form variant to generate forms for (initially two choices, "Kit 1 - Standard" and "Kit 2 - Neoadjuvant therapy").
c. Step 2 should contain two input fields, one for the first SCAN-B ID for the form set batch to be created, and the number of form sets in the batch. One button should be shown, "Generate referral forms".
d. Step 3 should present three buttons, "Download form batch file 1", "Download form batch file 2", and "Update used SCAN-B ID list". As expected, clicking the first or second button should allow the corresponding form batch PDF file to be downloaded to the local system, while clicking on the third button will update the stored list of used SCAN-B ID to prevent the same set of referral form sets to be created again for the same site, provided that the default start SCAN-B ID has not been modified by the user and that the list has been updated after each created form set batch.
Design update:
- JSP file
index.jsp
inresources/
updated in section "Personal information wizards" with new sub-section "Referral forms" with entry "Generate referral forms". The entry for generating referral forms is linked to new JSP filegenerate-referral-forms.jsp
inresources/personal/
, and requires aPatientCurator
role to be used. - New JSP file
generate-referral-forms.jsp
inresources/personal/
added. It is linked to new javascript filegenerate-referral-forms.js
inresources/personal/
. - New javascript file
generate-referral-forms.js
inresources/personal/
added.
a. FunctioninitPage()
callsScanBQuarterMonthReportServlet
with command "GetSites
" to obtain entries for the site menu, created by callback functionsitesLoaded(response)
.
b. FunctioninitializeStep2(response)
callsReferralGeneratorServlet
with command "GetReferralStartInfo
" to obtain the SCAN-B ID for the first form set for the selected site. The default number of form sets in the batch to be created is chosen depending on the selected form set variant (50 for Kit 1, 25 for Kit 2).
c. Clicking on button "Generate referral forms
" activates functiongenerateReferralForms()
, that callsReferralGeneratorServlet
with command "GenerateReferralForms
" and callback functioninitializeStep3(response)
.
d. FunctioninitializeStep3(response)
activates buttons for downloading created form batch files and updating used SCAN-B ID list.
e. FunctiondownloadFormBatch(batchType)
callsReferralGeneratorServlet
with command "DownloadFormBatchFile
" to download the corresponding form batch file to the local system.
f. FunctionupdateUsedScanbIdList()
callsReferralGeneratorServlet
with command "UpdateUsedScanbIdList
" to updated the used SCAN-B ID list. - New java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/basedb/meludi/servlet/
added.
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
supports command "GetReferralStartInfo
", that calls private methodJSONObject fetchReferralstartInfo()
to obtain a JSONObject to return with info on the start SCAN-B ID values for different sites.
b. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
supports command "UpdateUsedScanbIdList
", that retrieves the used start SCAN-B ID and the number of form sets generated, after which the used SCAN-B ID list file is updated for the current site with the value returned by private methodString nextScanbId(String scanbId, Integer incr)
.
c. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
supports command "GenerateReferralForms
", that calls a number of private convenience methods to create the desired referral form batch PDF files, with support from utility classPdfUtil
.
d. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
supports command "DownloadFormBatchFile
", which retrieves a path to the desired form batch PDF file by calling private methodString fetchReferralFormBatchFilePath(int batchType)
, after which it sends the file contents to an output stream, for download by the user.
e. Private methodString fetchReferralStartInfoFilePath()
returns a path to the referral start info file.
f. Private methodJSONObject fetchReferralstartInfo()
returns a JSONObject with info on the start SCAN-B ID values for different sites.
g. Private methodString fetchReferralFormBatchFilePath(int batchType)
returns a path to the desired form batch PDF file.
h. Private methodtring fetchReferralFormBatchFileName(int batchType, String startScanbId, String endScanbId)
returns name to be used for the referral form batch file.
i. Private methodString fetchReferralFormTemplateFilePath(String formTemplateName)
returns path to be used for referral form template file.
j. Private methodString fetchReferralFormTemplateFilename(String formTemplateName)
returns name of referral form template file, obtained from MeLuDI configuration file.
k. Private methodString fetchReferralFormTemplateFileDirPath()
returns directory path for referral form template files, obtained from MeLuDI configuration file.
l. Private methodString nextScanbId(String scanbId, Integer incr)
returns the next SCAN-B ID for a site (same prefix) after a desired incrementation. Any optional suffix is retained.
m. Private methodPdfUtil createPatientInfoForm(PdfUtil pdfUtil, String scanbId)
creates PDF contents for a patient info form.
n. Private methodPdfUtil createConsentReportForm(PdfUtil pdfUtil, String scanbId)
creates PDF contents for a consent report form.
o. Private methodPdfUtil createClinChemForm(PdfUtil pdfUtil, String scanbId, String pdfTemplatePath)
creates PDF contents for a clinical chemistry form using the desired template (standard or biopsy).
p. Private methodPdfUtil createClinPathologyForm(PdfUtil pdfUtil, String scanbId, String pdfTemplatePath)
creates PDF contents for a clinical pathology form using the desired template (standard or biopsy).
q. Private methodbyte[] createBarcode(String barcodeText, String barcodeType, Integer dpi, Boolean humanReadable, String textPlacement, String fontName, Integer fontSize)
returns a byte array of a barcode image corresponding to desired contents. Java libraryBarcode4J
is used to generate the barcode.
r. Private static methodConfiguration buildBarcodeCfg(String type, Boolean humanReadable, String textPlacement, String fontName, Integer fontSize)
configures theBarcode4J
barcode generator. - XML configuration file servlets.xml in
META-INF
updated by adding new java servlet classReferralGeneratorServlet
to the servlet list. - New utility library
PdfUtil.java
insrc/net/sf/basedb/meludi/pdf/
added. - New data access object
ClientApp.java
insrc/net/sf/basedb/meludi/dao/
added. - New iText library
itextpdf-5.5.3.jar
with license fileitext-license.txt
inmeludi/META-INF/lib/
added. - Outermost Ant build file
build.xml
in/
updated by adding file setMETA-INF/lib
to class path for compiling. - Properties file
build.properties
in/
updated by adding dependency on JAR files inbase/www/WEB-INF/lib/
. - Java classpath file
.classpath
in/
updated by addingMETA-INF/lib/itextpdf-5.5.3.jar
. Meludi.java
insrc/net/sf/basedb/meludi/
updated:
a. New private static methodString fetchProjectName(int activeProjectId)
added.
b. New public static methodString fetchReferralFormTemplatesDir(int activeProjectId)
added.
c. New public static methodString fetchReferralFormTemplatesOldDir(int activeProjectId)
added.
d. New public static methodString fetchSecondaryAnalysisDir(int activeProjectId)
added.
comment:8 by , 7 years ago
(In [4706]) Refs #1029. First import of code for referral generation, taken from Reggie project, with minor modifications to allow it to be compiled in MeLuDI (full functionality requires more code changes):
- JSP file
index.jsp
inresources/
updated in section "Personal information wizards" with new sub-section "Referral forms" with entry "Generate referral forms". The entry for generating referral forms is linked to new JSP filegenerate-referral-forms.jsp
inresources/personal/
, and requires aPatientCurator
role to be used. - New JSP file
generate-referral-forms.jsp
inresources/personal/
added. It is linked to new javascript filegenerate-referral-forms.js
inresources/personal/
. - New javascript file
generate-referral-forms.js
inresources/personal/
added.
a. FunctioninitPage()
callsScanBQuarterMonthReportServlet
with command "GetSites
" to obtain entries for the site menu, created by callback functionsitesLoaded(response)
.
b. FunctioninitializeStep2(response)
callsReferralGeneratorServlet
with command "GetReferralStartInfo
" to obtain the SCAN-B ID for the first form set for the selected site. The default number of form sets in the batch to be created is chosen depending on the selected form set variant (50 for Kit 1, 25 for Kit 2).
c. Clicking on button "Generate referral forms
" activates functiongenerateReferralForms()
, that callsReferralGeneratorServlet
with command "GenerateReferralForms
" and callback functioninitializeStep3(response)
.
d. FunctioninitializeStep3(response)
activates buttons for downloading created form batch files and updating used SCAN-B ID list.
e. FunctiondownloadFormBatch(batchType)
callsReferralGeneratorServlet
with command "DownloadFormBatchFile
" to download the corresponding form batch file to the local system.
f. FunctionupdateUsedScanbIdList()
callsReferralGeneratorServlet
with command "UpdateUsedScanbIdList
" to updated the used SCAN-B ID list. - New java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/basedb/meludi/servlet/
added.
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
supports command "GetReferralStartInfo
", that calls private methodJSONObject fetchReferralstartInfo()
to obtain a JSONObject to return with info on the start SCAN-B ID values for different sites.
b. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
supports command "UpdateUsedScanbIdList
", that retrieves the used start SCAN-B ID and the number of form sets generated, after which the used SCAN-B ID list file is updated for the current site with the value returned by private methodString nextScanbId(String scanbId, Integer incr)
.
c. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
supports command "GenerateReferralForms
", that calls a number of private convenience methods to create the desired referral form batch PDF files, with support from utility classPdfUtil
.
d. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
supports command "DownloadFormBatchFile
", which retrieves a path to the desired form batch PDF file by calling private methodString fetchReferralFormBatchFilePath(int batchType)
, after which it sends the file contents to an output stream, for download by the user.
e. Private methodString fetchReferralStartInfoFilePath()
returns a path to the referral start info file.
f. Private methodJSONObject fetchReferralstartInfo()
returns a JSONObject with info on the start SCAN-B ID values for different sites.
g. Private methodString fetchReferralFormBatchFilePath(int batchType)
returns a path to the desired form batch PDF file.
h. Private methodtring fetchReferralFormBatchFileName(int batchType, String startScanbId, String endScanbId)
returns name to be used for the referral form batch file.
i. Private methodString fetchReferralFormTemplateFilePath(String formTemplateName)
returns path to be used for referral form template file.
j. Private methodString fetchReferralFormTemplateFilename(String formTemplateName)
returns name of referral form template file, obtained from MeLuDI configuration file.
k. Private methodString fetchReferralFormTemplateFileDirPath()
returns directory path for referral form template files, obtained from MeLuDI configuration file.
l. Private methodString nextScanbId(String scanbId, Integer incr)
returns the next SCAN-B ID for a site (same prefix) after a desired incrementation. Any optional suffix is retained.
m. Private methodPdfUtil createPatientInfoForm(PdfUtil pdfUtil, String scanbId)
creates PDF contents for a patient info form.
n. Private methodPdfUtil createConsentReportForm(PdfUtil pdfUtil, String scanbId)
creates PDF contents for a consent report form.
o. Private methodPdfUtil createClinChemForm(PdfUtil pdfUtil, String scanbId, String pdfTemplatePath)
creates PDF contents for a clinical chemistry form using the desired template (standard or biopsy).
p. Private methodPdfUtil createClinPathologyForm(PdfUtil pdfUtil, String scanbId, String pdfTemplatePath)
creates PDF contents for a clinical pathology form using the desired template (standard or biopsy).
q. Private methodbyte[] createBarcode(String barcodeText, String barcodeType, Integer dpi, Boolean humanReadable, String textPlacement, String fontName, Integer fontSize)
returns a byte array of a barcode image corresponding to desired contents. Java libraryBarcode4J
is used to generate the barcode.
r. Private static methodConfiguration buildBarcodeCfg(String type, Boolean humanReadable, String textPlacement, String fontName, Integer fontSize)
configures theBarcode4J
barcode generator. - XML configuration file servlets.xml in
META-INF
updated by adding new java servlet classReferralGeneratorServlet
to the servlet list. - New utility library
PdfUtil.java
insrc/net/sf/basedb/meludi/pdf/
added. - New data access object
ClientApp.java
insrc/net/sf/basedb/meludi/dao/
added. - New iText library
itextpdf-5.5.3.jar
with license fileitext-license.txt
inmeludi/META-INF/lib/
added. - Outermost Ant build file
build.xml
in/
updated by adding file setMETA-INF/lib
to class path for compiling. - Properties file
build.properties
in/
updated by adding dependency on JAR files inbase/www/WEB-INF/lib/
. - Java classpath file
.classpath
in/
updated by addingMETA-INF/lib/itextpdf-5.5.3.jar
. Meludi.java
insrc/net/sf/basedb/meludi/
updated:
a. New private static methodString fetchProjectName(int activeProjectId)
added.
b. New public static methodString fetchReferralFormTemplatesDir(int activeProjectId)
added.
c. New public static methodString fetchReferralFormTemplatesOldDir(int activeProjectId)
added.
d. New public static methodString fetchSecondaryAnalysisDir(int activeProjectId)
added.
comment:9 by , 7 years ago
comment:10 by , 7 years ago
comment:11 by , 7 years ago
Design update:
MeLuDI should be updated with new configuration flag uses-site-prefix
, indicating if the project uses some of the first digits in the serial number of the case/sample name to indicate what hospital site, the case/sample belongs to.
- MeLuDI configuration XML file template
meludi-config.xml
inconfig/
updated in XML block<projects>
with new XML tag<uses-site-prefix>
. - Java class/file
Meludi.java
insrc/net/sf/based/meludi/
updated with new public static methodBoolean fetchUsesSitePrefix(int activeProjectId)
. It calls private static methodProjectConfig fetchProjectConfig(int activeProjectId)
to obtain aProjectConfig
object, from which the desired configuration value is returned. - Java class/file
MeludiConfiguration
insrc/net/sf/based/meludi/
updated in private methodvoid fetchConfiguration()
to obtain new configuration value "uses-site-prefix
" for each project from themeludi-config.xml
configuration file, and store the values in new instance variables inProjectConfig
objects for the projects. - Java data access object class/file
ProjectConfig.java
insrc/net/sf/based/meludi/dao/
updated with new private instance variable and corresponding public accessor methods for new configuration value. - Java servlet class/file
SessionServlet.java
insrc/net/sf/based/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for command "GetConfiguration
" to store new configuration value for flag indicating use of site prefix for active project in returned JSONObject for JSON key "usesSitePrefix
".
comment:12 by , 7 years ago
(In [4716]) Refs #1029. MeLuDI updated with new configuration flag uses-site-prefix
, indicating if the project uses some of the first digits in the serial number of the case/sample name to indicate what hospital site, the case/sample belongs to.
- MeLuDI configuration XML file template
meludi-config.xml
inconfig/
updated in XML block<projects>
with new XML tag<uses-site-prefix>
. - Java class/file
Meludi.java
insrc/net/sf/based/meludi/
updated with new public static methodBoolean fetchUsesSitePrefix(int activeProjectId)
. It calls private static methodProjectConfig fetchProjectConfig(int activeProjectId)
to obtain aProjectConfig
object, from which the desired configuration value is returned. - Java class/file
MeludiConfiguration
insrc/net/sf/based/meludi/
updated in private methodvoid fetchConfiguration()
to obtain new configuration value "uses-site-prefix
" for each project from themeludi-config.xml
configuration file, and store the values in new instance variables inProjectConfig
objects for the projects. - Java data access object class/file
ProjectConfig.java
insrc/net/sf/based/meludi/dao/
updated with new private instance variable and corresponding public accessor methods for new configuration value. - Java servlet class/file
SessionServlet.java
insrc/net/sf/based/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for command "GetConfiguration
" to store new configuration value for flag indicating use of site prefix for active project in returned JSONObject for JSON key "usesSitePrefix
".
comment:13 by , 7 years ago
Discussion regarding site prefix:
- Currently the only MeLuDI project using a site prefix is the SCAN-B-rec project. Although the aim is to make the corresponding functionality general enough for other projects to use it, initially the design will be based on the requirements of the SCAN-B-rec project.
- The SCAN-B-rec project will use the first two digits in the serial number of the case/sample name to indicate the hospital site.
- Use of the first two digits in the serial number of the case/sample name as site prefix is the same convention as use for the site prefix in the SCAN-B project (although in the latter project, there are restrictions on what samples are connected to a case). A desire has been expressed to use the same site prefixes in SCAN-B-rec, as for SCAN-B, for sites used in both projects (no risk of confusion regarding the project owner for a specific sample exists, since the SCAN-B-rec project will use project prefix "REC" for case/sample numbers). Sites currently only used in the SCAN-B project will be added to MeLuDI.
- Site prefixes for hospital sites currently unique to MeLuDI, but not used in the SCAN-B project, will be assigned a preliminary site prefix in MeLuDI, to be fixed before the start of the SCAN-B-rec project.
Design discussion.
- For a project using site prefix, the current MeLuDI sample registration feature of showing the next available case name in the input field for the latter, needs to be removed, since the site is unknown, and will affect the number part of the case name.
- For a project using site prefix, the site menu in MeLuDI sample registration should have the site corresponding to the site index in the case name as default, and the site menu should be disabled. This way a case and sample will be connected to the proper site, using the traditional MeLuDI site definition.
comment:14 by , 7 years ago
Design update:
- MeLuDI should be updated with new configuration flag
site-prefix-hash-list
. If the project uses site prefixes, the new variable should contain a comma-separated list, where each odd entry is a site prefix, and the following entry is the corresponding site key. It is expected that both site prefixes and keys are unique, i.e. a site cannot be represented by more than one site prefix.
- MeLuDI configuration XML file template
meludi-config.xml
inconfig/
updated in XML block<projects>
with new XML tag<site-prefix-hash-list>
. - Java class/file
Meludi.java
insrc/net/sf/based/meludi/
updated:- New public static method
String fetchSitePrefixHashList(int activeProjectId)
. It calls private static methodProjectConfig fetchProjectConfig(int activeProjectId)
to obtain aProjectConfig
object, from which the desired configuration value is returned. - New public static method
HashMap<String,String> fetchSitePrefixSiteKeyHashMap(int activeProjectId)
. It returns a site prefix/site key hash map for the desired project. - New public static method
HashMap<String,String> HashMap<String,String> fetchSiteKeySitePrefixHashMap(int activeProjectId)
. It returns a site key/site prefix hash map for the desired project.
- New public static method
- Java class/file
MeludiConfiguration
insrc/net/sf/based/meludi/
updated in private methodvoid fetchConfiguration()
to obtain new configuration value "site-prefix-hash-list
" for each project from themeludi-config.xml
configuration file, and store the values in new instance variables inProjectConfig
objects for the projects. - Java data access object class/file
ProjectConfig.java
insrc/net/sf/based/meludi/dao/
updated with new private instance variable and corresponding public accessor methods for new configuration value. - Java servlet class/file
SessionServlet.java
insrc/net/sf/based/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for command "GetConfiguration
" to store new configuration value for site prefix/site key hash list for active project in returned JSONObject for JSON key "sitePrefixHashList
".
comment:15 by , 7 years ago
(In [4722]) Refs #1029. MeLuDI updated with new configuration flag site-prefix-hash-list
. If the project uses site prefixes, the new variable should contain a comma-separated list, where each odd entry is a site prefix, and the following entry is the corresponding site key. It is expected that both site prefixes and keys are unique, i.e. a site cannot be represented by more than one site prefix.
- MeLuDI configuration XML file template
meludi-config.xml
inconfig/
updated in XML block<projects>
with new XML tag<site-prefix-hash-list>
. - Java class/file
Meludi.java
insrc/net/sf/based/meludi/
updated:- New public static method
String fetchSitePrefixHashList(int activeProjectId)
. It calls private static methodProjectConfig fetchProjectConfig(int activeProjectId)
to obtain aProjectConfig
object, from which the desired configuration value is returned. - New public static method
HashMap<String,String> fetchSitePrefixSiteKeyHashMap(int activeProjectId)
. It returns a site prefix/site key hash map for the desired project. - New public static method
HashMap<String,String> HashMap<String,String> fetchSiteKeySitePrefixHashMap(int activeProjectId)
. It returns a site key/site prefix hash map for the desired project.
- New public static method
- Java class/file
MeludiConfiguration
insrc/net/sf/based/meludi/
updated in private methodvoid fetchConfiguration()
to obtain new configuration value "site-prefix-hash-list
" for each project from themeludi-config.xml
configuration file, and store the values in new instance variables inProjectConfig
objects for the projects. - Java data access object class/file
ProjectConfig.java
insrc/net/sf/based/meludi/dao/
updated with new private instance variable and corresponding public accessor methods for new configuration value. - Java servlet class/file
SessionServlet.java
insrc/net/sf/based/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for command "GetConfiguration
" to store new configuration value for site prefix/site key hash list for active project in returned JSONObject for JSON key "sitePrefixHashList
".
comment:16 by , 7 years ago
Design update:
- MeLuDI should be updated in case/sample registration wizards for projects using site prefix:
i. The case ID input field should be empty (for other projects the next available case ID is set as default value).
ii. The site menu should have the site corresponding to the site prefix in the case ID as default value, and the menu should be disabled. If a case ID with an unknown site prefix has been entered, the site menu should have "unknown" as default value.
- Javascript file
persinfo.js
inresources/personal/
updated:
a. FunctiononConfiguration(request)
updated to set value of variableusesSitePrefix
from loaded configuration.
b. FunctioncaseInfoLoadedStep1(response)
updated to not enter a default value in case ID input field, if value of variableusesSitePrefix
istrue
.
c. FunctiononCaseInfoLoaded(response)
updated for case info having a not-null value for variablesiteDefault
to set the default for the site menu to the value in question, and to disable the site menu. - Javascript file
specimentube.js
inresources/sampleproc/
updated:
a. FunctiononConfiguration(request)
updated to set value of variableusesSitePrefix
from loaded configuration.
b. FunctioncaseInfoLoadedStep1(response)
updated to not enter a default value in case ID input field, if value of variableusesSitePrefix
istrue
.
c. FunctioncaseInfoLoaded(response)
updated for case info having a not-null value for variablesiteDefault
to set the default for the site menu to the value in question, and to disable the site menu. - Java servlet class/file
PersonalRegistrationServlet.java
insrc/net/sf/based/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "GetCaseInfo
" to check for an unknown case if the site should be found from site prefix, in which case the site key is returned for JSON key "siteDefault
". - Java servlet class/file
SpecimenTubeServlet.java
insrc/net/sf/based/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "GetCaseInfo
" to check for an unknown case if the site should be found from site prefix, in which case the site key is returned for JSON key "siteDefault
".
comment:17 by , 7 years ago
(In [4723]) Refs #1029. MeLuDI updated in case/sample registration wizards for projects using site prefix:
i. The case ID input field should be empty (for other projects the next available case ID is set as default value).
ii. The site menu should have the site corresponding to the site prefix in the case ID as default value, and the menu should be disabled. If a case ID with an unknown site prefix has been entered, the site menu should have "unknown" as default value.
- Javascript file
persinfo.js
inresources/personal/
updated:
a. FunctiononConfiguration(request)
updated to set value of variableusesSitePrefix
from loaded configuration.
b. FunctioncaseInfoLoadedStep1(response)
updated to not enter a default value in case ID input field, if value of variableusesSitePrefix
istrue
.
c. FunctiononCaseInfoLoaded(response)
updated for case info having a not-null value for variablesiteDefault
to set the default for the site menu to the value in question, and to disable the site menu. - Javascript file
specimentube.js
inresources/sampleproc/
updated:
a. FunctiononConfiguration(request)
updated to set value of variableusesSitePrefix
from loaded configuration.
b. FunctioncaseInfoLoadedStep1(response)
updated to not enter a default value in case ID input field, if value of variableusesSitePrefix
istrue
.
c. FunctioncaseInfoLoaded(response)
updated for case info having a not-null value for variablesiteDefault
to set the default for the site menu to the value in question, and to disable the site menu. - Java servlet class/file
PersonalRegistrationServlet.java
insrc/net/sf/based/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "GetCaseInfo
" to check for an unknown case if the site should be found from site prefix, in which case the site key is returned for JSON key "siteDefault
". - Java servlet class/file
SpecimenTubeServlet.java
insrc/net/sf/based/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "GetCaseInfo
" to check for an unknown case if the site should be found from site prefix, in which case the site key is returned for JSON key "siteDefault
".
comment:18 by , 7 years ago
Design update:
- Referral generation should be updated:
i. The MeLuDI main page should be updated in personal information section by only adding entry for sub-section "Referral forms
" with wizard "Generate referral forms
" for projects using the feature.
ii. Referral form generation should be updated in text and variable names not to refer to the SCAN-B project.
iii. Referral form generation should be updated to be compatible with the MeLuDI item name standard of project-specific prefix plus number.
iv. Referral form generation should be updated to use site prefixes from the configuration file.
- JSP file
index.jsp
inresources/
updated in personal information section by only adding entry for sub-sectionReferral forms
with wizard "Generate referral forms
" if the project uses the feature. Currently variableboolean isUsingReferralGeneration
is set totrue
based on the name of the active project, but this should preferably be exchanged for use of configuration values for the project. - JSP file
generate-referral-forms.jsp
inresources/personal/
updated in text and variable names not to refer to the SCAN-B project. - Javascript file
generate-referral-forms.js
inresources/personal/
updated:BR}a. Code updated in text and variable names not to refer to the SCAN-B project.
b. FunctioninitPage()
updated to call servletReferralGeneratorServlet
with command "GetSites
" to obtain a JSON object with options for the referral generation "Site" menu.
c. New functionsloadConfiguration()
andonConfiguration(request)
load MeLuDI configuration data for the project and set values for variablesusesSitePrefix
,sampleItemPrefix
, andsampleItemNumDigits
. - Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/based/meludi/servlet/
updated:
a. Code updated in text and variable names not to refer to the SCAN-B project.
b. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated with new command "GetSites
", that calls new methodfetchJSONSites(...)
to obtains a JSON object returned with JSON key "sites
".
c. New public static methodJSONArray fetchJSONSites(Comparator<Site> comparator, int activeProjectId)
added. It calls classSite
to obtain an alphabetic list of all sites, and then uses the project configuration site key/site prefix hash map to return a JSON object with the site prefix as JSON key.
d. A number of private methods for generating PDF referral files updated to fit requirements for the referral templates in the SCAN-B-rec project.
comment:19 by , 7 years ago
(In [4724]) Refs #1029. Referral generation updated:
i. The MeLuDI main page updated in personal information section by only adding entry for sub-section "Referral forms
" with wizard "Generate referral forms
" for projects using the feature.
ii. Referral form generation updated in text and variable names not to refer to the SCAN-B project.
iii. Referral form generation updated to be compatible with the MeLuDI item name standard of project-specific prefix plus number.
iv. Referral form generation updated to use site prefixes from the configuration file.
- JSP file
index.jsp
inresources/
updated in personal information section by only adding entry for sub-sectionReferral forms
with wizard "Generate referral forms
" if the project uses the feature. Currently variableboolean isUsingReferralGeneration
is set totrue
based on the name of the active project, but this should preferably be exchanged for use of configuration values for the project. - JSP file
generate-referral-forms.jsp
inresources/personal/
updated in text and variable names not to refer to the SCAN-B project. - Javascript file
generate-referral-forms.js
inresources/personal/
updated:BR}a. Code updated in text and variable names not to refer to the SCAN-B project.
b. FunctioninitPage()
updated to call servletReferralGeneratorServlet
with command "GetSites
" to obtain a JSON object with options for the referral generation "Site" menu.
c. New functionsloadConfiguration()
andonConfiguration(request)
load MeLuDI configuration data for the project and set values for variablesusesSitePrefix
,sampleItemPrefix
, andsampleItemNumDigits
. - Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/based/meludi/servlet/
updated:
a. Code updated in text and variable names not to refer to the SCAN-B project.
b. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated with new command "GetSites
", that calls new methodfetchJSONSites(...)
to obtains a JSON object returned with JSON key "sites
".
c. New public static methodJSONArray fetchJSONSites(Comparator<Site> comparator, int activeProjectId)
added. It calls classSite
to obtain an alphabetic list of all sites, and then uses the project configuration site key/site prefix hash map to return a JSON object with the site prefix as JSON key.
d. A number of private methods for generating PDF referral files updated to fit requirements for the referral templates in the SCAN-B-rec project.
comment:20 by , 7 years ago
(In [4725]) Refs #1029. MeLuDI updated by adding sites "Halmstad
" and "Jönköping
":
- JSP file
persinfo.jsp
inresources/personal/
updated by adding options for new sites in site menu. Site menu options are now placed in alphabetical order to make it simpler to find a desired item. - JSP file
specimentube.jsp
inresources/sampleproc/
updated by adding options for new sites in site menu. Site menu options are now placed in alphabetical order to make it simpler to find a desired item. - Java class/file
Site.java
insrc/net/sf/based/meludi/
updated by adding entries for new sites "Halmstad
(member of "RCC syd") and "Jönköping
" (not member of "RCC syd"). - Java servlet class/file
InstallServlet.java
insrc/net/sf/based/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for commands "Validate
" and "Install
" by including the new sites in value options forAnnotationtype.SITE
.
comment:21 by , 7 years ago
(In [4726]) Refs #1029. Referral generation updated in servlet by exchanging hard-coded site prefix length 2
for new private static variable int sitePrefixLength
with default value set to 2
. The change is a preparation for obtaining the site prefix length from the project configuration in the future.
- Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/based/meludi/servlet/
updated by exchanging hard-coded site prefix length2
for new static variablesitePrefixLength
with default value set to2
.
comment:22 by , 7 years ago
(In [4727]) Refs #1029. MeLuDI updated in most wizards by specifying that a current "site" represents a hospital site, in order to simplify adding data for internal sites like metastasis sites in the future:
- JSP file
persinfo.jsp
inresources/personal/
updated by referring to currents sites as hospital sites. - JSP file
specimentube.jsp
inresources/sampleproc/
updated by referring to currents sites as hospital sites. - JSP file
case_summary.jsp
inresources/reports/
updated by referring to currents sites as hospital sites. - JSP file
meludi_quarter_month_report_generator.jsp
inresources/reports/
updated by referring to currents sites as hospital sites. - Javascript file
samplereportgenerator.js
inresources/reports/
updated by referring to currents sites as hospital sites.
comment:23 by , 7 years ago
(In [4729]) Refs #1029. MeLuDI updated by extending list of menu options for "Specimen input type" with "RNAlater" and "FFPE block". Also, description of previous FFPE options updated by adding Swedish notation in parenthesis:
- JSP file
persinfo.jsp
inresources/personal/
updated by adding options "RNAlater" and "FFPE block" to input menu for specimen input type. Also, description of previous FFPE options updated by adding Swedish notation in parenthesis. - JSP file
specimentube.jsp
inresources/sampleproc/
updated by adding options "RNAlater" and "FFPE block" to input menu for specimen input type. Also, description of previous FFPE options updated by adding Swedish notation in parenthesis. - Java servlet class/file
InstallServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for commands "Validate
" and "Install
" to include "rna_later
" and "ffpe_block
" in value options for annotation typeSPECIMEN_INPUT_TYPE
. - Java servlet class/file
CaseSummaryServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in private methodfetchSpecimenInputType(String rawSpecimenInputType)
by including support for options "RNAlater" and "FFPE block".
comment:24 by , 7 years ago
(In [4730]) Refs #1029. Specimen tube registration updated in the set of mutation analysis options by adding new option "TST170
" (TruSight Tumor 170, a sequencing assay covering 170 genes). The new option should not be included in the set of options affected by the "Select all" button.
- JSP file
specimentube.jsp
inresources/sampleproc/
updated in check box options for mutation analysis to display the new option. - Javascript file
specimentube.js
inresources/sampleproc/
updated in functionstreg.submit()
to obtain the mutation analysis selection for the new option from the form in JSP filespecimentube.jsp
and transfer it to servletSpecimenTubeServlet
. - JSP file
persinfo.jsp
inresources/personal/
updated in check box options for mutation analysis to display the new option. - Javascript file
persinfo.js
inresources/personal/
updated in functionpersinfo.submit()
to obtain the mutation analysis selection for the new option from the form in JSP filepersinfo.jsp
and transfer it to servletPersonalRegistrationServlet
. - Java class/file
InstallServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
with new value option forAnnotationtype.MUTATION_ANALYSIS
. - Java class/file
SpecimenTubeServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doPost(HttpServletRequest req, HttpServletResponse resp)
for command "CreateSpecimenTubes
" to obtain a list of selected mutation analysis values, that includes the new value option. - Java class/file
PersonalRegistrationServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doPost(HttpServletRequest req, HttpServletResponse resp)
for command "CreateCase
" to obtain a list of selected mutation analysis values, that includes the new value option.
comment:25 by , 7 years ago
(In [4731]) Refs #1029. MeLuDI updated in sample report servlet code with debug output intended to help fix bug that causes sample report generation to crash, when obtaining site data. However, the bug that should be investigated, disappeared after the update!
- Java servlet class/file
SampleReportServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for command "overviewreport
" by adding debug output containing the sites obtained from call ofSite.getAllReportSites()
.
comment:26 by , 7 years ago
(In [4732]) Refs #1029. Specimen tube registration updated in the case section with new menu "Metastasis site
". The new menu is placed below the "Project focus
" menu.
- JSP file
specimentube.jsp
inresources/sampleproc/
updated in case section with new menu "Metastasis site
". - Javascript file
specimentube.js
inresources/sampleproc/
updated in functionstreg.submit()
to obtain the metastasis site selection from the form in JSP filespecimentube.jsp
and transfer it to servletSpecimenTubeServlet
. - JSP file
persinfo.jsp
inresources/personal/
updated in case section with new menu "Metastasis site
". - Javascript file
persinfo.js
inresources/personal/
updated in functionpersinfo.submit()
to obtain the metastasis site selection from the form in JSP filespecimentube.jsp
and transfer it to servletPersonalRegistrationServlet
. Also, for an already registered case, the new menu will be disabled. - JSP file
case_summary.jsp
inresources/reports/
updated in case section with new data row for value of metastasis site. - Javascript file
case_summary.js
inresources/reports/
updated in functioncs.caseInfoLoaded(response)
to enter the value for metastasis site obtained for the case from servletCaseSummaryServlet
and make it available for display in the case summary JSP page. - Java class/file
Annotationtype.java
insrc/net/sf/basedb/meludi/dao/
updated with new public static finalAnnotationtype METASTASIS_SITE
. - Java class/file
InstallServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for commands "Validate
" and "Install
" to add chack for new annotation typeAnnotationtype.METASTASIS_SITE
. - Java class/file
SpecimenTubeServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doPost(HttpServletRequest req, HttpServletResponse resp)
for command "CreateSpecimenTubes
" to obtain metastasis value from form, and set annotation typeAnnotationtype.METASTASIS_SITE
to that value. - Java class/file
PersonalRegistrationServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doPost(HttpServletRequest req, HttpServletResponse resp)
for command "CreateCase
" to obtain metastasis value from form, and set annotation typeAnnotationtype.METASTASIS_SITE
to that value. - Java servlet class/file
CaseSummaryServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "GetCaseInfo
" to obtain report value of metastasis site from sample by calling new private methodString fetchMetastasisSite(DbControl dc, SnapshotManager manager, Sample s)
, and then set annotation typeAnnotationtype.METASTASIS_SITE
to that value.
b. New private methodString fetchMetastasisSite(DbControl dc, SnapshotManager manager, Sample s)
added. It returns a report string to use for a metastasis site value.
comment:28 by , 7 years ago
(In [4733]) Refs #1029. Code fork introduced for case/sample registration in SCAN-B-rec project:
- JSP file
index.jsp
inresources/
updated to add links to alternative JSP filesspecimentube_alt_rec.jsp
andpersinfo_alt_rec.jsp
when active project is SCAN-B-rec. - New JSP file
specimentube_alt_rec.jsp
inresources/sampleproc/
added. It is based onspecimentube.jsp
, but refers to new Javascript filespecimentube_alt_rec.js
. - New Javascript file
specimentube_alt_rec.js
inresources/sampleproc/
added. It is based on ` - New JSP file
persinfo_alt_rec.jsp
inresources/personal/
added. It is based onpersinfo.jsp
, but refers to new Javascript filepersinfo_alt_rec.js
. - New Javascript file
persinfo_alt_rec.js
inresources/personal/
added. It is based onpersinfo.js
.
comment:29 by , 7 years ago
(In [4734]) Refs #1029. Case/sample registration in SCAN-B-rec project updated for mutation analysis to only show option "TST170" and "Other", where "TST170" should be selected by default:
- JSP file
specimentube_alt_rec.jsp
inresources/sampleproc/
updated for mutation analysis to only show option "TST170" and "Other". - Javascript file
specimentube_alt_rec.js
inresources/sampleproc/
updated for mutation analysis to have "TST170" selected by default. FunctionprojectFocusOnChange()
update to not set default values for other mutation analysis options. - JSP file
persinfo_alt_rec.jsp
inresources/personal/
updated for mutation analysis to only show option "TST170" and "Other". - Javascript file
persinfo_alt_rec.js
inresources/personal/
updated for mutation analysis to have "TST170" selected by default. FunctionprojectFocusOnChange()
update to not set default values for other mutation analysis options.
comment:30 by , 7 years ago
(In [4736]) Refs #1029. Updates due to version number change to "1.6.0a1
".
- Version number changed to "
1.6.0a1
":
a. Outermost Ant XML build filebuild.xml
in/
updated.
b. Extensions XML configuration fileextensions.xml
inMETA-INF/
updated.
c. Javascript filemeludi-2.js
inresources/
updated.
d. Javascript filemeludi_quarter_month_report_generator.js
inresources/reports/
updated.
e. Javascript filesamplereportgenerator.js
inresources/reports/
updated.
f. Java class/fileMeludi.java
insrc/net/sf/basedb/meludi/
updated.
comment:31 by , 7 years ago
(In [4756]) Refs #1029. Updates due to version number change to "1.6.0-dev
".
- Version number changed to "
1.6.0-dev
":
a. Outermost Ant XML build filebuild.xml
in/
updated.
b. Extensions XML configuration fileextensions.xml
inMETA-INF/
updated.
c. Javascript filemeludi-2.js
inresources/
updated.
d. Javascript filemeludi_quarter_month_report_generator.js
inresources/reports/
updated.
e. Javascript filesamplereportgenerator.js
inresources/reports/
updated.
f. Java class/fileMeludi.java
insrc/net/sf/basedb/meludi/
updated.
comment:32 by , 7 years ago
(In [4757]) Refs #1029. MeLuDI updated in error message to refer to the correct file, when the configuration file isn't found:
- Java class/file
MeludiConfiguration
insrc/net/sf/based/meludi/
updated in private methodvoid fetchConfiguration()
to refer to filemeludi-config.xml
instead oflabenv-config.xml
, when the configuration file isn't found.
comment:33 by , 7 years ago
Design update of referral form generation:
- Referral form generation should be updated to suit new referral form template files.
- Now all referral template forms belong to one of two main types, where all templates of the same type have barcodes at the same position:
a. Barcode non-sticker forms. Barcodes at top right and left (at slightly different height).
b. Barcode sticker forms. Barcodes at top right and left (at slightly different height), plus barcodes on nine sticker labels at bottom of form, intended to be placed on sample tubes. The stickers will also have the case ID printed on the top and bottom of the short side of the label. - The barcode non-sticker forms will no longer be created with an extra blank page after each form in the PDF file, since all forms are on a single page.
- Some of the referral forms for which templates exist, should not be included in the forms sets created as a batch job.
- In the current version, the referral form sets will contain the following forms:
Form set 1 (with label stickers): Biopsy form, Whole blood form, Follow up form.
Form set 2: Consent report form.
comment:34 by , 7 years ago
(In [4767]) Refs #1029. Referral form generator update:
Design update of referral form generation:
- Referral form generation updated to suit new referral form template files.
- Now all referral template forms belong to one of two main types, where all templates of the same type have barcodes at the same position:
a. Barcode non-sticker forms. Barcodes at top right and left (at slightly different height).
b. Barcode sticker forms. Barcodes at top right and left (at slightly different height), plus barcodes on nine sticker labels at bottom of form, intended to be placed on sample tubes. The stickers will also have the case ID printed on the top and bottom of the short side of the label. - The barcode non-sticker forms will no longer be created with an extra blank page after each form in the PDF file, since all forms are on a single page.
- Some of the referral forms for which templates exist, should not be included in the forms sets created as a batch job.
- In the current version, the referral form sets will contain the following forms:
Form set 1 (with label stickers): Biopsy form, Whole blood form, Follow up form.
Form set 2: Consent report form.
- Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/based/meludi/servlet/
updated:
a. New private static final StringsREF_FORM_TEMPLATE_WHOLE_BLOOD
,REF_FORM_TEMPLATE_FOLLOW_UP
,TEMPLATE_FILENAME_START_WHOLE_BLOOD
, andTEMPLATE_FILENAME_START_FOLLOW_UP
defined.
b. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "GetReferralTemplateInfo
" to call methodfetchMultipleTemplateFiles(...)
forREF_FORM_TEMPLATE_CLIN_CHEM_BIOPSY
,REF_FORM_TEMPLATE_WHOLE_BLOOD
, andREF_FORM_TEMPLATE_FOLLOW_UP
.
c. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "GenerateReferralForms
" to call methodscreateBiopsyClinChemForm(...)
,createWholeBloodForm(...)
, andcreateFollowUpForm(...)
.
d. Private methodvoid initializeRefFormTemplNameStartHashMap()
updated by adding key/values pairsREF_FORM_TEMPLATE_WHOLE_BLOOD
/TEMPLATE_FILENAME_START_WHOLE_BLOOD
andREF_FORM_TEMPLATE_FOLLOW_UP
/TEMPLATE_FILENAME_START_FOLLOW_UP
.
e. Private methodPdfUtil createConsentReportForm(DbControl dc, PdfUtil pdfUtil, String caseId, List<String> formTemplateFileList)
updated to call new methodcreateBarcodeNonStickerForm(DbControl dc, PdfUtil pdfUtil, String caseId, List<String> formTemplateFileList)
.
f. Private methodPdfUtil createPadReferralForm(DbControl dc, PdfUtil pdfUtil, String caseId, List<String> formTemplateFileList)
updated to call new methodcreateBarcodeNonStickerForm(DbControl dc, PdfUtil pdfUtil, String caseId, List<String> formTemplateFileList)
.
g. Private methodPdfUtil createBiopsyClinChemForm(DbControl dc, PdfUtil pdfUtil, String caseId, List<String> formTemplateFileList)
updated to call new methodcreateBarcodeStickerForm(DbControl dc, PdfUtil pdfUtil, String caseId, String formTemplateName, List<String> formTemplateFileList)
.
h. New private methodPdfUtil createWholeBloodForm(DbControl dc, PdfUtil pdfUtil, String caseId, List<String> formTemplateFileList)
calls new methodcreateBarcodeStickerForm(DbControl dc, PdfUtil pdfUtil, String caseId, String formTemplateName, List<String> formTemplateFileList)
.
i. New private methodPdfUtil createFollowUpForm(DbControl dc, PdfUtil pdfUtil, String caseId, List<String> formTemplateFileList)
calls new methodcreateBarcodeStickerForm(DbControl dc, PdfUtil pdfUtil, String caseId, String formTemplateName, List<String> formTemplateFileList)
.
j. New private methodPdfUtil createBarcodeNonStickerForm(DbControl dc, PdfUtil pdfUtil, String caseId, List<String> formTemplateFileList)
added. It calls new private methodPdfUtil createBarcodeNonStickerForm(DbControl dc, PdfUtil pdfUtil, File pdfFile, String caseId, List<String> formTemplateFileList)
.
k. New private methodPdfUtil createBarcodeNonStickerForm(DbControl dc, PdfUtil pdfUtil, File pdfFile, String caseId, List<String> formTemplateFileList)
added. It creates a referral form without label sticker barcodes.
l. New private methodPdfUtil createBarcodeStickerForm(DbControl dc, PdfUtil pdfUtil, String caseId, List<String> formTemplateFileList)
added. It calls new private methodPdfUtil createBarcodeStickerForm(DbControl dc, PdfUtil pdfUtil, File pdfFile, String caseId, List<String> formTemplateFileList)
.
m. New private methodPdfUtil createBarcodeStickerForm(DbControl dc, PdfUtil pdfUtil, File pdfFile, String caseId, List<String> formTemplateFileList)
added. It creates a referral form with label sticker barcodes.
comment:35 by , 7 years ago
(In [4768]) Refs #1029. Referral form generation updated by removing menu for selecting referral variant, since the default "Kit 1 - Standard" will always be used. Also, instruction text for printing updated to recommend one-page printing for both batch 1 & 2 PDF files:
- JSP file
generate-referral-forms.jsp
inresources/personal/
updated:
a. Instruction text updated to recommend one-page printing for both batch 1 & 2 PDF files.
b. Step 1 form updated by removing menu for selecting referral variant, since the default "Kit 1 - Standard" will always be used. - Javascript file
generate-referral-forms.js
inresources/personal/
updated:
a. New constantrefVariantDefault
defined, set to value "kit1_standard
".
b. FunctionsinitPage()
,siteAndVariantOnChange()
,initializeStep2(response)
,initializeStep2a(response)
, andgenerateReferralForms()
updated not to refer to menu for selecting referral variant, and to set the value to that of new constantrefVariantDefault
.
comment:36 by , 7 years ago
(In [4773]) Refs #1029. Support for consent coupled to case item added, based on that used in Reggie. Code compiles, but might need to be updated, before it can be considered OK:
- Data access object file
Annotationtype.java
insrc/net/sf/basedb/meludi/dao/
updated:
a. New annotation typeCONSENT
added. It is of type String and is a Sample annotation.
b. New annotation typeCONSENT_DATE
added. It is of type Date and is a Sample annotation. - Data access object file
Case.java
insrc/net/sf/basedb/meludi/dao/
updated by adding new public methodvoid verifyConsent(DbControl dc, Annotationtype consentType)
. - New data access object file
Consent.java
insrc/net/sf/basedb/meludi/dao/
added. - Java servlet class/file
InstallServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for commands "Validate
" and "Install
" to add checks for new annotation typesAnnotationtype.CONSENT
andAnnotationtype.CONSENT_DATE
, as well as adding these in check for annotation type category forSubtype.CASE
.
comment:37 by , 7 years ago
(In [4774]) Refs #1029. Referral form generator updated to create a fixed number of follow-up forms for each case ID. The default number of forms to create is 8.
- Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/based/meludi/servlet/
updated:
a. New private static final constantint NUM_FOLLOW_UP_FORMS_DEFAULT
defined, and set equal to8
.
b. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "GenerateReferralForms
" to create a fixed number of follow-up forms for each case ID. The default number of forms to create is initially equal to value of constantNUM_FOLLOW_UP_FORMS_DEFAULT
.
comment:38 by , 7 years ago
(In [4775]) Refs #1029. Referral form generator updated for forms with sticker labels to use smaller font size for bold text under barcode at upper right, and to place the text closer to the barcode (same size and distance as for the barcode and text to the upper left, except that the text at upper right is bold):
- Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/based/meludi/servlet/
updated in private methodPdfUtil createBarcodeStickerForm(DbControl dc, PdfUtil pdfUtil, File pdfFile, String caseId, String formTemplateName, List<String> formTemplateFileList)
to use smaller font size for bold text under barcode at upper right, and to place the text closer to the barcode (same size and distance as for the barcode and text to the upper left, except that the text at upper right is bold).
comment:39 by , 7 years ago
(In [4779]) Refs #1029. Bugs fixed in Javascript for sample registration for SCAN-B-rec project (references to removed mutation analysis options are now commented out):
- Javascript file
specimentube_alt_rec.js
inresources/sampleproc/
updated by commenting out references to removed mutation analysis options. - Javascript file
persinfo_alt_rec.js
inresources/personal/
updated by commenting out references to removed mutation analysis options.
comment:40 by , 7 years ago
(In [4780]) Refs #1029. Case summary updated to show consent info after hospital site info for case:
- JSP file
case_summary.jsp
inresources/reports/
updated by adding a row for consent data after hospital site info for case. - Javascript file
case_summary.js
inresources/reports/
updated:
a. FunctioncaseInfoLoaded(response)
updated by adding info on consent for case.
b. New functionasConsent(consent, consentDate)
added. It returns info on consent and consent date, or a warning if either is missing.
c. New functionlogError(section, err)
added. It handles reported errors. - Java servlet class/file
CaseSummaryServlet.java
insrc/net/sf/based/meludi/servlet/
updated in private methodvoid loadCaseInfo(DbControl dc, Case theCase)
by loading consent annotations.
comment:41 by , 7 years ago
(In [4783]) Refs #1029. Referral form generator updated for new form versions. Barcode and text at upper right moved upwards, to leave more space to printed text underneath. Referral/case name at upper short side of sticker labels moved downwards, to leave more padding to upper border of sticker label:
- Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/based/meludi/servlet/
updated:
a. Private methodPdfUtil createBarcodeNonStickerForm(DbControl dc, PdfUtil pdfUtil, File pdfFile, String caseId, String formTemplateName, List<String> formTemplateFileList)
updated to move barcode and text at upper right upwards, to leave more space to printed text underneath.
b. Private methodPdfUtil createBarcodeStickerForm(DbControl dc, PdfUtil pdfUtil, File pdfFile, String caseId, String formTemplateName, List<String> formTemplateFileList)
updated to move barcode and text at upper right upwards, to leave more space to printed text underneath. Also, referral/case name at upper short side of sticker labels moved downwards, to leave more padding to upper border of sticker label.
comment:42 by , 7 years ago
(In [4784]) Refs #1029. Referral form generator updated for non-sticker forms to have text/barcode sizes and placement equal to that for forms sticker labels:
- Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/based/meludi/servlet/
updated in private methodPdfUtil createBarcodeNonStickerForm(DbControl dc, PdfUtil pdfUtil, File pdfFile, String caseId, String formTemplateName, List<String> formTemplateFileList)
to have text/barcode sizes and placement equal to that for forms sticker labels.
comment:43 by , 7 years ago
(In [4785]) Refs #1029. Import of code for consent support, taken from Reggie project, with minor modifications to allow it to be compiled in MeLuDI (full functionality requires more code changes):
- JSP file
index.jsp
inresources/
updated in section "Personal information wizards" with new sub-section "Case & consent registration" with entry "1. Consent form registration" with link to new JSP fileconsentform.jsp
when active project is SCAN-B-rec. - New JSP file
consentform.jsp
inresources/personal/
added. It is linked to new javascript fileconsentform.js
inresources/personal/
. - New javascript file
consentform.js
inresources/personal/
added.
a. FunctioninitializeStep2(event)
callsConsentFormServlet
with command "GetCaseInfo
" to obtain information on the entered case, which is processed by functioncaseInfoLoaded(response)
.
b. Functionsubmit()
callsConsentFormServlet
with command "RegisterConsent
" to register consent info. - New java servlet class/file
ConsentFormServlet.java
insrc/net/sf/basedb/meludi/servlet/
added.
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
supports command "GetCaseInfo
", that returns a JSONObject with case info.
b. Protected methodvoid doPost(HttpServletRequest req, HttpServletResponse resp)
supports command "RegisterConsent
", that retrieves case info and entered consent data, and creates or updates the case item. This code needs to be updated to desired functionality. - XML configuration file
servlets.xml
inMETA-INF
updated by adding new java servlet classConsentFormServlet
to the servlet list. - Utility class/file
JsonUtil.java
insrc/net/sf/basedb/meludi/
updated with new public static methodJSONObject parseRequest(HttpServletRequest request)
. - Data access object file
Subtype.java
insrc/net/sf/basedb/meludi/dao/
updated by adding new consent relatedSubtype
itemsNO
,NOT_ASKED
,RETRACT
, andRETRO_NO
. - Java servlet class/file
InstallServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for commands "Validate
" and "Install
" to add checks for new sub typesSubtype.NO
,Subtype.NOT_ASKED
,Subtype.RETRACT
, andSubtype.RETRO_NO
.
comment:44 by , 7 years ago
(In [4786]) Refs #1029. Consent registration for active project SCAN-B-rec updated to use its own set of JSP and Javascript files, to allow for project specific changes in the future:
- JSP file
index.jsp
inresources/
updated in section "Personal information wizards", sub-section "Case & consent registration" to have entry "1. Consent form registration" link to new JSP fileconsentform_alt_rec.jsp
when active project is SCAN-B-rec. - New JSP file
consentform_alt_rec.jsp
inresources/personal/
added. It is linked to new javascript fileconsentform_alt_rec.js
inresources/personal/
. Apart from this, it is initially identical toconsentform.jsp
. - New javascript file
consentform_alt_rec.js
inresources/personal/
added. It is initially identical toconsentform_alt_rec.js
, except thatalert()
messages refer to the name of the new file.
comment:45 by , 7 years ago
(In [4787]) Refs #1029. Support for a pre-entry of a PAD number coupled to case item added. As a PAD number is coupled to a specimen item, the new annotation will allow a PAD number to be entered together with the case consent, and be used as default value for later registration of the specimen PAD number:
- Data access object file
Annotationtype.java
insrc/net/sf/basedb/meludi/dao/
updated:
a. New annotation typePAD_PRE_ENTRY
added. It is of type String and is a Sample (Case) annotation. - Java servlet class/file
InstallServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for commands "Validate
" and "Install
" to add check for new annotation typeAnnotationtype.PAD_PRE_ENTRY
and adding this in check for annotation type category forSubtype.CASE
.
comment:46 by , 7 years ago
(In [4788]) Refs #1029. Case summary for active project SCAN-B-rec updated to use its own set of JSP and Javascript files, to allow for project specific changes. Initially, a data row is added for PAD pre-entry annotation for Case items:
- JSP file
index.jsp
inresources/
updated in section "Statistics and reporting wizards", sub-section "Case summary" to have case summary input field coupled to new JSP filecase_summary_alt_rec.jsp
when active project is SCAN-B-rec. - Javascript file
index.js
inresources/
updated by adding event and button click handlers for alternative case name input field and button when active project is SCAN-B-rec. - New JSP file
case_summary_alt_rec.jsp
inresources/reports/
added. It is linked to new javascript filecase_summary_alt_rec.js
inresources/reports/
. It has a new data row added for a PAD pre-entry in the Case section. The new entry is considered confidential, in analogy with PAD number for specimen, and requires Patient Curator or Administrator role to be shown. - New javascript file
case_summary_alt_rec.js
inresources/reports/
added. - Java servlet class/file
CaseSummaryServlet.java
insrc/net/sf/based/meludi/servlet/
updated in private methodvoid loadCaseInfo(DbControl dc, Case theCase)
by loading annotationAnnotationtype.PAD_PRE_ENTRY
.
comment:47 by , 7 years ago
(In [4789]) Refs #1029. Consent registration for active project SCAN-B-rec updated to update consent information for existing case. Also an optional PAD pre-entry value is now handled together with consent data for the above project. Note that part of the code is still unused, and may be removed in the future:
- JSP file
consentform_alt_rec.jsp
inresources/personal/
updated with input field for PAD pre-entry. - Javascript file
consentform_alt_rec.js
inresources/personal/
updated:
a. FunctioncaseInfoLoaded(response)
updated to enter PAD pre-entry value for existing case item in the PAD pre-entry input field, and disable the latter.
b. Functionsubmit()
updated to include value entered in the PAD pre-entry nput field in the JSON info sent toConsentFormServlet
with JSON key "padPreEntry
". - Java servlet class/file
ConsentFormServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "GetCaseInfo
" to load annotationAnnotationtype.PAD_PRE_ENTRY
for existing case to JSON data with JSON key "padPreEntry
".
b. Protected methodvoid doPost(HttpServletRequest req, HttpServletResponse resp)
updated for command "RegisterConsent
" to update an existing case with entered data for consent and PAD pre-entry, and to add entered value for PAD pre-entry as value for annotationAnnotationtype.PAD_PRE_ENTRY
for a newly created case.
comment:48 by , 7 years ago
(In [4790]) Refs #1029. Consent registration for active project SCAN-B-rec updated by clarifying displayed text, when no consent information is found for a case:
- JSP file
consentform_alt_rec.jsp
inresources/personal/
updated by clarifying displayed text "There is currently no information about this case" to "There is currently no consent information about this case".
comment:49 by , 7 years ago
(In [4791]) Refs #1029. MeLuDI updated in sample registration JSP files by adding description of FFPE option "block" by adding Swedish notation in parenthesis.:
- JSP files
persinfo.jsp
andpersinfo_alt_rec.jsp
inresources/personal/
updated by adding description of FFPE option "block" by adding Swedish notation in parenthesis. - JSP files
specimentube.jsp
andspecimentube_alt_rec.jsp
inresources/sampleproc/
updated by adding description of FFPE option "block" by adding Swedish notation in parenthesis.
comment:50 by , 7 years ago
(In [4792]) Refs #1029. Updates due to version number change to "1.6.0a2
".
- Version number changed to "
1.6.0a2
":
a. Outermost Ant XML build filebuild.xml
in/
updated.
b. Extensions XML configuration fileextensions.xml
inMETA-INF/
updated.
c. Javascript filemeludi-2.js
inresources/
updated.
d. Javascript filemeludi_quarter_month_report_generator.js
inresources/reports/
updated.
e. Javascript filesamplereportgenerator.js
inresources/reports/
updated.
f. Java class/fileMeludi.java
insrc/net/sf/basedb/meludi/
updated.
comment:51 by , 7 years ago
(In [4793]) Refs #1029. Updates due to version number change to "1.6.0-dev
".
- Version number changed to "
1.6.0-dev
":
a. Outermost Ant XML build filebuild.xml
in/
updated.
b. Extensions XML configuration fileextensions.xml
inMETA-INF/
updated.
c. Javascript filemeludi-2.js
inresources/
updated.
d. Javascript filemeludi_quarter_month_report_generator.js
inresources/reports/
updated.
e. Javascript filesamplereportgenerator.js
inresources/reports/
updated.
f. Java class/fileMeludi.java
insrc/net/sf/basedb/meludi/
updated.
comment:52 by , 7 years ago
(In [4795]) Refs #1029. Support for blood items added, based on that used in Reggie. Code compiles, but might need to be updated, before it can be considered OK:
- Data access object file
Annotationtype.java
insrc/net/sf/basedb/meludi/dao/
updated:
a. New annotation typeBLOOD_SAMPLING_DATETIME
added. It is of type Timestamp and is a Sample annotation. - New data access object file
Blood.java
insrc/net/sf/basedb/meludi/dao/
added. - New data access object file
BloodDna.java
insrc/net/sf/basedb/meludi/dao/
added. - Data access object file
Subtype.java
insrc/net/sf/basedb/meludi/dao/
updated by adding new blood relatedSubtype
itemsBLOOD
andBLOOD_DNA
, of typeItem.SAMPLE
andItem.EXTRACT
, respectively. - Java servlet class/file
InstallServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for commands "Validate
" and "Install
" to add checks for new sub typesSubtype.BLOOD
andSubtype.BLOOD_DNA
. Also updated by adding check for new annotation typeAnnotationtype.BLOOD_SAMPLING_DATETIME
.
comment:53 by , 7 years ago
(In [4796]) Refs #1029. Case summary for active project SCAN-B-rec updated by reporting information on blood and blood DNA items:
- JSP file
case_summary_alt_rec.jsp
inresources/reports/
updated with new data sections for blood and blood DNA info. - Javascript file
case_summary_alt_rec.js
inresources/reports/
updated in functioncaseInfoLoaded(response)
by adding blood and blood DNA info. - Data access object file
Patient.java
insrc/net/sf/basedb/meludi/dao/
updated by adding new public static methodPatient findByBlood(DbControl dc, Blood blood)
. - Java servlet class/file
CaseSummaryServlet.java
insrc/net/sf/based/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "GetCaseInfo
" to add info for blood and blood DNA items.
b. New private methodvoid loadBloodInfo(DbControl dc, Blood blood)
added.
c. New private methodvoid loadBloodDnaInfo(DbControl dc, BloodDna dna)
added.
comment:54 by , 7 years ago
(In [4807]) Refs #1029. MeLuDI updated with new configuration flags uses-referral-creation
and uses-site-specific-referral-templates
, indicating if the project uses referral creation, and if so, uses site specific referral templates.
- MeLuDI configuration XML file template
meludi-config.xml
inconfig/
updated in XML block<projects>
with new XML tags<uses-referral-creation>
and<uses-site-specific-referral-templates>
. - Java class/file
Meludi.java
insrc/net/sf/based/meludi/
updated with new public static methodsBoolean fetchUsesReferralCreation(int activeProjectId)
andBoolean fetchUsesSiteSpecificReferralTemplates(int activeProjectId)
. They call private static methodsProjectConfig fetchProjectConfig(int activeProjectId)
to obtain aProjectConfig
object, from which the desired configuration values are returned. - Java class/file
MeludiConfiguration
insrc/net/sf/based/meludi/
updated in private methodvoid fetchConfiguration()
to obtain new configuration values "uses-referral-creation
" and "uses-site-specific-referral-templates
" for each project from themeludi-config.xml
configuration file, and store the values in new instance variables inProjectConfig
objects for the projects. - Java data access object class/file
ProjectConfig.java
insrc/net/sf/based/meludi/dao/
updated with new private instance variables and corresponding public accessor methods for new configuration values. - Java servlet class/file
SessionServlet.java
insrc/net/sf/based/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for command "GetConfiguration
" to store new configuration values for flags indicating use of referral creation and site specific referral templates for active project in returned JSONObject for JSON keys "usesReferralCreation
" and "usesSiteSpecificReferralTemplates
", respectively.
comment:55 by , 7 years ago
(In [4808]) Refs #1029. Referral generation updated regarding in what BASE directory to look for referral form template files. Now the referral form template top directory is used, unless configuration flag uses-site-specific-referral-templates
has value true
, in which case sub-directory named after the site prefix is used:
- Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/based/meludi/servlet/
updated in private methodList<File> fetchReferralFormTemplateFileList(DbControl dc, String caseIdDigits, String formTemplateName)
to look for referral template files in the referral form template top directory, unless configuration flaguses-site-specific-referral-templates
has valuetrue
, in which case it looks in a sub-directory named after the site prefix.
comment:56 by , 7 years ago
Design note:
- The update in change set [4808] will drastically simplify the referral template file management for projects like SCAN-B-rec, that do not use site-specific referral templates. Now a template can be updated by only exchanging a single file in the template top directory in the BASE file system (directory
ReferralFormTemplatesInUse/
for the active project), while you previously had to exchange one file per site sub-directory (as an example, project SCAN-B-rec currently has support for 14 hospital sites).
comment:57 by , 7 years ago
Design update for referral generation:
- Requests have been made that it should be possible to manually write a date on the lower short side of the adhesive stickers on some of the referral forms. To simplify this, new referral form templates will be provided, with vertical sticker text moved 3-4 mm upwards, and a short horizontal line being added near the bottom of each sticker for the date entry. The following updates are desired for the generated bar code/text:
a. The bar code and accompanying text should analogously be moved upwards to make room for the date entry.
b. The horizontal referral/case ID on the top of the sticker should be moved a little upwards, in order to not lie too close to the vertical text on the sticker, after the former was moved upwards.
c. Both the upper and lower horizontal referral/case ID strings on the sticker need to be moved about 2 mm to the left, in order to lie centered in relation to the added short line near the bottom of the sticker (the line lies about 1 mm above the referral/case ID string on the bottom of the sticker, so the former does not need to be moved downwards). - A fixed number of biopsy forms for each case ID should be created. The default number of forms to create is 2.
comment:58 by , 7 years ago
(In [4809]) Refs #1029. Referral form generator updated for new form versions. Barcode and text on sticker labels updated, in order to make room for a manually added date entry near the bottom of the sticker:
- Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/based/meludi/servlet/
updated:
a. Private methodPdfUtil createBarcodeStickerForm(DbControl dc, PdfUtil pdfUtil, File pdfFile, String caseId, String formTemplateName, List<String> formTemplateFileList)
updated to move sticker barcode and text upwards, to make room for a manual date entry. Also, referral/case name at upper short side of sticker labels moved upwards, to leave more padding to the new position of vertical text. Both upper and lower referral/case name at short side of sticker labels moved to the left, in order to lie centered in relation to the added short line near the bottom of the sticker.
comment:59 by , 7 years ago
(In [4810]) Refs #1029. Referral form generator updated to create a fixed number of biopsy forms for each case ID. The default number of forms to create is 2.
- Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/based/meludi/servlet/
updated:
a. New private static final constantint NUM_BIOPSY_FORMS_DEFAULT
defined, and set equal to2
.
b. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "GenerateReferralForms
" to create a fixed number of biopsy forms for each case ID. The default number of forms to create is initially equal to value of constantNUM_BIOPSY_FORMS_DEFAULT
.
comment:60 by , 7 years ago
(In [4811]) Refs #1029. Consent registration updated when creating a new case item to check if the hospital site should be obtained from a site prefix in the case name, in which case the site annotation for the created case item will be set to this value:
- Java servlet class/file
ConsentFormServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doPost(HttpServletRequest req, HttpServletResponse resp)
updated for command "RegisterConsent
" when creating a new case item to check if the hospital site should be obtained from a site prefix in the case name, in which case the site annotation for the created case item will be set to this value.
comment:61 by , 7 years ago
(In [4812]) Refs #1029. Updates due to version number change to "1.6.0a3
".
- Version number changed to "
1.6.0a3
":
a. Outermost Ant XML build filebuild.xml
in/
updated.
b. Extensions XML configuration fileextensions.xml
inMETA-INF/
updated.
c. Javascript filemeludi-2.js
inresources/
updated.
d. Javascript filemeludi_quarter_month_report_generator.js
inresources/reports/
updated.
e. Javascript filesamplereportgenerator.js
inresources/reports/
updated.
f. Java class/fileMeludi.java
insrc/net/sf/basedb/meludi/
updated.
comment:62 by , 7 years ago
(In [4813]) Refs #1029. Updates due to version number change to "1.6.0-dev
".
- Version number changed to "
1.6.0-dev
":
a. Outermost Ant XML build filebuild.xml
in/
updated.
b. Extensions XML configuration fileextensions.xml
inMETA-INF/
updated.
c. Javascript filemeludi-2.js
inresources/
updated.
d. Javascript filemeludi_quarter_month_report_generator.js
inresources/reports/
updated.
e. Javascript filesamplereportgenerator.js
inresources/reports/
updated.
f. Java class/fileMeludi.java
insrc/net/sf/basedb/meludi/
updated.
comment:63 by , 7 years ago
(In [4822]) Refs #1029. MeLuDI updated with new configuration variables blood-box-prefix
and blood-box-num-digits
, specifying a prefix for blood storage boxes and number of digits in the serial number part of the name.
- MeLuDI configuration XML file template
meludi-config.xml
inconfig/
updated in XML block<projects>
with new XML tags<blood-box-prefix>
and<blood-box-num-digits>
. - Java class/file
Meludi.java
insrc/net/sf/based/meludi/
updated with new public static methodsString fetchBloodBoxPrefix(int activeProjectId)
andInteger fetchBloodBoxNumDigits(int activeProjectId)
. They call private static methodsProjectConfig fetchProjectConfig(int activeProjectId)
to obtain aProjectConfig
object, from which the desired configuration values are returned. - Java class/file
MeludiConfiguration
insrc/net/sf/based/meludi/
updated in private methodvoid fetchConfiguration()
to obtain new configuration values "blood-box-prefix
" and "blood-box-num-digits
" for each project from themeludi-config.xml
configuration file, and store the values in new instance variables inProjectConfig
objects for the projects. - Java data access object class/file
ProjectConfig.java
insrc/net/sf/based/meludi/dao/
updated with new private instance variables and corresponding public accessor methods for new configuration values. - Java servlet class/file
SessionServlet.java
insrc/net/sf/based/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for command "GetConfiguration
" to store new configuration values for flags indicating use of referral creation and site specific referral templates for active project in returned JSONObject for JSON keys "bloodBoxPrefix
" and "bloodBoxNumDigits
", respectively.
comment:64 by , 7 years ago
Design discussion - Icon links to case summary from BASE pages:
- In change set [4788] case summary for active project SCAN-B-rec was updated to use its own set of JSP and Javascript files, to allow for project specific changes. This was accomplished by letting JSP file
index.jsp
inresources/
select either JSP filecase_summary.jsp
orcase_summary_alt_rec.jsp
as the button target for the case summary input field, depending on whether the active project differed from "SCAN-B-rec" or not (this solution might be changed in the future for one using configuration settings). However, the icon link to case summary in some BASE tables and property tabs, currently link to the originalcase_summary.jsp
JSP file. This should be updated to also select the proper case summary version, depending on the project name.
The following files are instrumental in making case summary accessible via icon link in column in BASE sample lists, or in tool bar in sample property tabs:
resources/reports/case_summary_hook.jsp resources/scripts/case-summary.js src/net/sf/basedb/meludi/extensions/CaseSummaryButtonFactory.java src/net/sf/basedb/meludi/extensions/CaseSummarySectionFactory.java src/net/sf/basedb/meludi/extensions/MeludiListColumnsFactory.java
- File
src/net/sf/basedb/meludi/extensions/MeludiListColumnsFactory.java
controls the case summary icon link in a column in BASE sample lists.
- Files
src/net/sf/basedb/meludi/extensions/CaseSummaryButtonFactory.java
andresources/scripts/case-summary.js
control the case summary icon link in tool bar in sample property tabs. The first sets values of named parameters, that are used by the second, that selects the case summary JSP file. By updating the extension to set the name of the active project to a new parameter, scriptcase-summary.js
can access this and select the case summary version depending on the project name.
- File
resources/reports/case_summary_hook.jsp
controls the case summary link in sample overview tabs.
comment:65 by , 7 years ago
(In [4827]) Refs #1029. MeLuDI updated in case summary icon link in a column in BASE sample lists to open special version of case summary, if active project is SCAN-B-rec:
- Java extension class/file
MeludiListColumnsFactory.java
insrc/net/sf/basedb/meludi/extensions/
updated in public methodString getValue(DbControl dc, BioMaterial bm)
to give link to JSP filecase_summary_alt_rec.jsp
inresources/reports/
, if active project is SCAN-B-rec.
comment:66 by , 7 years ago
(In [4828]) Refs #1029. MeLuDI updated in case summary icon link in tool bar in BASE sample property tabs to open special version of case summary, if active project is SCAN-B-rec:
- Java extension class/file
CaseSummaryButtonFactory.java
insrc/net/sf/basedb/meludi/extensions/
updated in public methodButtonAction[] getActions(InvokationContext context)
to set value of new parameter "data-project-name" to name of active project. - Javascript file
case-summary.js
inresources/scripts/
updated in functionshowCaseSummary(event)
to obtain name of active project from value of parameter "data-project-name" (addressed as "project-name"), and give link to JSP filecase_summary_alt_rec.jsp
inresources/reports/
, if active project is SCAN-B-rec.
comment:67 by , 7 years ago
(In [4829]) Refs #1029. MeLuDI updated to present correct project-specific info in hover text for case name input field for case summary in outermost JSP page. This functionality previously existed, but was broken for projects other than SCAN-B-rec, when support for a special case summary JSP file was added, when the latter project was active:
- Javascript file
index.js
inresources/
updated in functiononConfiguration(request)
to obtain name of active project from configuration information, and modify the hover text of correct case name input field. - Java class/file
Meludi.java
insrc/net/sf/based/meludi/
updated with new public static methodString fetchActiveProjectName(int activeProjectId)
. It calls private static methodString fetchProjectName(int activeProjectId)
to obtain the name of the active project, which is then returned. - Java servlet class/file
SessionServlet.java
insrc/net/sf/based/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for command "GetConfiguration
" to store name of active project in returned JSONObject for JSON key "name
".
comment:68 by , 7 years ago
(In [4830]) Refs #1029. MeLuDI updated in case summary link in BASE sample overview tabs to open special version of case summary, if active project is SCAN-B-rec. The case summary information will open in the same pane as the original link:
- JSP file
case_summary_hook.jsp
inresources/reports/
updated to have case summary link coupled to JSP filecase_summary_alt_rec.jsp
instead ofcase_summary.jsp
, when active project is SCAN-B-rec. - Javascript file
case_summary.js
inresources/reports/
updated to check ifDoc.element('caseName')
differs fromnull
, before referencing it. - Javascript file
case_summary_alt_rec.js
inresources/reports/
updated to check ifDoc.element('caseName')
differs fromnull
, before referencing it.
comment:69 by , 7 years ago
(In [4831]) Refs #1029. Case summary for active project SCAN-B-rec updated to find blood info and what information is reported on blood items:
- JSP file
case_summary_alt_rec.jsp
inresources/reports/
updated in data section for blood by adding row for storage box information. - Javascript file
case_summary_alt_rec.js
inresources/reports/
updated in functioncaseInfoLoaded(response)
by adding blood storage box info. - Data access object file
Blood.java
insrc/net/sf/basedb/meludi/dao/
updated:
a. Public static methodList<Blood> findAllByCaseName(DbControl dc, String name)
updated to not restrict the length of the input case name, before using it in a database query for related blood items.
b. Protected methodvoid initJSON(JSONObject json)
and public methodJSONObject loadBioPlateLocation()
added, in order to obtain storage box info for a blood item. - Java servlet class/file
CaseSummaryServlet.java
insrc/net/sf/based/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "GetCaseInfo
" to call public static methodList<Blood> findAllByCaseName(DbControl dc, String name)
in data access object classBlood
to obtain information on blood items related to the case item.
b. Private methodvoid loadBloodInfo(DbControl dc, Blood blood)
updated to call public methodJSONObject loadBioPlateLocation()
in data access object classBlood
to obtain storage box information on the blood item. Also obtaining value of sampling date annotation.
comment:70 by , 7 years ago
Base-line registration wizard - Functional specification:
- The Base-line registration wizard should be placed in the section for "Personal information wizards", as patient information and PAD numbers will be used. The wizard will be based on the personal registration wizard, with the following modifications:
a. Instead of specimen tubes, a number of tubes with whole blood (default 2) will be expected, with arrival and sampling dates to be stored with it.
b. The tubes will be assigned locations in a blood box.
c. The created blood items will inherit the consent of the case item.
d. Two check boxes for existing CTC (circulating tumor cells) and ctDNA (circulating tumor DNA) will be present. At the time of writing, it has not been decided if the annotations for these Boolean variables should be connected to the case item or the blood items, or both.
e. A check box indicating that a referral for FFPE sections will be created.
f. A PAD input field for the FFPE referral should exist, pre-filled with the value of the PAD pre-entry annotation for the case, if existing.
comment:71 by , 7 years ago
(In [4832]) Refs #1029. First version of the Base-line registration wizard, based on the personal registration wizard. Currently no annotations are created for the CTC/ctDNA values, and no FFPE referral form is created:
- JSP file
index.jsp
inresources/
updated:
a. Section "Personal information wizards" in sub-section "Case & consent registration" updated with new entry "Base-line registration" with link to new JSP filebaseline_alt_rec.jsp
when active project is SCAN-B-rec.
b. Section "Sample processing wizards" updated in sub-section "Case registration" by exchanging wizard links with information text referring to the personal registration wizards. - New JSP file
baseline_alt_rec.jsp
inresources/personal/
added. It is linked to new javascript filebaseline_alt_rec.js
inresources/personal/
. - New javascript file
baseline_alt_rec.js
inresources/personal/
added. It callsBaseLineRegistrationServlet
. - New java servlet class/file
BaseLineRegistrationServlet.java
insrc/net/sf/basedb/meludi/servlet/
added. It is based onPersonalRegistrationServlet.java
. - XML configuration file
servlets.xml
inMETA-INF
updated by adding new java servlet classBaseLineRegistrationServlet
to the servlet list.
comment:72 by , 7 years ago
(In [4833]) Refs #1029. Base-line registration wizard updated to create FFPE referral form at registration:
- Javascript file
baseline_alt_rec.js
inresources/personal/
updated:
a. Functionsubmit()
updated by placing most of the code in new functionsubmit2()
. If check box for FFPE referral is checked,ReferralGeneratorServlet
is called with command "GenerateFfpeReferralForm
" with start case name set equal to current case name, number of form sets set equal to 1, PAD number equal to value in "PAD" input field, and callback function tosubmit2()
, otherwise functionsubmit2()
is called directly.
b. New functionsubmit2()
added, containing bulk of the code previously in functionsubmit()
. - Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated:
a. New private static final constantString REF_FORM_TEMPLATE_FFPE_REFERRAL
set equal to "ffpe-referral
".
b. New private static final constantString TEMPLATE_FILENAME_START_FFPE_REFERRAL
set equal to "SCAN-B-rec_FFPE
".
c. Private methodvoid initializeRefFormTemplNameStartHashMap()
updated to updated hash maprefFormTemplNameStartHM
with keyREF_FORM_TEMPLATE_FFPE_REFERRAL
and valueTEMPLATE_FILENAME_START_FFPE_REFERRAL
.
d. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated with new command "GenerateFfpeReferralForm
". It calls new private methodPdfUtil createFfpeForm(DbControl dc, PdfUtil pdfUtil, String caseId, String pad, List<String> formTemplateFileList)
.
e. New private methodPdfUtil createFfpeForm(DbControl dc, PdfUtil pdfUtil, String caseId, String pad, List<String> formTemplateFileList)
added. It calls new private methodPdfUtil createFfpeForm(DbControl dc, PdfUtil pdfUtil, File pdfFile, String caseId, String pad, List<String> formTemplateFileList)
.
f. New private methodPdfUtil createFfpeForm(DbControl dc, PdfUtil pdfUtil, File pdfFile, String caseId, String pad, List<String> formTemplateFileList)
. It is based on private methodPdfUtil createBarcodeNonStickerForm(DbControl dc, PdfUtil pdfUtil, File pdfFile, String caseId, List<String> formTemplateFileList)
, but also adds the chosen PAD number under the case number bar code and text.
comment:73 by , 7 years ago
(In [4834]) Refs #1029. Updates due to version number change to "1.6.0a4
".
- Version number changed to "
1.6.0a4
":
a. Outermost Ant XML build filebuild.xml
in/
updated.
b. Extensions XML configuration fileextensions.xml
inMETA-INF/
updated.
c. Javascript filemeludi-2.js
inresources/
updated.
d. Javascript filemeludi_quarter_month_report_generator.js
inresources/reports/
updated.
e. Javascript filesamplereportgenerator.js
inresources/reports/
updated.
f. Java class/fileMeludi.java
insrc/net/sf/basedb/meludi/
updated.
comment:74 by , 7 years ago
(In [4835]) Refs #1029. Updates due to version number change to "1.6.0-dev
".
- Version number changed to "
1.6.0-dev
":
a. Outermost Ant XML build filebuild.xml
in/
updated.
b. Extensions XML configuration fileextensions.xml
inMETA-INF/
updated.
c. Javascript filemeludi-2.js
inresources/
updated.
d. Javascript filemeludi_quarter_month_report_generator.js
inresources/reports/
updated.
e. Javascript filesamplereportgenerator.js
inresources/reports/
updated.
f. Java class/fileMeludi.java
insrc/net/sf/basedb/meludi/
updated.
comment:75 by , 7 years ago
(In [4836]) Refs #1029. Base-line registration wizard updated with bug-fix to set correct default values for number of tubes and PAD also when the case item has no specimens:
- Javascript file
baseline_alt_rec.js
inresources/personal/
updated in functioninitializeStep3()
to set correct default values for number of tubes and PAD also when the case item has no specimens.
comment:76 by , 7 years ago
(In [4837]) Refs #1029. Updates due to version number change to "1.6.0a5
".
- Version number changed to "
1.6.0a5
":
a. Outermost Ant XML build filebuild.xml
in/
updated.
b. Extensions XML configuration fileextensions.xml
inMETA-INF/
updated.
c. Javascript filemeludi-2.js
inresources/
updated.
d. Javascript filemeludi_quarter_month_report_generator.js
inresources/reports/
updated.
e. Javascript filesamplereportgenerator.js
inresources/reports/
updated.
f. Java class/fileMeludi.java
insrc/net/sf/basedb/meludi/
updated.
comment:77 by , 7 years ago
(In [4838]) Refs #1029. Updates due to version number change to "1.6.0-dev
".
- Version number changed to "
1.6.0-dev
":
a. Outermost Ant XML build filebuild.xml
in/
updated.
b. Extensions XML configuration fileextensions.xml
inMETA-INF/
updated.
c. Javascript filemeludi-2.js
inresources/
updated.
d. Javascript filemeludi_quarter_month_report_generator.js
inresources/reports/
updated.
e. Javascript filesamplereportgenerator.js
inresources/reports/
updated.
f. Java class/fileMeludi.java
insrc/net/sf/basedb/meludi/
updated.
comment:78 by , 7 years ago
Design update:
- At SCAN-B-rec/MeLuDI meeting 2018-06-07 a number of decisions were made, that affect the MeLuDI software. In order to simplify access to other researchers in the future, without revealing the original patient/sample keys, it was decided to try a new item identification model in the LIMS system:
- The current referral ID, "Studielöpnummer" ("Study serial number") will be printed on the referrals, and entered in the consent registration wizard, but the created case ID will be created independently. The latter will not have a site ID as part of the name. New configuration variables for the referral ID prefix and number of digits will be needed, but the values will be set the current ones for the case item, while the case name prefix and number of digits will be modified (keeping the case item configuration variables is preferable from a programming view, since the latter are referenced at several places in the existing code).
- The consent registration wizard will now include personal number, family name, and all first names of the patient. The patient item will be registered in this wizard, instead of in the baseline registration wizard.
- Since the case name now can be different from the referral ID, the former will have to keep track of the latter. Access to the referral ID for a case should be coupled to a more restrictive user role, e.g. patient curator.
- Since the case name now won't include a site prefix, while the case item still contains a site annotation, the latter might also have to be coupled to a more restrictive user role, e.g. patient curator.
- Not directly related to the non-disclosure of the patient/sample keys, it has been discussed that samples of different types, e.g. specimen and blood, should differ in names by a prefix, instead of the current practice of a suffix to the case name (".1", ".2", etc. for specimen; ".b", ".b2", etc. for blood). The reason this is that it would simplify communication between researchers, according the type of sample was discussed. The specimen can still be identified by a suffix to the case name, while blood samples will have a new prefix (and number series).
comment:79 by , 7 years ago
(In [4839]) Refs #1029. MeLuDI updated with new configuration variables referral-prefix
and referral-num-digits
, specifying a prefix for referral ID and number of digits in the serial number part of the name.
- MeLuDI configuration XML file template
meludi-config.xml
inconfig/
updated in XML block<projects>
with new XML tags<referral-prefix>
and<referral-num-digits>
. - Java class/file
Meludi.java
insrc/net/sf/based/meludi/
updated with new public static methodsString fetchReferralPrefix(int activeProjectId)
andInteger fetchReferralNumDigits(int activeProjectId)
. They call private static methodsProjectConfig fetchProjectConfig(int activeProjectId)
to obtain aProjectConfig
object, from which the desired configuration values are returned. - Java class/file
MeludiConfiguration
insrc/net/sf/based/meludi/
updated in private methodvoid fetchConfiguration()
to obtain new configuration values "referral-prefix
" and "referral-num-digits
" for each project from themeludi-config.xml
configuration file, and store the values in new instance variables inProjectConfig
objects for the projects. - Java data access object class/file
ProjectConfig.java
insrc/net/sf/based/meludi/dao/
updated with new private instance variables and corresponding public accessor methods for new configuration values. - Java servlet class/file
SessionServlet.java
insrc/net/sf/based/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for command "GetConfiguration
" to store new configuration values for referral prefix and number of digits for active project in returned JSONObject for JSON keys "referralPrefix
" and "referralNumDigits
", respectively.
comment:80 by , 7 years ago
(In [4840]) Refs #1029. Support for a referral ID coupled to case item added. The new annotation allows the case item to have a name unrelated to the referral ID:
- Data access object file
Annotationtype.java
insrc/net/sf/basedb/meludi/dao/
updated:
a. New annotation typeREFERRAL_ID
added. It is of type String and is a Sample (Case) annotation. - Java servlet class/file
InstallServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for commands "Validate
" and "Install
" to add check for new annotation typeAnnotationtype.REFERRAL_ID
and adding this in check for annotation type category forSubtype.CASE
. The new annotation will be coupled to the Patient Curator role.
comment:81 by , 7 years ago
(In [4841]) Refs #1029. Case summary for active project SCAN-B-rec updated by adding a data row for a referral ID annotation for Case items:
- JSP file
case_summary_alt_rec.jsp
inresources/reports/
updated by adding a new data row for a referral ID in the Case section. The new entry is considered confidential, and requires Patient Curator or Administrator role to be shown. - Javascript file
case_summary_alt_rec.js
inresources/reports/
updated in functioncaseInfoLoaded(response)
to add value for JSON key "referralId
" to the data row for this Case annotation. - Java servlet class/file
CaseSummaryServlet.java
insrc/net/sf/based/meludi/servlet/
updated in private methodvoid loadCaseInfo(DbControl dc, Case theCase)
by loading annotationAnnotationtype.REFERRAL_ID
and couple the value to JSON key "referralId
".
comment:82 by , 7 years ago
(In [4842]) Refs #1029. Case summary updated in the Case section to place data row for hospital site below row for consent, and for active project equal to SCAN-B-rec to regard the information as confidential, requiring Patient Curator role to inspect it:
- JSP file
case_summary.jsp
inresources/reports/
to place data row for hospital site below row for consent. - JSP file
case_summary_alt_rec.jsp
inresources/reports/
to place data row for hospital site below row for consent, and to regard the information as confidential, requiring Patient Curator role to inspect it.
comment:83 by , 7 years ago
(In [4860]) Refs #1029. Consent registration for active project SCAN-B-rec updated to use independent referral ID and case name, and to support simultaneous registration of patient data:
- JSP file
consentform_alt_rec.jsp
inresources/personal/
updated:
a. Step 1 updated to expect input of a referral ID.
b. Step 2 updated with fields for corresponding case name and personal number, as well as calendar link for entering consent data.
c. New step 3 will allow input of patient data. - Javascript file
consentform_alt_rec.js
inresources/personal/
updated:
a. FunctioninitPage()
updated with event handlers for new input fields and wizard steps.
b. FunctiononConfiguration(request)
updated to call servletConsentFormServlet
instead ofLabelGenerationServlet
with command "CountCases
".
c. FunctioncaseInfoLoadedStep1(response)
updated to expect input of referral ID separate from case name.
d. FunctionvalidateStep1(event)
updated to check valid input of referral ID instead of case name.
e. New functionreferralIdOnChange()
added. It checks that input referral ID is valid, after it calls servletConsentFormServlet
with command "GetCaseInfo
".
f. FunctioninitializeStep2(event)
updated to send referral ID with call of servletConsentFormServlet
with command "GetCaseInfo
".
g. FunctioncaseInfoLoaded(response)
updated to get case name from response instead of input field, and to add case and patient data into input fields, if the former are obtained from the response.
h. New functionpersonalNumberOnChange()
added. It checks and processes the input personal number.
i. New functioninitializeStep3(event)
added. It calls servletConsentFormServlet
with command "GetPatientInfo
".
j. New functionpatientInfoLoaded(response)
added. It enters obtained patient data into input fields.
k. New functionnameOnChange(event)
added.
l. New functionvalidateStep3(event)
added.
m. Functionsubmit()
updated to obtain referral ID and patient data and transfer those when calling servletConsentFormServlet
with command "RegisterConsent
". - Data access object file
Case.java
insrc/net/sf/basedb/meludi/dao/
updated with new public static methodCase findByReferralId(DbControl dc, String referralId)
. - Java servlet class/file
ConsentFormServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated with command "CountCases
".
b. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated in command "GetCaseInfo
" to get case info from referral ID and to include patient info.
c. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated with command "GetPatientInfo
".
d. New private methodString fetchNewCaseName(DbControl dc)
added. It calls new private methodString fetchHighestCaseName(DbControl dc)
to get the current highest case name, after which it returns a new case name with incremented serial number.
e. New private methodString fetchHighestCaseName(DbControl dc)
added. It returns the highest case name for the active project.
f. Protected methodvoid doPost(HttpServletRequest req, HttpServletResponse resp)
updated for command "RegisterConsent
" to call new private methodBioSource getOrCreatePatient(DbControl dc, JSONObject jsonPat, JSONArray jsonMessages)
to obtain a new patient item, if needed. Also, a new case item is updated with the referral ID as annotation, and the hospital site value is set from the value of the latter.
g. New private methodBioSource getOrCreatePatient(DbControl dc, JSONObject jsonPat, JSONArray jsonMessages)
added. It creates a patient item from the given patient data.
comment:84 by , 7 years ago
(In [4861]) Refs #1029. Link to already existing label generation wizard re-activated:
- JSP file
index.jsp
inresources/
updated in section "Sample processing wizards" in sub-section "Case registration" with entry "Create label file for a number of new cases" with link to JSP filelabelgeneration.jsp
inresources/sampleproc/
.
comment:85 by , 7 years ago
(In [4862]) Refs #1029. Base-line registration wizard updated to obtain info on blood samples:
- Java servlet class/file
BaseLineRegistrationServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "GetCaseInfo
" to obtain info on blood samples related to the case item, among other methods by calling new private methodvoid loadBloodInfo(DbControl dc, Blood blood)
.
b. New private methodvoid loadBloodInfo(DbControl dc, Blood blood)
added. It adds blood sample data as annotations to the blood item.
comment:86 by , 7 years ago
(In [4865]) Refs #1029. Referral generation updated for input of a referral ID instead of a case ID. Also, patient data is now entered in the generated FFPE referral form:
- JSP file
generate-referral-forms.jsp
inresources/personal/
updated in input text to refer to a referral ID instead of a case ID. Also change of a variable name, in order not to refer to the SCAN-B project. - Javascript file
generate-referral-forms.js
inresources/personal/
updated to to process the input referral ID using configurations for prefix and number of digits for referrals, instead of sample items. - Java class/file
Meludi.java
insrc/net/sf/basedb/meludi/
updated with new public static methodString fetchReferralDigits(String referralId, int activeProjectId)
. It obtains the digit part of a referral ID by removing the optional referral prefix. - Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/based/meludi/servlet/
updated. Note that in most cases, old variable names referring to a case ID has been retained, although the actual value is now a referral ID. This choice was made, in order to highlight the critical code changes; change of variable names might be performed at a later time:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for commands "UpdateUsedCaseIdDigitsList
", "GenerateReferralForms
", "GenerateFfpeReferralForm
", and "DownloadFormBatchFile
" for input of a referral ID instead of a case ID.
b. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "GenerateFfpeReferralForm
" to obtain patient data from patient related to case related to input referral ID, and transfer the patient data as arguments when calling updated private methodPdfUtil createFfpeForm(DbControl dc, PdfUtil pdfUtil, String caseId, String pad, String personalNumber, String familyName, String allFirstNames, List<String> formTemplateFileList)
.
c. Private methodvoid updateReferralFormLogFile(DbControl dc, String referralVariant, String startcaseIdDigits, int nofFormSets, List<String> formTemplateFileList)
updated to expect input of a referral ID instead of a case ID.
d. Private methodPdfUtil createFfpeForm(DbControl dc, PdfUtil pdfUtil, String caseId, String pad, String personalNumber, String familyName, String allFirstNames, List<String> formTemplateFileList)
updated with new arguments for patient data, and to expect input of a referral ID instead of a case ID, as well as to transfer the argument patient data to arguments in call of updated private methodprivate PdfUtil createFfpeForm(DbControl dc, PdfUtil pdfUtil, File pdfFile, String caseId, String pad, String personalNumber, String familyName, String allFirstNames, List<String> formTemplateFileList)
.
e. Private methodprivate PdfUtil createFfpeForm(DbControl dc, PdfUtil pdfUtil, File pdfFile, String caseId, String pad, String personalNumber, String familyName, String allFirstNames, List<String> formTemplateFileList)
updated with new arguments for patient data, and to expect input of a referral ID instead of a case ID. Also, personal number, family name, and all first names are printed in the upper right section of the created referral form.
f. Several other private methods updated to expect input of a referral ID instead of a case ID.
comment:87 by , 7 years ago
(In [4866]) Refs #1029. Referral generation updated for generation of FFPE referral form to print personal number with bold text, and with a hyphen "-" before the last four digits:
- Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/based/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "GenerateFfpeReferralForm
" to add a hyphen "-" before the last four digits in the personal number.
b. Private methodprivate PdfUtil createFfpeForm(DbControl dc, PdfUtil pdfUtil, File pdfFile, String caseId, String pad, String personalNumber, String familyName, String allFirstNames, List<String> formTemplateFileList)
updated to print personal number with bold text.
comment:88 by , 7 years ago
(In [4867]) Refs #1029. MeLuDI updated with new configuration variable blood-item-prefix
, specifying a specific prefix for a blood item (previously the sample item prefix was used also for the latter).
- MeLuDI configuration XML file template
meludi-config.xml
inconfig/
updated in XML block<projects>
with new XML tag<blood-item-prefix>
. - Java class/file
Meludi.java
insrc/net/sf/based/meludi/
updated with new public static methodString fetchBloodItemPrefix(int activeProjectId)
. It calls private static methodProjectConfig fetchProjectConfig(int activeProjectId)
to obtain aProjectConfig
object, from which the desired configuration value is returned. - Java class/file
MeludiConfiguration
insrc/net/sf/based/meludi/
updated in private methodvoid fetchConfiguration()
to obtain new configuration value "blood-item-prefix
" for each project from themeludi-config.xml
configuration file, and store the value in new instance variable inProjectConfig
objects for the projects. - Java data access object class/file
ProjectConfig.java
insrc/net/sf/based/meludi/dao/
updated with new private instance variable and corresponding public accessor methods for the new configuration value. - Java servlet class/file
SessionServlet.java
insrc/net/sf/based/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for command "GetConfiguration
" to store new configuration value for blood item prefix for active project in returned JSONObject for JSON key "bloodItemPrefix
".
comment:89 by , 7 years ago
(In [4868]) Refs #1029. Data access object file Blood.java
updated in case-related methods to replace sample item prefix with blood item prefix before performing database search:
- Data access object file
Blood.java
insrc/net/sf/basedb/meludi/dao/
updated:
a. Public static methodBlood findByCaseName(DbControl dc, String name, boolean useBloodSampleAnnotation)
updated to replace sample item prefix with blood item prefix before performing database search.
b. Public static methodList<Blood> findAllByCaseName(DbControl dc, String name)
updated to replace sample item prefix with blood item prefix before performing database search.
comment:90 by , 7 years ago
(In [4869]) Refs #1029. Label generation updated to optionally create labels for blood tubes:
- JSP file
labelgeneration.jsp
inresources/sampleproc/
updated by adding a menu for tube content type, with options "Specimen" or "Blood". The default option is "Specimen". - Javascript file
labelgeneration.js
inresources/sampleproc/
updated in functiondoExport(preview)
to add value for tube content type selection in the data set sent to servletLabelGenerationServlet
with command "GetLabelFile
". - Java servlet class/file
LabelGenerationServlet.java
insrc/net/sf/based/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "CountCases
" by adding value of blood item prefix for JSON key "bloodItemPrefix
".
b. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "GetLabelFile
" by checking value of parameter "tubeContentType
", and if it equals "Blood" exchange sample item prefix for blood item prefix, and add suffix ".b
" for sample tubes (not printing digit "1" for the first tube) for the text on the labels.
comment:91 by , 7 years ago
(In [4870]) Refs #1029. Base-line registration wizard updated by removing patient registration (now performed during consent registration) and using new name prefix for blood samples:
- JSP file
baseline_alt_rec.jsp
inresources/personal/
updated by removing fields for patient registration. - Javascript file
baseline_alt_rec.js
inresources/personal/
updated:
a. New global variablebloodItemPrefix
added.
b. FunctioninitPage()
updated by removing references to the removed patient registration step.
c. FunctiononConfiguration(request)
updated by setting values of global variables for sample itme prefix, sample item number of digits, and blood item prefix. Call ofLabelGenerationServlet
exchanged for call of functioncaseNameOnChange()
.
d. FunctioncaseInfoLoadedStep1(response)
updated to set value of blood item prefix from response, in case this function should be used again.
e. FunctiononCaseInfoLoaded(response)
updated by commenting out code related to hospital site and personal number.
f. FunctionvalidateStep1(event)
updated by removing references to personal number.
g. FunctioninitializeStep3()
renamedinitializeStep2()
and commenting out code related to patient info.
h. FunctionvalidateStep3(event)
renamedvalidateStep2(event)
.
i. FunctioninitializeStep4(event)
renamedinitializeStep3(event)
.
j. FunctionfetchTubeName(tubeContentType, caseInfo, tubeIndex)
updated when tube content type is blood to exchange sample item prefix for blood item prefix in the tube name.
k. Functionsubmit()
updated to use referral ID when callingReferralGeneratorServlet
to create an FFPE referral form, and to skip patient info. - Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "GetCaseInfo
" to add referral ID for case from annotation value.
b. Protected methodvoid doPost(HttpServletRequest req, HttpServletResponse resp)
updated for command "CreateCase
" to create link to existing patient item.
c. Protected methodvoid doPost(HttpServletRequest req, HttpServletResponse resp)
updated for command "UpdateCase
" to create link to patient item related to case.
comment:92 by , 7 years ago
(In [4871]) Refs #1029. Referral generation updated for generation of FFPE referral form to print patient names with bold text, and to place them closer to the printed line on the referral template. Also, in order to fit new header locations on the updated referral template, the personal number and referral ID with bar code are moved downwards:
- Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/based/meludi/servlet/
updated:
a. Private methodprivate PdfUtil createFfpeForm(DbControl dc, PdfUtil pdfUtil, File pdfFile, String caseId, String pad, String personalNumber, String familyName, String allFirstNames, List<String> formTemplateFileList)
updated to print patient names with bold text, and to place them closer to the printed line on the referral template. Also, in order to fit new header locations on the updated referral template, the personal number and referral ID with bar code are moved downwards.
comment:93 by , 7 years ago
(In [4872]) Refs #1029. Updates due to version number change to "1.6.0a6
".
- Version number changed to "
1.6.0a6
":
a. Outermost Ant XML build filebuild.xml
in/
updated.
b. Extensions XML configuration fileextensions.xml
inMETA-INF/
updated.
c. Javascript filemeludi-2.js
inresources/
updated.
d. Javascript filemeludi_quarter_month_report_generator.js
inresources/reports/
updated.
e. Javascript filesamplereportgenerator.js
inresources/reports/
updated.
f. Java class/fileMeludi.java
insrc/net/sf/basedb/meludi/
updated.
comment:94 by , 7 years ago
Design update:
- A number of modifications of the MeLuDI software has been decided at SCAN-B-rec/MeLuDI meeting 2018-06-26:
- The wizard for referral form generation should be placed first in the section for "Personal information wizards", since it is normally the first to be used.
- Referral form generation should be extended to create multi-paged PDF forms with patient information. The printing should normally be double-sided on as many standard paper sheets as is necessary.
a. If the number of pages in the form is odd, an extra blank page will be added at the end of each form, to make sure that no sheet contains pages belonging to forms for different patients.
b. To allow automatic stapling of sheets belonging to a single patients, these forms should be stored in a separate PDF file, and not included in the PDF file for generated consent forms, that is also to be printed on standard paper. - Blood item names should not have suffix "b", when a unique prefix is used to identify the sample as a blood sample.
a. Since this configuration might differ between different projects, suffix "b" should only be omitted, when the blood and sample item prefixes differ.
b. By convention, the first blood sample name previously only had suffix ".b" with an implicit "1" at the end (following blood sample names have suffixes ".b2", ".b3", etc.). If suffix "b" should be omitted, the first blood sample should have suffix ".1", i.e. the previously implicit "1" should now be shown. - Consent registration should be updated with a checkbox for "Diagnosis confirmed".
comment:95 by , 7 years ago
(In [4873]) Refs #1029. Section "Personal information wizards" updated by placing the wizard for referral form generation first, since it is normally the first to be used:
- JSP file
index.jsp
inresources/
updated in section "Personal information wizards" by placing the wizard for referral form generation first.
comment:96 by , 7 years ago
(In [4874]) Refs #1029. Updates due to version number change to "1.6.0-dev
".
- Version number changed to "
1.6.0-dev
":
a. Outermost Ant XML build filebuild.xml
in/
updated.
b. Extensions XML configuration fileextensions.xml
inMETA-INF/
updated.
c. Javascript filemeludi-2.js
inresources/
updated.
d. Javascript filemeludi_quarter_month_report_generator.js
inresources/reports/
updated.
e. Javascript filesamplereportgenerator.js
inresources/reports/
updated.
f. Java class/fileMeludi.java
insrc/net/sf/basedb/meludi/
updated.
comment:97 by , 7 years ago
(In [4875]) Refs #1029. MeLuDI updated with public convenience method to check if configuration values for blood and sample item prefixes differ:
- Java class/file
Meludi.java
insrc/net/sf/based/meludi/
updated with new public static methodboolean bloodAndSampleItemPrefixesDiffer(int activeProjectId)
. It obtains the blood and sample item prefixes from the configuration, and checks if they differ. For this comparison, anull
value for a prefix is considered equal to an empty string.
comment:98 by , 7 years ago
(In [4876]) Refs #1029. Label generation updated to use same suffix for blood and sample item names, if blood and sample item prefixes differ:
- Java servlet class/file
LabelGenerationServlet.java
insrc/net/sf/based/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for command "GetLabelFile
" by using same suffix for blood and sample item names, if blood and sample item prefixes differ.
comment:99 by , 7 years ago
(In [4877]) Refs #1029. Data access object file Blood.java
updated by omitting "b
" in item name suffix, when performing a database search for blood samples. and blood and sample item prefixes differ:
- Data access object file
Blood.java
insrc/net/sf/basedb/meludi/dao/
updated in public static methodBlood findByCaseName(DbControl dc, String name, boolean useBloodSampleAnnotation)
by omitting "b
" in item name suffix, when performing a database search for blood samples. and blood and sample item prefixes differ.
comment:100 by , 7 years ago
(In [4878]) Refs #1029. Base-line registration wizard updated by omitting "b
" and showing otherwise implicit "1
" in item name suffix for blood samples, if blood and sample item prefixes differ:
- Javascript file
baseline_alt_rec.js
inresources/personal/
updated in functionfetchTubeName(tubeContentType, caseInfo, tubeIndex)
by omitting "b
" and showing otherwise implicit "1
" in item name suffix for blood samples, if blood and sample item prefixes differ.
comment:101 by , 7 years ago
(In [4879]) Refs #1029. Consent registration for active project SCAN-B-rec updated with checkbox for "Diagnosis confirmed", which value is stored in a new Boolean annotation for the Case item.
- JSP file
consentform_alt_rec.jsp
inresources/personal/
updated with new checkbox "Diagnosis confirmed" below consent details. Default is for the checkbox to not be checked. - Javascript file
consentform_alt_rec.js
inresources/personal/
updated in functionsubmit()
to obtain the value of checkbox "Diagnosis confirmed" from the form in JSP fileconsentform_alt_rec.jsp
and transfer it to servletConsentFormServlet
. - JSP file
case_summary_alt_rec.jsp
inresources/reports/
updated in case section with new data row for value of "Diagnosis confirmed" checkbox, below row for consent information. - Javascript file
case_summary_alt_rec.js
inresources/reports/
updated in functioncaseInfoLoaded(response)
to enter the value for the "Diagnosis confirmed" checkbox obtained for the case from servletCaseSummaryServlet
and make it available for display in the case summary JSP page. - Java class/file
Annotationtype.java
insrc/net/sf/basedb/meludi/dao/
updated with new public static finalAnnotationtype.DIAGNOSIS_CONFIRMED
entry. It is a Boolean annotation for sample (Case) items. - Java class/file
InstallServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for commands "Validate
" and "Install
" to add check for new annotation typeAnnotationtype.DIAGNOSIS_CONFIRMED
. Also, the annotation type is added to annotation type category "Case
". - Java class/file
ConsentFormServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "GetCaseInfo
" to load annotation value forAnnotationtype.DIAGNOSIS_CONFIRMED
for the case item.
b. Protected methodvoid doPost(HttpServletRequest req, HttpServletResponse resp)
updated for command "RegisterConsent
" to obtain value of "Diagnosis confirmed" from form, and set annotation typeAnnotationtype.DIAGNOSIS_CONFIRMED
to that value for the case item. - Java servlet class/file
CaseSummaryServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in private methodvoid loadCaseInfo(DbControl dc, Case theCase)
to load value forAnnotationtype.DIAGNOSIS_CONFIRMED
and couple the value to JSON key "diagnosisConfirmed
".
comment:102 by , 7 years ago
Design update:
- As the result of discussions after the SCAN-B-rec/MeLuDI meeting 2018-06-26, further modifications to the item identification model in MeLuDI, that was started after the SCAN-B-rec/MeLuDI meeting 2018-06-07, were decided:
- The referral ID, "Studielöpnummer" ("Study serial number") that will be printed on the referrals, and entered in the consent registration wizard, will be independent of the case ID, that will be created independently. The latter will not have a site ID as part of the name.
- As previously, the patient ID will be independent of the referral and case ID values, but a link between a patient ID and the case ID will exist.
- A blood item will have an ID independent of the case ID, but a link between a blood item ID and the case ID will exist. The blood item ID will not include a dot.
- An FFPE block ("Kloss") item (new) will have an ID independent of the case ID, but a link between an FFPE block item ID and the case ID will exist. The FFPE block item ID will not include a dot.
- An FFPE section ("Snitt") from an FFPE block item will be identified by the FFPE block name plus a suffix (".1" for the first section, ".2" for the second, etc.).
- A DNA or RNA extract from a blood or FFPE section will be identified by the sample name plus extra suffix (".d" or ".r" for the first DNA or RNA extract, respectively, ".d2" or ".r2" for the second, etc.).
The decisions above strike at the core of previous MeLuDI naming conventions, but will hopefully avoid problems with the latter.
comment:103 by , 6 years ago
(In [4899]) Refs #1029. New string annotation type CASE_ID
added for samples, It will be used to specify a connection between blood or FFPE block items and a parent case item, even if the base name differs.
- Data access object file
Annotationtype.java
insrc/net/sf/basedb/meludi/dao/
updated:
a. New annotation typeCASE_ID
added. It is of type String and is a Sample annotation. - Data access object file
Blood.java
insrc/net/sf/basedb/meludi/dao/
updated:
a. Public static methodList<Blood> findAllByCaseName(DbControl dc, String name)
updated to call convenience methodboolean Meludi.bloodAndSampleItemPrefixesDiffer(int activeProjectId)
to determine if the old or new item name convention is used, and call either new private static methodList<Blood> findAllByCaseNameOldConvention(DbControl dc, String name)
or private static methodList<Blood> findAllByCaseNameNewConvention(DbControl dc, String name)
.
b. New private static methodList<Blood> findAllByCaseNameOldConvention(DbControl dc, String name)
added. It basically consists of code in old version of public static methodList<Blood> findAllByCaseName(DbControl dc, String name)
.
c. New private static methodList<Blood> findAllByCaseNameNewConvention(DbControl dc, String name)
added. It performs a database query for all blood items having value of new annotation typeCASE_ID
equal to the name of the current case item. - Java servlet class/file
InstallServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for commands "Validate
" and "Install
" to add checks for new annotation typeCASE_ID
. Also updated by including it in new annotation type category forSubtype.BLOOD
.
comment:104 by , 6 years ago
(In [4901]) Refs #1029. MeLuDI updated with new configuration variables blood-item-num-digits
, ffpe-block-item-prefix
, and ffpe-block-item-num-digits
, specifying number of digits in the serial part of the name for blood items, a prefix for FFPE block item ID and number of digits in the serial number part of the name for FFPE block items.
- MeLuDI configuration XML file template
meludi-config.xml
inconfig/
updated in XML block<projects>
with new XML tags<blood-item-num-digits>
,<ffpe-block-item-prefix>
and<ffpe-block-item-num-digits>
. - Java class/file
Meludi.java
insrc/net/sf/based/meludi/
updated with new public static methodsInteger fetchBloodItemNumDigits(int activeProjectId)
,String fetchFfpeBlockItemPrefix(int activeProjectId)
, andInteger fetchFfpeBlockItemNumDigits(int activeProjectId)
. They call private static methodsProjectConfig fetchProjectConfig(int activeProjectId)
to obtain aProjectConfig
object, from which the desired configuration values are returned. - Java class/file
MeludiConfiguration
insrc/net/sf/based/meludi/
updated in private methodvoid fetchConfiguration()
to obtain new configuration values "blood-item-num-digits
", "ffpe-block-item-prefix
", and "ffpe-block-item-num-digits
" for each project from themeludi-config.xml
configuration file, and store the values in new instance variables inProjectConfig
objects for the projects. - Java data access object class/file
ProjectConfig.java
insrc/net/sf/based/meludi/dao/
updated with new private instance variables and corresponding public accessor methods for new configuration values. - Java servlet class/file
SessionServlet.java
insrc/net/sf/based/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for command "GetConfiguration
" to store new configuration values for referral prefix and number of digits for active project in returned JSONObject for JSON keys "bloodItemNumDigits
", "ffpeBlockItemPrefix
", and "ffpeBlockItemNumDigits
", respectively.
comment:105 by , 6 years ago
(In [4903]) Refs #1029. Support for FFPE block items added:
- New data access object file
FfpeBlock.java
insrc/net/sf/basedb/meludi/dao/
added. - Data access object file
Subtype.java
insrc/net/sf/basedb/meludi/dao/
updated by adding new FFPE block relatedSubtype
itemFFPE_BLOCK
of typeItem.SAMPLE
. - Java servlet class/file
InstallServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for commands "Validate
" and "Install
" to add checks for new sub typeSubtype.FFPE_BLOCK
and corresponding annotation type category.
comment:106 by , 6 years ago
Design discussion:
- Allowing different prefixes and number of digits for FFPE block and blood items might complicate things, when obtaining the root digits in an item name. As an example, with FFPE block item prefix = "FB" plus number of items = 5 and blood item prefix = "BLD" plus number of items = 4, items named FB00124.1.d and BLD0023.d might be DNA extracts connected to the same case item. In the old MeLuDI naming scheme, the part of the name before the first dot would equal the case name. Care must be taken to minimize the risk of errors caused by code assuming that the lengths of prefixes and number of digits are equal for different subtypes.
comment:107 by , 6 years ago
(In [4904]) Refs #1029. MeLuDI updated in class Meludi
with new public static convenience methods for obtaining root names, root number of digits, prefixes, and number of digits for different subtypes. Also a method for obtaining the main subtype from the item name.
- Java class/file
Meludi.java
insrc/net/sf/based/meludi/
updated:
a. New public static methodfetchRootItemName(String itemName, Subtype subtype, int activeProjectId)
added. It obtains root item name by removing part of name after prefix + digit characters.
b. New public static methodString fetchRootDigits(String itemName, Subtype subtype, int activeProjectId)
added. It obtains root digits by removing item prefix and part of name after prefix + digit characters.
c. New public static methodString fetchItemPrefix(Subtype subtype, int activeProjectId)
added. It obtains item prefix for a subtype. Returnsnull
if no item prefix defined for the subtype.
d. New public static methodInteger fetchItemNumDigits(Subtype subtype, int activeProjectId)
added. It obtains item number of digits for a subtype. Returnsnull
if no item number of digits defined for the subtype.
e. New public static methodSubtype fetchMainSubtypeFromItemName(String itemName, int activeProjectId)
added. It obtains main subtype for an item from the item name. Returnsnull
if no main subtype can be found for the item name. The "main" subtype is the one corresponding to the item name prefix, while a suffix might indicate another subtype, e.g. for DNA the main subtype might beSubtype.CASE
and the item subtypeSubtype.EXTRACT
.
comment:108 by , 6 years ago
(In [4908]) Refs #1029. Referral form generation wizards and servlets updated in names of input fields, parameters, and variables to either reflect the current data types or be more generic (type "itemName"), in order not to be misleading in user interface or source code. For parameters and variables, generic names have often been preferred, if the values of the former are to be used as is, e.g. numbers and text strings:
- Javascript file
baseline_alt_rec.js
inresources/personal/
updated in functionssubmit()
anddownloadFormBatch(batchType)
to use generic variable and parameter names. - JSP file
generate-referral-forms.jsp
inresources/personal/
updated to use generic variable and parameter names. - Javascript file
generate-referral-forms.js
inresources/personal/
updated in several functions to use generic variable and parameter names. Some functions used to manage updated values for specific input fields have also been renamed, in order to reflect new names of the corresponding input fields. - Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated to use names of variables and parameters, that either reflect the current data types or are more generic.
comment:109 by , 6 years ago
(In [4909]) Refs #1029. Main page layout updated in section "Personal information wizards" to have sub-sections "Referral forms", "Case & consent registration", and "Sample compilation and registration" (new sub-section, but with existing wizard "BASE-line registration"), since this often (but not always) reflect the order in which the corresponding wizards are used for a specific case. Also, new referral form generation wizard for creating an FFPE section order form for a sequential number of FFPE block names:
- JSP file index.jsp in
resources/
updated:
a. Section "Personal information wizards" updated to have sub-sections "Referral forms", "Case & consent registration", and "Sample compilation and registration" (new sub-section, but with existing wizard "BASE-line registration"), since this often (but not always) reflect the order in which the corresponding wizards are used for a specific case.
b. Section "Personal information wizards" updated in sub-section "Referral forms" with new entry "FFPE section order form - sequential FFPE block names" with link to new JSP fileffpe_section_order_form_sequential.jsp
inresources/personal/
. - New JSP file
ffpe_section_order_form_sequential.jsp
inresources/personal/
added. It is linked to new javascript fileffpe_section_order_form_sequential.js
inresources/personal/
, and allows input of start FFPE block name and number of sequential block names to include in the FFPE block order form (a form allows entries for eight FFPE blocks). Curremtly it is assumed, that no more than eight FFPE block names are chosen. Note that this wizard expects FFPE block items to exist for the chosen names, as the PAD number to be added to the form for each FFPE block is obtained form thePAD
annotation for the latter. - Javascript file
ffpe_section_order_form_sequential.js
inresources/personal/
added. It calls servletReferralGeneratorServlet
with new command "GenerateFfpeSectionOrderForm
". - Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated:
a. New private static final constantsREF_FORM_TEMPLATE_FFPE_SECTION_ORDER_FORM
andTEMPLATE_FILENAME_START_FFPE_SECTION_ORDER_FORM
added.
b. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "UpdateUsedItemIdDigitsList
" to obtain number of items from parameter with correct name for FFPE block order form generation. However, it has currently not been decided, if the latter wizard should be allowed to update the used item list, since it relates to FFPE block names instead of referral names.
c. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated with new command "GenerateFfpeSectionOrderForm
". It creates a list of FFPE block names from parameter data, and then calls new private methodPdfUtil createFfpeSectionOrderForm(DbControl dc, PdfUtil pdfUtil, List<String> itemIdList, List<String> formTemplateFileList)
to create the order form.
d. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "DownloadFormBatchFile
" to obtain number of items from parameter with correct name for FFPE block order form generation. This is needed for the filename to reflect the number of items included in the form.
e. Private methodvoid initializeRefFormTemplNameStartHashMap()
updated to include FFPE section order forms in the hash map.
f. New methodPdfUtil createFfpeSectionOrderForm(DbControl dc, PdfUtil pdfUtil, List<String> itemIdList, List<String> formTemplateFileList)
added. It obtains the referral template file to use and then calls new private methodPdfUtil createFfpeSectionOrderForm(DbControl dc, PdfUtil pdfUtil, File pdfFile, List<String> itemIdList, List<String> formTemplateFileList)
.
g. New private methodPdfUtil createFfpeSectionOrderForm(DbControl dc, PdfUtil pdfUtil, File pdfFile, List<String> itemIdList, List<String> formTemplateFileList)
added. It creates the FFPE section order form for the given data.
comment:110 by , 6 years ago
(In [4910]) Refs #1029. FFPE section order form generation updated to create a new form page, when the current page is filled with entries:
- Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in private methodPdfUtil createFfpeSectionOrderForm(DbControl dc, PdfUtil pdfUtil, List<String> itemIdList, List<String> formTemplateFileList)
to create a new FFPE section order form page, when the current one is filled with entries. Private methodPdfUtil createFfpeSectionOrderForm(DbControl dc, PdfUtil pdfUtil, File pdfFile, List<String> itemIdList, List<String> formTemplateFileList)
is called the necessary number of times with a temporary list of FFPE block item names, that never contains more names than entries allowed on a single FFPE section order form page.
comment:111 by , 6 years ago
(In [4911]) Refs #1029. Main page layout updated in section "Personal information wizards", sub-section "Referral forms", by adding new wizard "FFPE block order form". The original creation of the FFPE block order form was part of the base-line registration wizard, but if the user missed to download the referral form PDF file, or has lost it, this wizard allows creation of a new FFPE block order form, without having to redo the base-line registration (the latter would require several items to be deleted before the registration could be performed again). This wizard allows the user to first select the hospital site, and then the complete referral ID. If one has a printout of a previous referral form, with the referral ID as bar code, one might prefer a wizard, where the latter could be input directly. Also note that this wizard expects a case item to exist for the chosen referral ID, as the patient data connected to the latter will be used on the referral form. Also, the default PAD number is the PAD pre-entry annotation for the case item.
- JSP file index.jsp in
resources/
updated in section "Personal information wizards", sub-section "Referral forms", by adding new wizard "FFPE block order form" with link to new JSP fileffpe_block_order_form.jsp
inresources/personal/
. - New JSP file
ffpe_block_order_form.jsp
inresources/personal/
added. It is linked to new javascript fileffpe_block_order_form.js
inresources/personal/
, and allows input of a referral ID and PAD value to be used on the form. - New javascript file
ffpe_block_order_form.js
inresources/personal/
added. It calls servletReferralGeneratorServlet
with existing command "GenerateFfpeReferralForm
" to generate a referral form. However, in order to obtain the PAD pre-entry valaue from the case item corresponding to the input referral ID, servletReferralGeneratorServlet
is called with new command "GetReferralCaseInfo
". - Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated with new command "GetReferralCaseInfo
". It obtains value of referral ID from parameter and calls new private methodJSONObject fetchReferralCaseInfo(DbControl dc, String referralId)
to obtain a JSON object containing the PAD pre-entry for the corresponding case item (if any).
b. New private methodJSONObject fetchReferralCaseInfo(DbControl dc, String referralId)
added. It returns a JSONObject containing the PAD pre-entry for the corresponding case item, ornull
, if no corresponding case item exists.
comment:112 by , 6 years ago
(In [4912]) Refs #1029. Case summary for active project SCAN-B-rec updated to find FFPE block info for the current case and report it below info on blood-related items. As for other items, PAD annotation values are treated as confidential, and requires PatientCurator
role to be displayed:
- JSP file
case_summary_alt_rec.jsp
inresources/reports/
updated by adding data section for FFPE block information. - Javascript file
case_summary_alt_rec.js
inresources/reports/
updated in functioncaseInfoLoaded(response)
by adding FFPE block info. - Java servlet class/file
CaseSummaryServlet.java
insrc/net/sf/based/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "GetCaseInfo
" to call public static methodList<FfpeBlock> findAllByCaseName(DbControl dc, String name)
in data access object classFfpeBlock
to obtain information on FFPE block items related to the case item.
b. New private methodvoid loadFfpeBlockInfo(DbControl dc, FfpeBlock ffpeBlock)
added. It loads FFPE block annotation values.
comment:113 by , 6 years ago
Design discussion regarding FFPE block items:
- An FFPE block item is a subtype of
Sample
, and as such has the possibility of having many types of annotation values, but only a few might be of use in most projects. Case summary currently reports values for name (item ID), registration date, consent, PAD (if user hasPatientCurator
role), sampling date, and other path note. Is e.g. "other path note" relevant? It was included because the latter is used for case items, and FFPE blocks are strongly coupled to the former. The list of supported values might need to be modified both by excluding unused data, and adding new data of interest.
comment:114 by , 6 years ago
Design update:
- Case Summary have previously allowed a personal number to be used as input, instead of a case name, if the user had
PatientCurator
role, which resulted in display of data for the first case item for the corresponding patient. With the new naming scheme, connections between items of different kinds might be more obscure than before. Case Summary for project SCAN-B-rec should therefore be updated to also allow input of patient ID, referral ID, blood item ID, or FFPE block item ID. In fact, any sample or extract ID should be allowed input, as removal of the suffix part should result in a blood and FFPE block item ID.
comment:115 by , 6 years ago
(In [4913]) Refs #1029. Case summary for active project SCAN-B-rec updated to allow input of personal number, patient ID, referral ID, blood item ID, or FFPE block item ID instead of case ID. Of these, input of personal number and referral ID will only work for users with PatientCurator
role. Input of any sample or extract ID will be stripped of the suffix part, and then treated as a blood or FFPE block item ID, depending on the prefix:
- Data access object file
Patient.java
insrc/net/sf/basedb/meludi/dao/
updated by adding new public static methodsPatient getById(DbControl dc, int patientId)
,List<Patient> toPatient(Collection<BioSource> biosources)
, andPatient findByName(DbControl dc, String name)
. - Java servlet class/file
CaseSummaryServlet.java
insrc/net/sf/based/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for command "GetCaseInfo
" to allow input of personal number, patient ID, referral ID, blood item ID, or FFPE block item ID instead of case ID. Of these, input of personal number and referral ID will only work for users withPatientCurator
role. Input of any sample or extract ID will be stripped of the suffix part, and then treated as a blood or FFPE block item ID, depending on the prefix.
comment:116 by , 6 years ago
(In [4914]) Refs #1029. In preparation for an FFPE section order form wizard allowing the user to select FFPE block items in non-sequential order, the servlet command for current version is renamed:
- Javascript file
ffpe_section_order_form_sequential.js
inresources/personal/
updated in functiongenerateReferralForms()
to callReferralGeneratorServlet
with command "GenerateFfpeSectionOrderFormSequential
" instead of "GenerateFfpeSectionOrderForm
". - Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
by renaming command "GenerateFfpeSectionOrderForm
" to "GenerateFfpeSectionOrderFormSequential
".
comment:117 by , 6 years ago
(In [4915]) Refs #1029. Main page layout updated in section "Personal information wizards", sub-section "Referral forms", by adding new wizard "FFPE section order form - selected FFPE blocks" with counter of total number of FFPE blocks after it. The new wizard differs from the previous "FFPE section order form - sequential FFPE block names" in that the new one allows the user to select more freely what FFPE block items to include in the FFPE section order form. The FFPE block names will still be in ascending order, but may have gaps in the number sequence.
- JSP file index.jsp in
resources/
updated in section "Personal information wizards", sub-section "Referral forms", by adding new wizard "FFPE section order form - selected FFPE blocks" with link to new JSP fileffpe_section_order_form.jsp
inresources/personal/
. - New JSP file
ffpe_section_order_form.jsp
inresources/personal/
added. It is linked to new javascript fileffpe_section_order_form.js
inresources/personal/
, and allows selection of what FFPE block items to include in the order form. - New javascript file
ffpe_section_order_form.js
inresources/personal/
added. It calls servletReferralGeneratorServlet
with new command "GenerateFfpeSectionOrderForm
" to generate an FFPE section form. A JSONArray of selected FFPE block item data is transferred as value of parameter "ffpeblocklist
". When servletReferralGeneratorServlet
is called with command "DownloadFormBatchFile
" in functiondownloadFormBatch(batchType)
, the end item name in the selected list of FFPE block items is transferred to the servlet as value of parameter "enditemname
". - Java servlet class/file
CounterService.java
insrc/net/sf/basedb/meludi/counter/
updated:
a. Package private methodvoid count()
updated by calling new private methodvoid countFfpeBlocks(DbControl dc, JSONObject json)
.
b. New private methodvoid countFfpeBlocks(DbControl dc, JSONObject json)
added. It counts the number of FFPE block items in the current project and adds the result to the JSON argument for JSON key "ffpeblocks-all
". - Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated with new command "GenerateFfpeSectionOrderForm
". It obtains a JSONArray of the FFPE block list from parameter "ffpeblocklist
", which is then converted to a simple list of FFPE block item names, efter which private methodPdfUtil createFfpeSectionOrderForm(DbControl dc, PdfUtil pdfUtil, List<String> itemIdList, List<String> formTemplateFileList)
is called to create the FFPE order form.
b. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "DownloadFormBatchFile
" to get end item name from value of parameter "enditemname
". If this vale isnull
, the end item name is constructed from the start item name and the number of items, assuming a continuous sequence without gaps.
comment:118 by , 6 years ago
(In [4916]) Refs #1029. Main page layout updated in section "Personal information wizards" by moving entries for wizards creating FFPE block and section order forms from sub-section "Referral forms" to "Sample compilation and registration", since they are used together with other wizards in the latter sub-section:
- JSP file index.jsp in
resources/
updated in section "Personal information wizards" by moving entries for wizards creating FFPE block and section order forms from sub-section "Referral forms" to "Sample compilation and registration", since they are used together with other wizards in the latter sub-section.
comment:119 by , 6 years ago
(In [4951]) Refs #1029. Referral form generation updated to support generation of patient info referral forms. The patient info referral forms are intended to be printed on regular paper with two-sided printing, and will therefore be included in PDF batch file 2. Due to the intended two-sided printing, an extra blank page will be added to every form, where the template consists of an odd number of pages:
- JSP file
generate-referral-forms.jsp
inresources/personal/
updated in instruction text to specify two-sided printing for PDF batch file 2. - Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/based/meludi/servlet/
updated:
a. Private static final StringTEMPLATE_FILENAME_START_PATIENT_INFO
updated with extra prefix "SCAN-B-rec_
".
b. Private methodPdfUtil createBarcodeNonStickerForm(DbControl dc, PdfUtil pdfUtil, File pdfFile, String itemId, List<String> formTemplateFileList)
updated to add extra blank page, as the form template is one-sided, but the printing is now intended to be two-sided.
c. Private methodPdfUtil createPatientInfoForm(DbControl dc, PdfUtil pdfUtil, File pdfFile, String itemId, List<String> formTemplateFileList)
updated to put referral ID directly below label "Initialer:
" ("Initials:
").
comment:120 by , 6 years ago
(In [4954]) Refs #1029. Updates needed for display of FFPE blocks in selection menu of wizard "FFPE section order form - selected FFPE blocks". This should have been part of change set [4915]:
- Data access object file
FfpeBlock.java
insrc/net/sf/basedb/meludi/dao/
updated:
a. New public static methodList<FfpeBlock> findAll(DbControl dc)
added. It returns a list of FFPE block items for current project. - Java servlet class/file
ExtractionServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated with new command "GetFfpeBlocks
". It obtains a list of FFPE block items by calling public static methodList<FfpeBlock> findAll(DbControl dc)
in data access object fileFfpeBlock.java
. The list is returned in a JSONArray with JSON key "items
".
comment:121 by , 6 years ago
(In [4958]) Refs #1029. Base-line registration wizard updated for new blood samples to use names, that are independent of the related Case item:
- Javascript file
baseline_alt_rec.js
inresources/personal/
updated:
a. FunctiononConfiguration(request)
updated to obtain configuration value of number of digits in blood item name.
b. FunctionfetchTubeName(tubeContentType, caseInfo, tubeIndex)
updated to get highest blood item number from Case info, and add (tubeIndex + 1) to get the new tube name (tubeIndex is zero-based).
c. Functionsubmit()
updated to use names of item variables and parameters independent of "Case".
d. FunctiondownloadFormBatch(batchType)
updated to use names of item variables and parameters independent of "Case". - Java servlet class/file
BaseLineRegistrationServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "GetCaseInfo
" to obtain value of highest used blood item number from new private methodint fetchHighestBloodItemNumber(DbControl dc)
and add it to case JSON object with JSON key "highestBloodItemNumber
". New command "GetNewBloodItemName
" added, that obtains value of new blood item name from new private methodString fetchNewBloodItemName(DbControl dc)
and return it as JSON object with JSON key "newBloodItemName
".
b. Protected methodvoid doPost(HttpServletRequest req, HttpServletResponse resp)
updated for command "UpdateCase
" to set value of new sample annotation string annotationCASE_ID
to value of original case name.
c. New private methodString fetchNewBloodItemName(DbControl dc)
added. It fetches new blood item name for the active project, equal to the one following the currently highest blood item name.
d. New private methodint fetchHighestBloodItemNumber(DbControl dc)
added. It fetches highest blood item number for the active project, equal to the number of the currently highest blood item name.
e. New private methodString fetchHighestBloodItemName(DbControl dc)
added. It fetches the highest blood item name for the active project, ornull
, if no blood items exist.
comment:122 by , 6 years ago
(In [4960]) Refs #1029. Label generation updated:
- JSP file
labelgeneration.jsp
inresources/sampleproc/
updated:
a. Menu for tube content type (with options "Specimen" or "Blood") moved before selection of max number of tubes.
b. Max number of tubes selection changed from menu to input field, to simplify setting default value depending on tube content type. - Javascript file
labelgeneration.js
inresources/sampleproc/
updated:
a. FunctioninitPage()
updated to couple event handler for tube content type to new functiontubeContentTypeOnChange()
.
b. New functiontubeContentTypeOnChange()
added. It sets default value of max number of tubes to 1 for specimens and 2 for blood items.
Note: Setting default value of max number of tubes depending on tube content type does not currently function satisfactorily (input field must be clicked for the new default value to appear). Also, and more important, the generated labels for blood tubes do not correspond to the new independent name scheme for blood items.
comment:123 by , 6 years ago
(In [4965]) Refs #1029. Base-line registration wizard updated by removing check boxes for ctDNA and CTC circulating tumor DNA and cells). The code is not removed, but commented out, in order to simplify its future use:
- JSP file
baseline_alt_rec.jsp
inresources/personal/
updated by commenting out code related to check boxes for ctDNA and CTC. - Javascript file
baseline_alt_rec.js
inresources/personal/
updated by commenting out code related to check boxes for ctDNA and CTC.
comment:124 by , 6 years ago
(In [4966]) Refs #1029. Updates due to version number change to "1.6.0a7
".
- Version number changed to "
1.6.0a7
":
a. Outermost Ant XML build filebuild.xml
in/
updated.
b. Extensions XML configuration fileextensions.xml
inMETA-INF/
updated.
c. Javascript filemeludi-2.js
inresources/
updated.
d. Javascript filemeludi_quarter_month_report_generator.js
inresources/reports/
updated.
e. Javascript filesamplereportgenerator.js
inresources/reports/
updated.
f. Java class/fileMeludi.java
insrc/net/sf/basedb/meludi/
updated.
comment:125 by , 6 years ago
(In [4967]) Refs #1029. Updates due to version number change to "1.6.0-dev
".
- Version number changed to "
1.6.0-dev
":
a. Outermost Ant XML build filebuild.xml
in/
updated.
b. Extensions XML configuration fileextensions.xml
inMETA-INF/
updated.
c. Javascript filemeludi-2.js
inresources/
updated.
d. Javascript filemeludi_quarter_month_report_generator.js
inresources/reports/
updated.
e. Javascript filesamplereportgenerator.js
inresources/reports/
updated.
f. Java class/fileMeludi.java
insrc/net/sf/basedb/meludi/
updated.
comment:126 by , 6 years ago
(In [4968]) Refs #1029. Subtype for FFPE block item updated by exchanging name "FfpeBlock
" for "FFPEBlock
", since "FFPE" is an abbreviation that is commonly written with all uppercase letters:
- Data access object file
Subtype.java
insrc/net/sf/basedb/meludi/dao/
updated for FFPE block relatedSubtype
itemFFPE_BLOCK
of typeItem.SAMPLE
by exchanging name "FfpeBlock
" for "FFPEBlock
".
comment:127 by , 6 years ago
Design update:
- As the result of discussions after the SCAN-B-rec/MeLuDI meeting 2018-09-06, some modifications of the MeLuDI software were decided. The following list is not complete, as some modifications require further discussion:
- Text in wizards should use notation similar to that used in referral forms and other documentation, in order to avoid misunderstandings. Also, standard conventions regarding hyphenation and use of spaces should be adhered to, e.g. a space should separate a number from unit or percent sign.
- The current Base Line wizard for registration of blood samples should be replaced by one importing a tab-separated file exported from a spreadsheet, where each row represents a referral form and contains referral ID, blood item ID for first tube, position of first tube in blood box, blood item ID for second tube, position of second tube in blood box, blood box name, and possibly other data (the exact number of fields still has to be decided). Sticker labels printed in advance for the blood tubes should be supplied, allowing referral ID and blood item ID values to be scanned from bar codes on the referral form and blood tube labels, respectively, only requiring the blood box name and tube positions to be added manually.
a. Currently three sticker labels on the BASE-line referral form is unused, and will be used for the blood tubes (normally two tubes are used, while a third tube might be used in some cases). These three sticker labels will have text and bar codes equal to the referral ID plus suffix ".b1", ".b2", and ".b3", respectively.
b. A new wizard for registering blood items from an input file should be developed. Blood item ID values should consist of a base part consisting of the blood item prefix plus a serial number of fixed length (with initial zeroes when needed), plus a suffix consisting of a dot "." plus a number. The base part for a blood item should be unique for a referral ID, while the suffix should equal the suffix of the sticker label on the blood tube minus the letter "b", e.g. blood tube suffix ".b2" will correspond to a blood item with suffix ".2".
comment:128 by , 6 years ago
comment:129 by , 6 years ago
(In [4971]) Refs #1029. Referral form generator updated for BASE-line forms to add suffices ".b1", ".b2", and ".b3" to referral ID text and bar codes on the three rightmost sticker labels:
- Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/based/meludi/servlet/
updated in private methodPdfUtil createBarcodeStickerForm(DbControl dc, PdfUtil pdfUtil, File pdfFile, String itemId, String formTemplateName, List<String> formTemplateFileList)
to add suffices ".b1", ".b2", and ".b3" to referral ID text and bar codes on the three rightmost sticker labels for BASE-line forms.
comment:130 by , 6 years ago
(In [4986]) 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:
- JSP file
case_summary_alt_rec.jsp
inresources/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. - Javascript file
case_summary_alt_rec.js
inresources/reports/
updated in functioncaseInfoLoaded(response)
to enter the values for "Tube label" and "Whole blood" obtained for the case from servletCaseSummaryServlet
and make it available for display in the case summary JSP page in the blood section. - Java class/file
Annotationtype.java
insrc/net/sf/basedb/meludi/dao/
updated:
a. New public static finalAnnotationtype.TUBE_LABEL
entry added. It is a String annotation for sample (Blood) items, with value logging disabled.
b. New public static finalAnnotationtype.WHOLE_BLOOD
entry added. It is a Boolean annotation for sample (Blood) items. - Java class/file
InstallServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for commands "Validate
" and "Install
" to add check for new annotation typesAnnotationtype.TUBE_LABEL
andAnnotationtype.WHOLE_BLOOD
, whereAnnotationtype.TUBE_LABEL
is restricted to Patient Curator use. Also, the annotation types are added to annotation type category "Blood
". - Java servlet class/file
CaseSummaryServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in private methodvoid loadBloodInfo(DbControl dc, Blood blood)
to load values forAnnotationtype.TUBE_LABEL
andAnnotationtype.WHOLE_BLOOD
and couple the values to JSON keys "tubeLabel
" and "wholeBlood
", respectively.
comment:131 by , 6 years ago
(In [4987]) Refs #1029. Case summary for active project SCAN-B-rec updated for input of blood item ID to not remove suffix, since the new item name convention for blood items uses integer suffices ".1, ".2", etc. to name blood samples connected to the same case item:
- Java servlet class/file
CaseSummaryServlet.java
insrc/net/sf/based/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for command "GetCaseInfo
" to not remove suffix, when testing for input blood item ID.
comment:132 by , 6 years ago
(In [4988]) Refs #1029. Case summary for active project SCAN-B-rec updated to allow input of blood tube label name instead of case ID. Since the tube label name contains the referral ID plus a suffix, it will only work for users with PatientCurator
role:
- Java servlet class/file
CaseSummaryServlet.java
insrc/net/sf/based/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for command "GetCaseInfo
" to allow input of blood tube label name instead of case ID. Since the tube label name contains the referral ID plus a suffix, it will only work for users withPatientCurator
role. The check for referral ID input is updated by removing any suffix.
comment:133 by , 6 years ago
(In [4999]) Refs #1029. Boolean annotation "Whole blood" moved from Blood item to Case item:
- JSP file
case_summary_alt_rec.jsp
inresources/reports/
updated by moving data row for value of "Whole blood" from blood section to case section. - Javascript file
case_summary_alt_rec.js
inresources/reports/
updated in functioncaseInfoLoaded(response)
to enter the value "Whole blood" obtained for the case from servletCaseSummaryServlet
and make it available for display in the case summary JSP page in the case section. - Java class/file
Annotationtype.java
insrc/net/sf/basedb/meludi/dao/
updated:
a. Public static finalAnnotationtype.WHOLE_BLOOD
entry updated from being an annotation for sample (Blood) items to being an annotation for sample (Case) items. - Java class/file
InstallServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for commands "Validate
" and "Install
" to move annotation from type category "Blood
" to type category "Case
". - Java servlet class/file
CaseSummaryServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated:
a. Private methodvoid loadBloodInfo(DbControl dc, Blood blood)
updated to not load valuesAnnotationtype.WHOLE_BLOOD
and couple the values to JSON keys "tubeLabel
" and "wholeBlood
".
b. Private methodvoid loadCaseInfo(DbControl dc, Case theCase)
updated to load valuesAnnotationtype.WHOLE_BLOOD
and couple the values to JSON keys "tubeLabel
" and "wholeBlood
".
comment:134 by , 6 years ago
Design update:
- Base line registration wizard should be updated to ask user for a tab-separated CSV file containing the following headers (headers in Swedish, English equivalent here given in parenthesis):
a. "Studielöpnummer" ("Study serial number")
b. "Ankomstdatum" ("Arrival date")
c. "Helblod - yes/no" ("Whole blood - yes/no")
d. "Bankat helblod position rör x.1" ("Stored whole blood position tube x.1")
e. "Bankat helblod position rör x.2" ("Stored whole blood position tube x.2")
comment:135 by , 6 years ago
(In [5000]) Refs #1029. Base-line registration wizard updated to ask user for a tab-separated CSV file to get blood tube information from, and to use the new blood item naming scheme with integer suffices to a common blood item base name for blood item relat4ed to the same Case item:
- JSP file
index.jsp
inresources/
updated in section "Personal information wizards" by coupling base-line registration to new JSP filebaseline_from_file_alt_rec.jsp
inresources/personal/
. - New JSP file
baseline_from_file_alt_rec.jsp
inresources/personal/
added. It is coupled to new Javascript filebaseline_from_file_alt_rec.js
inresources/personal/
. - New javascript file
baseline_from_file_alt_rec.js
inresources/personal/
added. It parses a given input tab-separated CSV file and presents the found values in dedicated fields in the JSP file. If the "Register" button is pressed, data is sent to command "RegisterBloodSamples
" in servletBaseLineRegistrationServlet
. - Java servlet class/file
BaseLineRegistrationServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated with new command "RegisterBloodSamples
". It obtains values from the parsed input file from the request, and creates new blood items for case items found from the referral ID values. If value of "Whole blood" flag isfalse
, no blood item is created, but the Case item is updated by setting annotationWHOLE_BLOOD
tofalse
.
b. Private methodString fetchNewBloodItemName(DbControl dc)
updated to the new blood item naming scheme with integer suffices to a common blood item base name for blood item relat4ed to the same Case item.
comment:136 by , 6 years ago
(In [5002]) Refs #1029. Base-line registration wizard updated to check if any blood tube entry for non-whole blood has a storage position, in which case an error message is displayed for that tube, and registration is blocked for the input file:
- Javascript file
baseline_from_file_alt_rec.js
inresources/personal/
updated to check if any blood tube entry for non-whole blood has a storage position, in which case an error message is displayed for that tube, and registration is blocked for the input file.
comment:137 by , 6 years ago
(In [5004]) Refs #1029. Wizard "FFPE block order form" in section "Personal information wizards", sub-section "Sample compilation and registration", updated by removing initial step for selecting hospital site. The wizard now expects a referral ID to be entered in the first step (if a PAD pre-entry number is registered for the related Case item, the former will be entered in the second "PAD" input field, after it is put in focus):
- JSP file
ffpe_block_order_form.jsp
inresources/personal/
updated by removing initial step for selecting hospital site. - Javascript file
ffpe_block_order_form.js
inresources/personal/
updated by removing initial step for selecting hospital site.
comment:138 by , 6 years ago
(In [5006]) Refs #1029. Referral generation updated for generation of FFPE referral form to print family name separated from all first names by a comma, instead of printing the two name sections at different positions:
- Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/based/meludi/servlet/
updated:
a. Private methodPdfUtil createFfpeForm(DbControl dc, PdfUtil pdfUtil, File pdfFile, String itemId, String pad, String personalNumber, String familyName, String allFirstNames, List<String> formTemplateFileList)
updated to print family name separated from all first names by a comma, instead of printing the two name sections at different positions.
comment:139 by , 6 years ago
(In [5007]) Refs #1029. Updates due to version number change to "1.6.0a8
".
- Version number changed to "
1.6.0a8
":
a. Outermost Ant XML build filebuild.xml
in/
updated.
b. Extensions XML configuration fileextensions.xml
inMETA-INF/
updated.
c. Javascript filemeludi-2.js
inresources/
updated.
d. Javascript filemeludi_quarter_month_report_generator.js
inresources/reports/
updated.
e. Javascript filesamplereportgenerator.js
inresources/reports/
updated.
f. Java class/fileMeludi.java
insrc/net/sf/basedb/meludi/
updated.
comment:140 by , 6 years ago
(In [5008]) Refs #1029. Updates due to version number change to "1.6.0-dev
".
- Version number changed to "
1.6.0-dev
":
a. Outermost Ant XML build filebuild.xml
in/
updated.
b. Extensions XML configuration fileextensions.xml
inMETA-INF/
updated.
c. Javascript filemeludi-2.js
inresources/
updated.
d. Javascript filemeludi_quarter_month_report_generator.js
inresources/reports/
updated.
e. Javascript filesamplereportgenerator.js
inresources/reports/
updated.
f. Java class/fileMeludi.java
insrc/net/sf/basedb/meludi/
updated.
comment:141 by , 6 years ago
Design update:
- As the result of discussions at the SCAN-B-rec/MeLuDI meeting 2018-10-04, some modifications of the MeLuDI software were decided:
- Consent form registration:
a. Input field title "Date" exchanged for "Consent date".
b. PAD pre-entry input field removed (see point 3a for reason). - BASE-line registration:
a. Input file will no longer contain a "Whole blood" check box, so there is no need for a corresponding annotationWHOLE_BLOOD
.
b. Input field/column "Sampling date" added.
c. Support for separate column for box name.
d. Input field/column for third extra blood tube added.
e. Annotation "Arrival date" added to Blood Category.
f. Contents in field/column "Kommentar" ("Comment") will be set as description for the created blood items, which in "Case summary" will be displayed under header "Comment".
g. Contents in field/column "Namn" ("Name") will be set as new annotationARRIVAL_OPERATOR
for the created blood items, which in "Case summary" will be displayed under header "Arrival operator". - FFPE block order form:
a. A PAD number will no longer be printed on the form, as the form recipient will instead note PAD numbers of supplied blocks on the form. There is therefore also no need for a PAD pre-entry number registered for the Case item.
b. The bar codes with referral ID should be replaced with bar codes of the patient personal number. The locations of the bar codes will not be changed. - FFPE block registration:
a. A number of FFPE blocks should be allowed for one Case item.
b. Each FFPE block should have a PAD number registered with it.
c. One of the FFPE blocks should be selected for further processing. This FFPE block should be identified as being related to a "Yellow label" in Reggie nomenclature. However, this selection can not always be made until some pre-checks have been made. - Label creation wizard[s] for:
a. Labels for FFPE sections ("snitt") for 1.5 ml safe-lock tubes. An FFPE section have a name consisting of <FFPE block name> + ".s", where suffix "s" indicates "section" or "specimen", since it will be the source of extracts.
b. Labels for H&E glass slides, one for the start slide and one for the end slide (these slides contain tumor sections before the first section used for analysis and after the last one). - FFPE section order form:
a. The selection list of FFPE blocks should only include blocks not previously used in an FFPE section order form.
b. The selection list of FFPE blocks should indicate "Yellow label" FFPE blocks with a yellow asterisk as used in Reggie, plus a yellow background.
c. Glass slide items should have names consisting of the FFPE block item name + suffix ".he-F" or ".he-E", where "F" and "E" indicate "Före" and "Efter" (Swedish for "Before" and "After"), respectively. Abbreviation "he" refers to hematoxylin and eosin stain or haematoxylin and eosin stain (H&E stain or HE stain). - FFPE section registration:
a. Each FFPE section entry should include glass slide number, number of sections, and percentage of tumor cells. - Returned FFPE block registration:
a. The selection list of FFPE blocks should include blocks not previously marked as being returned. A return date and operator name should be registered.
Other items:
- Glass slide items are needed.
comment:142 by , 6 years ago
(In [5013]) Refs #1029. Support for PAD pre-entry removed. Also, title of consent date input field changed from "Date" to the more clear "Consent date":
- JSP file
consentform_alt_rec.jsp
inresources/personal/
updated:
a. Consent date input field title "Date" exchanged for "Consent date".
b. PAD pre-entry field removed. - Javascript file
consentform_alt_rec.js
inresources/personal/
updated:
a. FunctioncaseInfoLoadedStep1(response)
updated by removing reference to PAD pre-entry input field.
b. FunctioncaseInfoLoaded(response)
updated by removing reference to PAD pre-entry and PAD values for Case item. - JSP file
case_summary_alt_rec.jsp
inresources/reports/
updated by removing PAD pre-entry section for Case item. - Javascript file
case_summary_alt_rec.js
inresources/reports/
updated in functioncaseInfoLoaded(response)
by removing code for PAD pre-entry for Case item. - Java class/file
Annotationtype.java
insrc/net/sf/basedb/meludi/dao/
updated by removing public static finalAnnotationtype.PAD_PRE_ENTRY
String annotation type for sample (Case) items. - Java class/file
InstallServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for commands "Validate
" and "Install
" by removing reference to PAD pre-entry. - Java servlet class/file
CaseSummaryServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in private methodvoid loadCaseInfo(DbControl dc, Case theCase)
by removing reference to PAD pre-entry. - Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/based/meludi/servlet/
updated in private methodJSONObject fetchReferralCaseInfo(DbControl dc, String referralId)
by removing reference to PAD pre-entry. - Java servlet class/file
ConsentFormServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "GetCaseInfo
" by removing reference to PAD pre-entry.
b. Protected methodvoid doPost(HttpServletRequest req, HttpServletResponse resp)
updated for command "RegisterConsent
" by removing reference to PAD pre-entry. - Java servlet class/file
BaseLineRegistrationServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected method void doGet(HttpServletRequest req, HttpServletResponse resp) updated for command "GetCaseInfo
" by removing reference to PAD pre-entry.
comment:143 by , 6 years ago
(In [5016]) Refs #1029. Support for "Whole blood" Boolean annotation for Case item removed:
- Javascript file
baseline_from_file_alt_rec.js
inresources/personal/
updated:
a. FunctionparseBaseLineFile(data)
updated by removing reference to PAD pre-entry input field.
b. FunctioncaseInfoLoaded(response)
updated by removing reference to "Whole blood" Boolean annotation for Case item. - JSP file
case_summary_alt_rec.jsp
inresources/reports/
updated by removing "Whole blood" section for Case item. - Javascript file
case_summary_alt_rec.js
inresources/reports/
updated in functioncaseInfoLoaded(response)
by removing code for "Whole blood" for Case item. - Java class/file
Annotationtype.java
insrc/net/sf/basedb/meludi/dao/
updated by removing public static finalAnnotationtype.WHOLE_BLOOD
Boolean annotation type for sample (Case) items. - Java class/file
InstallServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for commands "Validate
" and "Install
" by removing reference toAnnotationtype.WHOLE_BLOOD
. - Java servlet class/file
BaseLineRegistrationServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated:
a. Protected method void doGet(HttpServletRequest req, HttpServletResponse resp) updated for command "UpdateCase
" by removing reference to "Whole blood".
b. Protected method void doGet(HttpServletRequest req, HttpServletResponse resp) updated for command "RegisterBloodSamples
" by removing reference to "Whole blood". - Java servlet class/file
CaseSummaryServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in private methodvoid loadCaseInfo(DbControl dc, Case theCase)
by removing reference to "Whole blood".
comment:144 by , 6 years ago
(In [5027]) Refs #1029. Base-line registration wizard for input from a tab-separated CSV file updated to new format for the file: The box name is now given in its own column, instead of being combined with the tube position. Support is added for a sampling date in addition to the arrival date, as well as an optional third blood tube:
- Javascript file
baseline_from_file_alt_rec.js
inresources/personal/
updated:
a. FunctionparseBaseLineFile(data)
updated to obtain data from the added columns. Also updated to get data from columns in any order, which is used to ensure that the registered tube label suffix corresponds to the input column, e.g. if for some reason tube labels ".b2" and ".b3" have been used instead of ".b1" and ".b2", the correct tube labels should now be registered, provided that the entries have been made in the correct input columns. Sampling date now also shown in preview.
b. Functionsubmit()
updated to send data for the new input fields to command "RegisterBloodSamples
" in servletBaseLineRegistrationServlet
. - JSP file
case_summary_alt_rec.jsp
inresources/reports/
updated with new entry for arrival date for blood items. - Javascript file
case_summary_alt_rec.js
inresources/reports/
updated in functioncaseInfoLoaded(response)
to add data for arrival date for blood samples. Also, warning for missing freezer date for blood samples removed. - Java servlet class/file
BaseLineRegistrationServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "RegisterBloodSamples
" by adding support for sampling date. Also, an input blood item comment is set as description for the blood item. - Java servlet class/file
CaseSummaryServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in private methodvoid loadBloodInfo(DbControl dc, Blood blood)
to add value forAnnotationtype.ARRIVAL_DATE
to JSON object with key "arrivalDate
". - Java servlet class/file
InstallServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for commands "Validate
" and "Install
" to includeAnnotationtype.ARRIVAL_DATE
in annotation category "Blood".
comment:145 by , 6 years ago
(In [5028]) Refs #1029. FFPE block order form wizard updated to print bar codes with personal number instead of referral ID, and to no longer print any PAD number on the form:
- JSP file
ffpe_block_order_form.jsp
inresources/personal/
updated by removing input field for PAD number. - Javascript file
ffpe_block_order_form.js
inresources/personal/
updated:
a. FunctioninitPage()
updated to enable button "Next" when a referral ID has been entered.
FunctioninitializeStep1a(response)
updated by commenting out code related to PAD number.
FunctioninitializeStep1b(response)
updated by commenting out code related to PAD number.
FunctiongenerateReferralForms()
updated by commenting out code related to PAD number. - Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in private methodPdfUtil createFfpeForm(DbControl dc, PdfUtil pdfUtil, File pdfFile, String itemId, String pad, String personalNumber, String familyName, String allFirstNames, List<String> formTemplateFileList)
to print bar codes with personal number instead of referral ID, and to no longer print any PAD number on the form.
comment:146 by , 6 years ago
(In [5031]) Refs #1029. Support for a "Yellow label" annotation on sample items added, indicating items selected for further processing. The implementation closely follows that in extension Reggie
, plus modification for variable item name lengths and allowing FFPE block items to have a yellow label:
- CSS file
case_summary.css
inresources/css/
updated by adding rules for table column header layout for class "yellow-specimen
" (large yellow asterisk prefix and yellow background). - New images
yellow-label.png
andyellow-label-small.png
added inresources/images/
. - Javascript file
case_summary_alt_rec.js
inresources/reports/
updated:
a. New global variablesampleItemNameLength
added. It equals the name length of specimens with suffixes ".1" - ".9".
b. New global variabledefaultColClass
added.
c. FunctioncaseInfoLoaded(response)
updated to calculate value of global variablesampleItemNameLength
from configuration values for project. FFPE block and specimen related items updated to have value of variabledefaultColClass
set to "yellow-specimen
", if the item or one of its parent items has this annotation set.
d. Functioncs.addColumn(id, value, className)
updated with new argumentclassName
. If the value ofclassName
isnull
, value of class name for the table column is set to that ofdefaultColClass
. - Java class/file
Annotationtype.java
insrc/net/sf/basedb/meludi/dao/
updated with new public static finalYELLOW_LABEL
String annotation type andCOMPLETED_DATE
Date annotation type for sample (Specimen) items. - Java class/file
InstallServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for commands "Validate
" and "Install
" to add check for new annotation typesAnnotationtype.YELLOW_LABEL
andAnnotationtype.COMPLETED_DATE
. Also, both annotation types are added to annotation type category "Specimen", andAnnotationtype.YELLOW_LABEL
to annotation type category "FFPE block". - Java servlet class/file
CaseSummaryServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in private methodsvoid loadSpecimenInfo(DbControl dc, SnapshotManager manager, SpecimenTube specimen)
andvoid loadFfpeBlockInfo(DbControl dc, FfpeBlock ffpeBlock)
to load value ofAnnotationtype.YELLOW_LABEL
and couple it to JSON key "YellowLabel
".
comment:147 by , 6 years ago
(In [5034]) Refs #1029. Support for an "Arrival operator" annotation on sample items added, primarily intended for blood items. Base-line registration from CSV file already reads value in column "Namn" and includes it in JSON data with JSON key "operator
" sent to BaseRegistrationServlet
, when data is submitted:
- JSP file
case_summary_alt_rec.jsp
inresources/reports/
updated with new entry for arrival operator for blood items. - Javascript file
case_summary_alt_rec.js
inresources/reports/
updated in functioncaseInfoLoaded(response)
updated to couple value of String annotationAnnotationtype.ARRIVAL_OPERATOR
to JSON object with JSON key "arrivalOperator
". - Java class/file
Annotationtype.java
insrc/net/sf/basedb/meludi/dao/
updated with new public static finalARRIVAL_OPERATOR
String annotation type for sample (Blood) items. - Java class/file
InstallServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for commands "Validate
" and "Install
" to add check for new annotation typeAnnotationtype.ARRIVAL_OPERATOR
. Also, the annotation type is added to annotation type category "Blood". - Java servlet class/file
CaseSummaryServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in private methodvoid loadBloodInfo(DbControl dc, Blood blood)
to load value ofAnnotationtype.ARRIVAL_OPERATOR
and couple it to JSON key "arrivalOperator
". - Java servlet class/file
BaseLineRegistrationServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doPost(HttpServletRequest req, HttpServletResponse resp)
for command "RegisterBloodSamples
" to set value of annotationAnnotationtype.ARRIVAL_OPERATOR
for blood sample to that of JSON key "operator
".
comment:148 by , 6 years ago
Design update:
- The first version of the FFPE block registration wizard will consist of three steps:
- Input of personal number for patient. This was chosen as the FFPE block order form received back with the FFPE blocks contains bar code with the patient personal number.
- The case name corresponding to the input patient personal number is presented. Input of number of FFPE blocks (default is 4) and arrival date.
- Input for each FFPE block includes PAD number, check box for selecting the FFPE block for processing ("Yellow label"), and optional operator delivery comment. A PAD number is required for each FFPE block.
As the FFPE block registration code resembles that of the one for blood item registration in the Base-line registration wizard, it was decided to expand BaseLineRegistrationServlet
with new command "RegisterFFPEBlocks
", instead of creating a separate servlet. (However, that might be changed in the future.)
comment:149 by , 6 years ago
(In [5044]) Refs #1029. First version of FFPE block registration wizard added:
- JSP file
index.jsp
inresources/
updated in section "Personal information wizards" by added link for FFPE block registration coupled to new JSP fileffpe_block_registration_alt_rec.jsp
inresources/personal/
. - New JSP file
ffpe_block_registration_alt_rec.jsp
inresources/personal/
added. It is coupled to new Javascript fileffpe_block_registration_alt_rec.js
inresources/personal/
. - New Javascript file
ffpe_block_registration_alt_rec.js
inresources/personal/
added. Functionsubmit()
sends input data as a JSON object to new command "RegisterFFPEBlocks
" inBaseLineRegistrationServlet
. - JSP file
case_summary_alt_rec.jsp
inresources/reports/
updated in the FFPE block section by exchanging sampling date for arrival date and "Other path note" for "Operator delivery comment". - Javascript file
case_summary_alt_rec.js
inresources/reports/
updated in functioncaseInfoLoaded(response)
by exchanging sampling date for arrival date and "Other path note" for "Operator delivery comment" for FFPE block items. - Java class/file
InstallServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for commands "Validate
" and "Install
" by addingAnnotationtype.ARRIVAL_DATE
andAnnotationtype.OPERATOR_DELIVERY_COMMENT
to FFPE block category. - Java servlet class/file
CaseSummaryServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in private methodvoid loadFfpeBlockInfo(DbControl dc, FfpeBlock ffpeBlock)
by loading annotationsAnnotationtype.ARRIVAL_DATE
andAnnotationtype.OPERATOR_DELIVERY_COMMENT
. - Java servlet class/file
ConsentFormServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "GetCaseInfo
" to get input personal number and from that obtain the case name via the patient item. If more than one case item is related to the patient, the first case item is used. - Java servlet class/file
BaseLineRegistrationServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated:
a. Protected methodvoid doPost(HttpServletRequest req, HttpServletResponse resp)
updated with new command "RegisterFFPEBlocks
", based on code for command "RegisterBloodSamples
".
b. Private methodString fetchNewBloodItemName(DbControl dc)
exchanged for generic private methodString fetchNewItemName(DbControl dc, Subtype subtype, String itemPrefix, int itemNumDigits)
.
c. Private methodint fetchHighestBloodItemNumber(DbControl dc)
exchanged for generic private methodint fetchHighestItemNumber(DbControl dc, Subtype subtype, String itemPrefix, int itemNumDigits)
.
d. Private methodString fetchHighestBloodItemName(DbControl dc)
exchanged for generic private methodString fetchHighestItemName(DbControl dc, Subtype subtype)
.
comment:150 by , 6 years ago
(In [5047]) Refs #1029. FFPE block registration wizard updated by fixing bug in registration of "yellow label" items:
- Javascript file
ffpe_block_registration_alt_rec.js
inresources/personal/
updated in functionsubmit()
by checking if a "yellow label" check box is checked, instead of checking its value, and then transferring that to a String value for the parameter sent as input data as JSON object to command "RegisterFFPEBlocks
" inBaseLineRegistrationServlet
. - Java servlet class/file
BaseLineRegistrationServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doPost(HttpServletRequest req, HttpServletResponse resp)
for command "RegisterFFPEBlocks
" to obtain value of String variable "yellowLabel
" directly from value of input JSON object with JSON key "yellowLabel
".
comment:151 by , 6 years ago
(In [5048]) Refs #1029. FFPE section order form wizard updated to show PAD number and yellow label annotations for FFPE block items in selection list:
- CSS file
meludi-2.css
inresources/css/
updated with entries for yellow label support in selection lists, based on design in Reggie. - JSP file
ffpe_section_order_form.jsp
inresources/personal/
updated in HTMLselect
tag to set class to "yellow-label-support
". - Javascript file
ffpe_section_order_form.js
inresources/personal/
updated in functioninitializeStep1(response)
to set class equal to "yellow
" for items with annotationYELLOW_LABEL
set to "yellow
". - Java servlet class/file
ExtractionServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for command "GetFfpeBlocks
" to load annotationsAnnotationtype.PAD
andAnnotationtype.YELLOW_LABEL
before creating JSON object of item to return.
comment:152 by , 6 years ago
Design update for FFPE section order form:
- A new Boolean annotation
USED_FOR_FFPE_SECTIONS
is added for Samples (FFPE blocks). When an FFPE block is used in an FFPE section order form, the new annotation is set totrue
for the FFPE block item. - The initial FFPE block selection list will only include blocks, not already used for FFPE sections.
- The counter value shown for the link to the "FFPE section order form wizard" should be updated to only count unused FFPE blocks.
- The FFPE section order form will now print names of glass slides for each selected FFPE block, equal to the names on labels delivered with the order form. Two glass slides will be used, containing residues before and after the part used for the FFPE sections. The residues are stained with hematoxylin and eosin, in order to be able to count the tumor cell percentage, so the glass slide names will be <FFPE block name> + ".he-F" and <FFPE block name> + ".he-E", where "F" and "E" indicate "Före" and "Efter" (Swedish for "Before" and "After"), respectively.
comment:153 by , 6 years ago
(In [5052]) Refs #1029. FFPE section order form wizard updated to keep track of what FFPE blocks have been used for sections, and only include unused FFPE blocks in selection list. Also, glass slide names for FFPE residues before and after the part used for sections are now printed on the form for each FFPE block:
- JSP file
index.jsp
inresources/
updated in section "Personal information wizards" by using counter "ffpeblocks-unused
" at link for FFPE section order form. - Javascript file
ffpe_section_order_form.js
inresources/personal/
updated in functioninitPage()
to callExtractionServlet
with command "GetUnusedFfpeBlocks
" to obtain list of FFPE blocks for selection list. - Java class/file
CounterService.java
insrc/net/sf/basedb/meludi/counter/
updated in private methodvoid countFfpeBlocks(DbControl dc, JSONObject json)
to count number of FFPE block items not having new annotationAnnotationtype.USED_FOR_FFPE_SECTIONS
set totrue
, and return the result in a JSON object with JSON key "ffpeblocks-unused
". - Java class/file
Annotationtype.java
insrc/net/sf/basedb/meludi/dao/
updated with new public static finalUSED_FOR_FFPE_SECTIONS
Boolean annotation type for sample (FFPE block) items. - Java class/file
InstallServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for commands "Validate
" and "Install
" by adding checks forAnnotationtype.USED_FOR_FFPE_SECTIONS
and adding it to FFPE block category. - Java servlet class/file
ExtractionServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
to support new command "GetUnusedFfpeBlocks
" by returning all FFPE block items not having annotationAnnotationtype.USED_FOR_FFPE_SECTIONS
set totrue
. - Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated:
a. Protected methodvoid doPost(HttpServletRequest req, HttpServletResponse resp)
updated for command "GenerateFfpeSectionOrderForm
" to set value of annotationAnnotationtype.USED_FOR_FFPE_SECTIONS
totrue
for FFPE blocks selected for FFPE section order form.
b. Private methodPdfUtil createFfpeSectionOrderForm(DbControl dc, PdfUtil pdfUtil, File pdfFile, List<String> itemIdList, List<String> formTemplateFileList)
updated to print glass slide names for FFPE residues before and after the section part on the form for each FFPE block.
comment:154 by , 6 years ago
Design update for FFPE section order form:
- The FFPE section order form updated for "Yellow label" FFPE blocks to insert a large asterisk as prefix before the FFPE block name below the bar code with the name (the bar code is unchanged).
comment:155 by , 6 years ago
(In [5053]) Refs #1029. FFPE section order form updated for "Yellow label" FFPE blocks to insert a large asterisk as prefix before the FFPE block name below the bar code with the name (the bar code is unchanged).:
- Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in private methodPdfUtil createFfpeSectionOrderForm(DbControl dc, PdfUtil pdfUtil, File pdfFile, List<String> itemIdList, List<String> formTemplateFileList)
to obtain value forAnnotationtype.YELLOW_LABEL
for FFPE block item, and if the annotation is set to "yellow" insert a large asterisk as prefix before the FFPE block name below the bar code with the name (the bar code is unchanged).
comment:156 by , 6 years ago
Design update:
- The first version of the FFPE section registration wizard will consist of two steps:
- The initial FFPE block selection list will only include blocks, already used for FFPE section order forms.
- Input for each FFPE block/section includes number of sections, percentage of viable tumour cells, and optional operator delivery comment.
An FFPE section will be identified with a specimen at registration, and will have a name equal to the FFPE block name + suffix ".s".
ServletBaseLineRegistrationServlet
will be extended with new command "RegisterFFPESections
".
- Items not included in the first version of the FFPE section registration wizard, but that will probably have to be added before deployment:
comment:157 by , 6 years ago
(In [5060]) Refs #1029. First version of FFPE section (specimen) registration wizard added:
- JSP file
index.jsp
inresources/
updated in section "Personal information wizards" by added link for FFPE section registration coupled to new JSP fileffpe_section_registration_alt_rec.jsp
inresources/personal/
. - New JSP file
ffpe_section_registration_alt_rec.jsp
inresources/personal/
added. It is coupled to new Javascript fileffpe_section_registration_alt_rec.js
inresources/personal/
. - New Javascript file
ffpe_section_registration_alt_rec.js
inresources/personal/
added. Functionsubmit()
sends input data as a JSON object to new command "RegisterFFPESections
" inBaseLineRegistrationServlet
. - Java class/file
Annotationtype.java
insrc/net/sf/basedb/meludi/dao/
updated with new public static finalRETURNED_DATE
Date annotation type for sample (FFPE block) items. - Java class/file
InstallServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for commands "Validate
" and "Install
" to add check for new annotation typeAnnotationtype.RETURNED_DATE
. Also, the annotation type is added to annotation type category "FFPE block". - Java class/file
CounterService.java
insrc/net/sf/basedb/meludi/counter/
updated in private methodvoid countFfpeBlocks(DbControl dc, JSONObject json)
to count number of FFPE block items having annotationAnnotationtype.USED_FOR_FFPE_SECTIONS
set to true, as well as the number have new annotationAnnotationtype.RETURNED_DATE
not set or set to a date, and return the result in JSON objects with JSON keys "ffpeblocks-used
", "ffpeblocks-unreturned
", and "ffpeblocks-returned
", respectively. Also, now a non-set value ofAnnotationtype.RETURNED_DATE
is required for an FFPE block to be included in either "ffpeblocks-unused
" or "ffpeblocks-used
". - Java data access object (dao) file
SpecimenTube.java
insrc/net/sf/basedb/meludi/dao/
updated in public static methodList<SpecimenTube> findByCaseName(DbControl dc, String name)
when no specimen items are found using the standard name convention, to check if specimens can be found having the input case name as value forAnnotationtype.CASE_ID
, which is used when the base name (name without suffix) differs for case and specimen items (new name convention). - Java servlet class/file
ExtractionServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "GetUnusedFfpeBlocks
" to only include unreturned FFPE blocks.
b. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated with new command "GetUsedFfpeBlocks
" to return used unreturned FFPE blocks.
c. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated with new command "GetUnreturnedFfpeBlocks
" to return unreturned FFPE blocks.
d. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated with new command "GetReturnedFfpeBlocks
" to return returned FFPE blocks. - Java servlet class/file
BaseLineRegistrationServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doPost(HttpServletRequest req, HttpServletResponse resp)
with new command "RegisterFFPESections
".
comment:158 by , 6 years ago
Design update:
- Annotations for keeping track of where in the normal pipeline an FFPE block is, need to be updated for increased specificity and clarity:
- Boolean annotation
Annotationtype.USED_FOR_FFPE_SECTIONS
exchanged forAnnotationtype.USED_FOR_FFPE_SECTION_ORDER_FORM
, set when an FFPR block is used in an FFPE section order form. - New Boolean annotation
Annotationtype.USED_FOR_FFPE_SECTION
added, set when an FFPE section is registered for an FFPE block.
comment:159 by , 6 years ago
(In [5061]) Refs #1029. FFPE section block/section wizards updated for new/changed Boolean annotations:
- JSP file
index.jsp
inresources/
updated in section "Personal information wizards" by updated counter links for FFPE section order form and FFPE section registration wizards, that now use "ffpeblocks-unused-for-section-order-form
" and "ffpeblocks-unused-for-section
", respectively. - Javascript file
ffpe_section_order_form.js
inresources/personal/
updated to callExtractionServlet
with new command "GetFfpeBlocksUnusedForSectionOrderForm
" to obtain selection list. - Javascript file
ffpe_section_registration_alt_rec.js
inresources/personal/
updated to callExtractionServlet
with new command "GetFfpeBlocksUnusedForSection
" to obtain selection list. - Java class/file
Annotationtype.java
insrc/net/sf/basedb/meludi/dao/
updated with new public static finalUSED_FOR_FFPE_SECTION_ORDER_FORM
(replacesUSED_FOR_FFPE_SECTIONS
) andUSED_FOR_FFPE_SECTION
String annotation types for sample (FFPE block) items. - Java class/file
InstallServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for commands "Validate
" and "Install
" to add check for new annotation typesAnnotationtype.USED_FOR_FFPE_SECTION_ORDER_FORM
andAnnotationtype.USED_FOR_FFPE_SECTION
. Also, the annotation types are added to annotation type category "FFPE block". - Java class/file
CounterService.java
insrc/net/sf/basedb/meludi/counter/
updated in private methodvoid countFfpeBlocks(DbControl dc, JSONObject json)
to return numbers for JSON keys "ffpeblocks-unused-for-section-order-form
" and "ffpeblocks-unused-for-section
". Note that these sets are considered distinct for the purpose of determining step in the standard pipeline. - Java servlet class/file
ExtractionServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated by exchanging command "GetUnusedFfpeBlocks
" for "GetFfpeBlocksUnusedForSectionOrderForm
" and "GetUsedFfpeBlocks
" for "GetFfpeBlocksUnusedForSection
", together with use of new Boolean annotationsAnnotationtype.USED_FOR_FFPE_SECTION_ORDER_FORM
(replacesAnnotationtype.USED_FOR_FFPE_SECTIONS
) andAnnotationtype.USED_FOR_FFPE_SECTION
. - Java servlet class/file
BaseLineRegistrationServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for command "RegisterFFPESections
" to set value of Boolean annotationAnnotationtype.USED_FOR_FFPE_SECTION
totrue
for FFPE block. - Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "GenerateFfpeSectionOrderForm
" to set value of Boolean annotationAnnotationtype.USED_FOR_FFPE_SECTION_ORDER_FORM
totrue
for FFPE block.
comment:160 by , 6 years ago
Design update:
- The first version of the registration wizard for returned FFPE blocks will consist of a single step, with the following components:
- An FFPE block selection list with unreturned blocks that have not been registered with a returned date.
- A returned date input.
Servlet BaseLineRegistrationServlet
will be extended with new command "RegisterReturnedFFPEBlocks
".
comment:161 by , 6 years ago
(In [5062]) Refs #1029. First version of registration wizard for returned FFPE blocks added:
- JSP file
index.jsp
inresources/
updated in section "Personal information wizards" by added link for FFPE block returnal registration coupled to new JSP fileffpe_block_returnal_alt_rec.jsp
inresources/personal/
. - New JSP file
ffpe_block_returnal_alt_rec.jsp
inresources/personal/
added. It is coupled to new Javascript fileffpe_block_returnal_alt_rec.js
inresources/personal/
. - New Javascript file
ffpe_block_returnal_alt_rec.js
inresources/personal/
added. Functionsubmit()
sends input data as a JSON object to new command "RegisterReturnedFFPEBlocks
" inBaseLineRegistrationServlet
. - Java servlet class/file
BaseLineRegistrationServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doPost(HttpServletRequest req, HttpServletResponse resp)
with new command "RegisterReturnedFFPEBlocks
". It sets annotationAnnotationtype.RETURNED_DATE
to the specified date for selected FFPE blocks.
comment:162 by , 6 years ago
(In [5068]) Refs #1029. Data access object file SpecimenTube.java
in src/net/sf/basedb/meludi/dao/
updated in comment concerning creation of extract items at specimen registration. Change set [3276] in Ticket #768 is now also referenced:
- Data access object file
SpecimenTube.java
insrc/net/sf/basedb/meludi/dao/
updated in public static methodList<SpecimenTube> findUnProcessedTubes(DbControl dc, Boolean withExtracts)
by extending comment concerning creation of extract items at specimen registration with information that change involves Ticket #768 and change set [3276] (previously the change set was not specified).
comment:163 by , 6 years ago
(In [5069]) Refs #1029. FFPE section order form wizard updated to create label files for FFPE sections and FFPE H&E glass slides for unused material. The final stage of the wizard is extended with two new buttons for downloading the label files. These buttons will be placed beside the button for downloading the FFPE section order form PDF file. The latter button is renamed to better describe that it is an FFPE section order form that is to be downloaded:
- JSP file
ffpe_section_order_form.jsp
inresources/personal/
updated by renaming button for downloading FFPE section order form to "Download FFPE section order form", and by adding two new buttons, "Download FFPE section labels file" and "Download HE glass labels file". - Javascript file
ffpe_section_order_form.js
inresources/personal/
updated:
a. FunctioninitPage()
updated with click handlers for buttons to download labels for FFPE sections and FFPE H&E glass slides, coupled to new functionsdownloadFfpeSectionLabelFile()
anddownloadHeGlassLabelFile()
, respectively.
b. FunctioninitializeStep2(response)
updated to show buttons to download labels for FFPE sections and FFPE H&E glass slides.
c. New functiondownloadFfpeSectionLabelFile()
added. It callsLabelGenerationServlet
with new command "GetFfpeSectionLabelFile
", supplying a list of selected FFPE blocks.
d. New functiondownloadHeGlassLabelFile()
added. It callsLabelGenerationServlet
with new command "GetHeGlassLabelFile
", supplying a list of selected FFPE blocks. - Java servlet class/file
LabelGenerationServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated with new command "GetFfpeSectionLabelFile
" to created a label file for FFPE sections. The name for an FFPE section consists of the FFPE block name plus suffix ".s
".
b. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated with new command "GetHeGlassLabelFile
" to created a label file for FFPE H&E glass slides. Two FFPE H&E glass slide labels will be created for each FFPE block, with names consisting of the FFPE block name plus suffix ".he-F
" and ".he-E
", respectively, where "F
" and "E
" indicate rest material at the front and end of the sectioned block (historically, the letters indicate the Swedish words "Före" and "Efter", meaning "Before" and "After").
comment:164 by , 6 years ago
(In [5070]) Refs #1029. FFPE block order form wizard updated by renaming button for downloading an FFPE block order form to "Download FFPE block order form":
- JSP file
ffpe_block_order_form.jsp
inresources/personal/
updated by renaming button for downloading FFPE form order form to "Download FFPE block order form".
comment:165 by , 6 years ago
(In [5071]) Refs #1029. Updates due to version number change to "1.6.0a9
".
- Version number changed to "
1.6.0a9
":
a. Outermost Ant XML build filebuild.xml
in/
updated.
b. Extensions XML configuration fileextensions.xml
inMETA-INF/
updated.
c. Javascript filemeludi-2.js
inresources/
updated.
d. Javascript filemeludi_quarter_month_report_generator.js
inresources/reports/
updated.
e. Javascript filesamplereportgenerator.js
inresources/reports/
updated.
f. Java class/fileMeludi.java
insrc/net/sf/basedb/meludi/
updated.
comment:166 by , 6 years ago
(In [5072]) Refs #1029. Updates due to version number change to "1.6.0-dev
".
- Version number changed to "
1.6.0-dev
":
a. Outermost Ant XML build filebuild.xml
in/
updated.
b. Extensions XML configuration fileextensions.xml
inMETA-INF/
updated.
c. Javascript filemeludi-2.js
inresources/
updated.
d. Javascript filemeludi_quarter_month_report_generator.js
inresources/reports/
updated.
e. Javascript filesamplereportgenerator.js
inresources/reports/
updated.
f. Java class/fileMeludi.java
insrc/net/sf/basedb/meludi/
updated.
comment:167 by , 6 years ago
comment:168 by , 6 years ago
Design update:
- As the result of discussions at the SCAN-B-rec/MeLuDI meeting 2018-11-05, some modifications of the MeLuDI software were decided:
- BASE-line registration:
a. Input CSV file should be imported to BASE file system before contents parsed for BASE-line registration.
b. Data parsed from the input file should be presented for the user before registration, but the data should not be editable. If something is wrong, the input file has to be corrected, or a new input file supplied, thus ensuring that the contents of the input file corresponds to the registered data. - FFPE block order form:
a. Input should be updated to be from a multiple-choice list with referral numbers where consent has been given, and where the referral numbers have not previously been used on an FFPE block order form.
b. Several FFPE order forms should be included in a created PDF file.
c. MeLuDI should keep track of what referral numbers have been used in FFPE block order forms.
d. The final step should include a new button "Form OK" to register current referral numbers as having been used in FFPE block order forms.
e. The FFPE block order form updated to only have the personal number printed with bar code in the upper left and medium right positions, while the personal number without bar code in the upper right position should be removed. - FFPE block registration form:
a. Typo should be fixed in step 1 of the wizard (see change set [5073]).
b. Each FFPE block should have input fields for PAD, material number (block number), and localization. - FFPE section order form:
a. Form should be updated to print H&E glass names on separate lines.
b. Form should be updated to print material number instead of PAD number.
c. H&E glass names should consist of FFPE block name plus suffix ".F" or ".E" (for "Före"/"Front" and "Efter"/"End", respectivly), i.e. string "he-" is removed from suffix.
d. The FFPE section name should be printed as bar code and text, in addition to FFPE block name.
e. The offset for printed text and bar codes between adjacent FFPE block entries has to be adjusted, as the height of the frame for each has been increased, in order to accompany more information/input lines.
f. The final step should include a new button "Form OK" to register current FFPE block items as having been used in FFPE section order forms.
g. Label file for H&E glass items should be updated to use names consisting of FFPE block name plus suffix ".F" or ".E" (for "Före"/"Front" and "Efter"/"End", respectivly), i.e. string "he-" is removed from suffix.
h. Clicking on a button to download a label file should not result in a dialog asking if the user wants to leave the current page (this works with the previous label generation wizard). - FFPE section (specimen) registration:
a. A new annotation for "% Tumor cells" is needed, in addition to the one for "% Viable tumor cells".
b. String "Viable" removed in "% Viable tumor cells".
c. PAD exchanged for material number (FFPE block number).
d. Two H&E glass items should be created for each FFPE section, with names consisting of FFPE block name plus suffix ".F" or ".E" (for "Före"/"Front" and "Efter"/"End", respectivly). Each H&E glass item should have the value of % tumor cells saved in an annotation.
e. Specimens should be created without box storage data, as all section material will be used for extraction.
f. DNA and RNA extract items with predetermined box positions should be created for each specimen, in order to adhere to the standard MeLuDI extraction pipeline. - Case Summary:
a. Support for new FFPE block annotations should be added.
b. Support for H&E glass items should be added, with report rows for annotation values for % tumor cells.
c. Related item highlight feature should be imported from Reggie (when an item is clicked, downstream items with same beginning of name are shown with green background). - General/Other:
a. MeLuDI should be updated for use with BASE version 10 before deployment (currently BASE version 7 is used).
comment:169 by , 6 years ago
(In [5074]) Refs #1029. FFPE block registration wizard updated for new input fields and annotations:
- Javascript file
ffpe_block_registration_alt_rec.js
inresources/personal/
updated:
a. FunctioninitializeStep3()
updated by adding input fields for material number and localization.
b. Functionsubmit()
updated by obtaining values from input fields for material number and localization and including the former in JSON object sent toBaseLineRegistrationServlet
for command "RegisterFFPEBlocks
". - JSP file
case_summary_alt_rec.jsp
inresources/reports/
updated in FFPE block section by adding rows for material number and localization. - Javascript file
case_summary_alt_rec.js
inresources/reports/
updated in functioncaseInfoLoaded(response)
by reporting values for material number and localization. - Java class/file
Annotationtype.java
insrc/net/sf/basedb/meludi/dao/
updated with new public static finalMATERIAL_NUMBER
andLOCALIZATION
String annotation types for sample (FFPE block) items. - Java class/file
InstallServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for commands "Validate
" and "Install
" to add check for new annotation typesAnnotationtype.MATERIAL_NUMBER
(requiring Patient Curator permission) andAnnotationtype.LOCALIZATION
. Also, the annotation types are added to annotation type category "FFPE block". - Java servlet class/file
CaseSummaryServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in private methodvoid loadFfpeBlockInfo(DbControl dc, FfpeBlock ffpeBlock)
to add values forAnnotationtype.MATERIAL_NUMBER
andAnnotationtype.LOCALIZATON
to returned JSON object for JSON keys "materialNumber
" and "localization
", respectively.
comment:170 by , 6 years ago
(In [5075]) Refs #1029. Annotation type Annotationtype.LOCALIZATION
updated to not disable logging, as the value is not restricted information:
- Java class/file
Annotationtype.java
insrc/net/sf/basedb/meludi/dao/
updated for public static finalLOCALIZATION
String annotation type for sample (FFPE block) items to not disable logging, as the value is not restricted information.
comment:171 by , 6 years ago
(In [5082]) Refs #1029. FFPE section order form generation updated for new PDF template to:
i. Print material number (block number) instead of PAD number.
ii. Print H&E glass names on separate lines.
iii. H&E names updated to consist of FFPE block name plus suffix ".F" or ".E", respectively.
iv. Print FFPE section name as bar code and text, in addition to FFPE block name.
v. Offset for printed text and bar codes between adjacent FFPE block entries adjusted to new height of the frame for each section.
- Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in private methodPdfUtil createFfpeSectionOrderForm(DbControl dc, PdfUtil pdfUtil, File pdfFile, List<String> itemIdList, List<String> formTemplateFileList)
updated to:
ii. Print H&E glass names on separate lines.
iii. H&E names updated to consist of FFPE block name plus suffix ".F" or ".E", respectively.
iv. Print FFPE section name as bar code and text, in addition to FFPE block name.
v. Offset for printed text and bar codes between adjacent FFPE block entries adjusted to new height of the frame for each section.
comment:172 by , 6 years ago
(In [5083]) Refs #1029. FFPE section order form wizard updated when creating label files for FFPE H&E glass slides for unused material to use H&E glass names consisting of FFPE block name plus suffix ".F" or ".E", respectively:
1 Java servlet class/file
LabelGenerationServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for command "GetHeGlassLabelFile
" when creating label files for FFPE H&E glass slides for unused material to use H&E glass names consisting of FFPE block name plus suffix ".F" or ".E", respectively.
comment:173 by , 6 years ago
(In [5084]) Refs #1029. FFPE section order form wizard updated to show material number instead of PAD numbers in initial FFPE block selection list. Also, clicking on a button to download a label file updated to not result in a dialog asking if the user wants to leave the current page:
- Javascript file
ffpe_section_order_form.js
inresources/personal/
updated:
a. FunctioninitializeStep1(response)
updated to show material number instead of PAD numbers in initial FFPE block selection list.
b. FunctiondownloadFfpeSectionLabelFile()
updated to use commandwindow.open(url)
instead of "window.location = url
" to open a download dialog for a label file.
c. FunctiondownloadHeGlassLabelFile()
updated to use commandwindow.open(url)
instead of "window.location = url
" to open a download dialog for a label file.
comment:174 by , 6 years ago
(In [5092]) Refs #1029. Support for showing connected "chained" items in Case Summary added, indicating items, where the connection is detectable in the names. The implementation closely follows that in extension Reggie
, plus modification for variable item name lengths and including FFPE block items:
- CSS file
case_summary.css
inresources/css/
updated by adding rules for table column header layout for classes "chained
" and "chained.rootitem
" (background color). - New image
parent-child.png
added inresources/images/
. - Javascript file
case_summary_alt_rec.js
inresources/reports/
updated:
a. New global JSONArraychainedItems
added.
b. FunctioncaseInfoLoaded(response)
updated with new variablesmaxItemsInLeftCol
andmaxItemsInRightCol
. Calls of functionasLink(itemType, item, maxLength, chainable)
updated to setmaxLength
to0
andchainable
totrue
for FFPE block, specimen, RNA, DNA, mRNA, cDNA, and library items. Chained items are added to event handler coupled to new functionchainedItemOnClick(event)
.
c. FunctionasLink(itemType, item, maxLength, chainable)
updated with new argumentsmaxLength
andchainable
. If the value ofchainable
istrue
, a link is added to new imageparent-child.png
.
d. New functionchainedItemOnClick(event)
added. It obtains a target list of chained items and calls new functionhighlightChainedItems(targetList, scrollTo)
and adds class 'rootitem' to the parent node.
e. New functionhighlightChainedItems(targetList, scrollTo)
added. It highlights all items that share part of the name with the target that was clicked. Note that parent items have a shorter name and child items have a longer name so two tests are needed.
f. New functionhasCommonElement(list1, list2)
added. It is used by functionhighlightChainedItems(...)
and checks if the two lists have at least a pair of elements where one is a substring of the other.
g. New functiongetDefaultColClass(item, yellowPrefixes)
added. It sets the default color class from the base name of the items.
comment:175 by , 6 years ago
(In [5093]) Refs #1029. Basic support for Histology and H&E glass items added. The implementations are based on the corresponding items in Reggie, but with only a subset of features:
- JSP file
case_summary_alt_rec.jsp
inresources\reports\
updated with section for histology items. - Javascript file
case_summary_alt_rec.js
inresources\reports\
updated in functioncaseInfoLoaded(response)
by adding support for histology items. - New data access object file
HeGlass.java
insrc/net/sf/basedb/meludi/dao/
added. - New data access object file
Histology.java
insrc/net/sf/basedb/meludi/dao/
added. Public static methodList<Histology> findByCaseName(DbControl dc, String name)
updated to use String annotationAnnotationtype.CASE_ID
to check if a histology item is connected to a case item. - Data access object file
Subtype.java
insrc/net/sf/basedb/meludi/dao/
updated by adding new histology relatedSubtype
itemHISTOLOGY
of typeItem.SAMPLE
. - Java servlet class/file
InstallServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for commands "Validate
" and "Install
" to add checks for new sub typeSubtype.HISTOLOGY
and corresponding annotation type category. - Java servlet
CaseSummaryServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "GetCaseInfo
" to find histology items and add the results to JSON object with JSON key "histology
".
b. New private methodvoid loadHistologyInfo(DbControl dc, Histology his)
added.
comment:176 by , 6 years ago
(In [5094]) Refs #1029. MeLuDI updated with new configuration variables he-glass-box-prefix
and he-glass-box-num-digits
, specifying a prefix for H&E glass box names and number of digits in the serial number part of the name for H&E glass boxes.
- MeLuDI configuration XML file template
meludi-config.xml
inconfig/
updated in XML block<projects>
with new XML tags<he-glass-box-prefix>
and<he-glass-box-num-digits>
. - Java class/file
Meludi.java
insrc/net/sf/based/meludi/
updated with new public static methodsString fetchHeGlassBoxPrefix(int activeProjectId)
andInteger fetchHeGlassBoxNumDigits(int activeProjectId)
. They call private static methodsProjectConfig fetchProjectConfig(int activeProjectId)
to obtain aProjectConfig
object, from which the desired configuration values are returned. - Java class/file
MeludiConfiguration
insrc/net/sf/based/meludi/
updated in private methodvoid fetchConfiguration()
to obtain new configuration values "he-glass-box-prefix
" and "he-glass-box-num-digits
" for each project from themeludi-config.xml
configuration file, and store the values in new instance variables inProjectConfig
objects for the projects. - Java data access object class/file
ProjectConfig.java
insrc/net/sf/based/meludi/dao/
updated with new private instance variables and corresponding public accessor methods for new configuration values. - Java servlet class/file
SessionServlet.java
insrc/net/sf/based/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for command "GetConfiguration
" to store new configuration values for H&E glass name prefix and number of digits for active project in returned JSONObject for JSON keys "heGlassBoxPrefix
" and "heGlassBoxNumDigits
".
comment:177 by , 6 years ago
(In [5095]) Refs #1029. Updates needed for FFPE blocks in selection menus to show value of material number (FFPE block number):
- Java servlet class/file
ExtractionServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for commands "GetFfpeBlocks
", "GetFfpeBlocksUnusedForSectionOrderForm
", "GetFfpeBlocksUnusedForSection
", "GetUnreturnedFfpeBlocks
", and "GetReturnedFfpeBlocks
" to add value of material number for JSON key "materialNumber
".
comment:178 by , 6 years ago
comment:179 by , 6 years ago
(In [5111]) Refs #1029. FFPE section registration wizard prepared for new sample subtypes and annotations:
- Java class/file
Annotationtype.java
insrc/net/sf/basedb/meludi/dao/
updated with new public static finalTUMOUR_CELLS_PERCENT
integer annotation type for sample (Stained) items. This annotation type is a supplement to existing annotation typeVIABLE_TUMOUR_CELLS_PERCENT
, which is not always appropriate due to the specification "Viable" in the name. - Java class/file
BioplateType.java
insrc/net/sf/basedb/meludi/dao/
updated with new public static final BioplateTypeHE_GLASS
for the "HE stain glass" plate type. - Java class/file
Subtype.java
insrc/net/sf/basedb/meludi/dao/
updated with new public static final SubtypeSTAINED
for sample items. - Java class/file
InstallServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for commands "Validate
" and "Install
" to add check for new subtypesSubtype.STAINED
andSubtype.HISTOLOGY
, bioplate typeBioplateType.HE_GLASS
, and annotation typesAnnotationtype.TUMOUR_CELLS_PERCENT
andAnnotationtype.IHC
. Also, annotation typeAnnotationtype.TUMOUR_CELLS_PERCENT
was added to annotation type categorySubtype.STAINED
.
comment:180 by , 6 years ago
(In [5114]) Refs #1029. FFPE section (specimen) registration wizard updated:
- Javascript file
ffpe_section_registration_alt_rec.js
inresources/personal/
updated:
a. FunctioninitializeStep2()
updated to support input of material number (FFPE block number), creation of DNA and RNA extracts with storage locations, as well as H&E glass items. ServletBaseLineRegistration
is called with command "FindStoragePositions
" to find various storage positions.
b. New functionsstoragePositionsLoaded(response)
,boxOnKeyUp(event)
,wellOnChange(event)
,onBoxValidated(response, boxType, index)
, andnofSectionsOnChange(event)
added to manage new input alternatives.
c. Functionsubmit()
updated to send new input data to servletBaseLineRegistration
with command "RegisterFFPESections
". - Java servlet class/file
BaseLineRegistrationServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated with new command "FindStoragePositions
" to find storage positions for DNA and RNA extracts, as well as H&E glass items.
b. Protected methodvoid doPost(HttpServletRequest req, HttpServletResponse resp)
updated for command "RegisterFFPESections
" to store material number as annotation on specimen, create DNA and RNA extracts with storage locations, as well as for each specimen create a histology item coupled to twoStained
sample items for "F" ("Front") and "E" ("End") residual material from the sectioning. EachStained
sample item is placed on a H&E glass item, which is given a storage position in a glass slide box (the bioplateTray
andPosition
parameters are used for box name and position in box, respectively).
comment:181 by , 6 years ago
(In [5115]) Refs #1029. Case summary updated to support new naming scheme for DNA and RNA extracts, as well as histology, H&E glass, and Stained sample items:
- JSP file
case_summary_alt_rec.jsp
inresources\reports\
updated in histology section with support for "F" and "E" H&E glass items and tumour cell percentages for the correspondingStained
samples. - Javascript file
case_summary_alt_rec.js
inresources\reports\
updated in functioncaseInfoLoaded(response)
by adding support for "F" and "E" H&E glass items and tumour cell percentages for the correspondingStained
samples. - Data access object file
Dna.java
insrc/net/sf/basedb/meludi/dao/
updated in public static methodList<Dna> findByCaseName(DbControl dc, String name)
when no extract items are found from the input case name, to first try to find specimen items with value of annotation typeAnnotationtype.CASE_ID
equal to the input case name, in which case the extract search is repeated with each specimen name as input, instead of the case name. The update was designed not to break working functionality for MeLuDI projects using the original naming scheme, while also work with the new scheme. - Data access object file
Rna.java
insrc/net/sf/basedb/meludi/dao/
updated in public static methodList<Rna> findByCaseName(DbControl dc, String name)
when no extract items are found from the input case name, to first try to find specimen items with value of annotation typeAnnotationtype.CASE_ID
equal to the input case name, in which case the extract search is repeated with each specimen name as input, instead of the case name. The update was designed not to break working functionality for MeLuDI projects using the original naming scheme, while also work with the new scheme. - Java servlet
CaseSummaryServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in private methodvoid loadHistologyInfo(DbControl dc, Histology his)
to get information forStained
child sample items to input histology item. IfStained
items are found, values of annotation typeAnnotationtype.TUMOUR_CELLS_PERCENT
are obtained, as well as the ID, name, and bioWell of the item (the bioWell will always be "A1" for these items, as only one stained item is plced on each H&E glass slide).
comment:182 by , 6 years ago
- Known issues with current FFPE section (specimen) registration wizard:
- Routine for finding a storage box for a H&E glass item currently only works, when no existing box exists. The existing name that is obtained is that of the stained item, not the "Tray" item, that should be used.
- Routine for finding a storage box should move to a new box, when the current one is filled. This functionality is currently missing.
It is essential that these issues are fixed before deployment.
comment:183 by , 6 years ago
(In [5116]) Refs #1029. FFPE block order form wizard updated to no longer write personal number without bar code in the upper right part of the form, since it is printed with bar code in the upper left and medium right positions:
- Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in private methodPdfUtil createFfpeForm(DbControl dc, PdfUtil pdfUtil, File pdfFile, String itemId, String pad, String personalNumber, String familyName, String allFirstNames, List<String> formTemplateFileList)
to no longer write personal number without bar code in the upper right part of the form, since it is printed with bar code in the upper left and medium right positions.
comment:184 by , 6 years ago
(In [5119]) Refs #1029. FFPE section (specimen) registration wizard updated by fixing problems in code for finding H&E glass box names and positions in boxes to work when some positions already have been assigned, and when a box is filled:
- Java servlet class/file
BaseLineRegistrationServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for command "FindStoragePositions
" by fixing problems in code for finding H&E glass box names and positions in boxes to work when some positions already have been assigned, and when a box is filled.
comment:185 by , 6 years ago
(In [5121]) Refs #1029. FFPE section (specimen) registration wizard updated with bug fix when finding H%E glass box position, when no box exists. Also marking registered items as used, so as not to appear in selections list for FFPE section registration wizard again:
- Java servlet class/file
BaseLineRegistrationServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "FindStoragePositions
" with bug fix when finding H%E glass box position, when no box exists.
b. Protected methodvoid doPost(HttpServletRequest req, HttpServletResponse resp)
updated for command "RegisterFFPESections
" by marking registered items as used, so as not to appear in selections list for FFPE section registration wizard again.
comment:186 by , 6 years ago
(In [5126]) Refs #1029. FFPE section (specimen) registration wizard updated to base H&E glass item name on FFPE block name instead of FFPE section name (no ".s" in name):
- Javascript file
ffpe_section_registration_alt_rec.js
inresources/personal/
updated in functioninitializeStep2()
to base H&E glass item name on FFPE block name instead of FFPE section name (no ".s" in name). - Java servlet class/file
BaseLineRegistrationServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doPost(HttpServletRequest req, HttpServletResponse resp)
for command "RegisterFFPESections
" to to base H&E glass item name on FFPE block name instead of FFPE section name (no ".s" in name).
comment:187 by , 6 years ago
(In [5127]) Refs #1029. FFPE section order form wizard updated with new button "Form[s] OK" in final step. FFPE sections will now only be registered as used for FFPE section order form if the button is pressed:
- JSP file
ffpe_section_order_form.jsp
inresources/personal/
updated in final step with new button "Form[s] OK" with id "formsok
". - Javascript file
ffpe_section_order_form.js
inresources/personal/
updated:
a. FunctioninitPage()
updated with click handler for button "Form[s] OK" with id "formsok
", coupled to new functionformsOk()
.
b. FunctioninitializeStep2(response)
updated to show button "Form[s] OK" with id "formsok
".
c. New functionformsOk()
added. It callsReferralGeneratorServlet
with new command "RegisterFfpeSectionOrderFormsAsOk
", supplying a list of selected FFPE blocks. - Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "GenerateFfpeSectionOrderForm
" to no longer set value of Boolean annotationAnnotationtype.USED_FOR_FFPE_SECTION_ORDER_FORM
totrue
for processed FFPE block items.
b. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated with new command "RegisterFfpeSectionOrderFormsAsOk
" to set value of Boolean annotationAnnotationtype.USED_FOR_FFPE_SECTION_ORDER_FORM
totrue
for processed FFPE block items.
comment:188 by , 6 years ago
(In [5128]) Refs #1029. Updates due to version number change to "1.6.0a10
".
- Version number changed to "
1.6.0a10
":
a. Outermost Ant XML build filebuild.xml
in/
updated.
b. Extensions XML configuration fileextensions.xml
inMETA-INF/
updated.
c. Javascript filemeludi-2.js
inresources/
updated.
d. Javascript filemeludi_quarter_month_report_generator.js
inresources/reports/
updated.
e. Javascript filesamplereportgenerator.js
inresources/reports/
updated.
f. Java class/fileMeludi.java
insrc/net/sf/basedb/meludi/
updated.
comment:189 by , 6 years ago
(In [5129]) Refs #1029. Updates due to version number change to "1.6.0-dev
".
- Version number changed to "
1.6.0-dev
":
a. Outermost Ant XML build filebuild.xml
in/
updated.
b. Extensions XML configuration fileextensions.xml
inMETA-INF/
updated.
c. Javascript filemeludi-2.js
inresources/
updated.
d. Javascript filemeludi_quarter_month_report_generator.js
inresources/reports/
updated.
e. Javascript filesamplereportgenerator.js
inresources/reports/
updated.
f. Java class/fileMeludi.java
insrc/net/sf/basedb/meludi/
updated.
comment:190 by , 6 years ago
Design update:
- As the result of discussions at the SCAN-B-rec/MeLuDI meeting 2018-11-21, some modifications of the MeLuDI software were decided:
- BASE-line registration:
a. Blood tube boxes should have names consisting of the storage box prefix and number of digits configured for the project, plus suffix "_bl" (for "blood" or "base-line"). - FFPE block registration:
a. Parameter/annotation type "Localization" should be renamed "Localisation". - FFPE section registration:
a. When storage is discussed, "located" should be changed to "placed" in help text. - Wizards in general:
a. Date input fields and calendar icon buttons should be supplemented by a "Today" button. - Case summary:
a. FFPE block section should be updated with entry for returned date.
- Items decided at the SCAN-B-rec/MeLuDI meeting 2018-11-05, that still have to be implemented:
- BASE-line registration:
a. Input CSV file should be imported to BASE file system before contents parsed for BASE-line registration.
b. Data parsed from the input file should be presented for the user before registration, but the data should not be editable. If something is wrong, the input file has to be corrected, or a new input file supplied, thus ensuring that the contents of the input file corresponds to the registered data. - FFPE block order form:
a. Input should be updated to be from a multiple-choice list with referral numbers where consent has been given, and where the referral numbers have not previously been used on an FFPE block order form.
b. Several FFPE order forms should be included in a created PDF file.
c. MeLuDI should keep track of what referral numbers have been used in FFPE block order forms.
d. The final step should include a new button "Form OK" to register current referral numbers as having been used in FFPE block order forms. - Case Summary:
a. Support for new FFPE block annotations should be added. - General/Other:
a. MeLuDI should be updated for use with BASE version 10 before deployment (currently BASE version 7 is used).
comment:191 by , 6 years ago
(In [5135]) Refs #1029. Case summary updated in FFPE block section by adding row for "Returned" date:
- JSP file
case_summary_alt_rec.jsp
inresources/reports/
updated in FFPE block section by adding row for "Returned" date. - Javascript file
case_summary_alt_rec.js
inresources/reports/
updated in functioncaseInfoLoaded(response)
by reporting value for date an FFPE block was returned. - Java servlet class/file
CaseSummaryServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in private methodvoid loadFfpeBlockInfo(DbControl dc, FfpeBlock ffpeBlock)
to add value forAnnotationtype.RETURNED_DATE
to returned JSON object for JSON key "returnedDate
".
comment:192 by , 6 years ago
(In [5137]) Refs #1029. FFPE section registration wizard updated in help text by changing "located" to "placed", when referring to storage:
- Javascript file
ffpe_section_registration_alt_rec.js
inresources/personal/
updated in functioninitializeStep2()
by changing "located" to "placed", when referring to storage in help text.
comment:193 by , 6 years ago
(In [5149]) Refs #1029. BASE-line registration from file updated to support CSV input file on BASE file system:
- Javascript file
meludi-2.js
inresources/
updated:
a. Functionwizard.initFileSelectionField(element)
updated by exchanging callmeludi.getSubtypeInfo(subtype)
forMeludi.getSubtypeInfo(subtype)
. This change is more important than it looks, as it is essential for the current code to work.
b. New functionswizard.getSubtypeInfo(subtype)
,wizard.getDataFileTypeInfo(filetype)
, andwizard.setCurrentDirectory(path)
added. - JSP file
baseline_from_file_alt_rec.jsp
inresources/personal/
updated in step 1 to exchange a file input field for a text input field withdata-subtype="BASE_LINE_CSV"
,data-name-filter="%.csv"
, anddata-directory="/home/SCAN-B-rec/BaselineFiles"
, plus a BASE button "Browse..." with id equal to "baseLineFile.btn
". - Javascript file
baseline_from_file_alt_rec.js
inresources/personal/
updated*:
a. FunctioninitPage()
updated with initial callWizard.initFileSelectionField('baseLineFile')
.
b. FunctionvalidateStep1(event)
updated to value of variablefile
fromfrm.baseLineFile.value
instead offrm.baseLineFile.files[0]
, due the change of type of input fieldbaseLineFile
.
c. FunctionbaseLineFileOnChange()
updated to get value of variablefile
fromfrm.baseLineFile.value
, after whichBaseLineRegistrationServlet
is called with new command "ImportBaseLineFile
" to extract the lines from the input file and send them in a JSONArray to functionparseBaseLineFile(data)
.
d. FunctionparseBaseLineFile(data)
updated to obtain text lines from servlet response in JSONArray with JSON key "baseLineData
" and assume a "tab" separator for columns. Also, help text for box storage updated to use "placed" instead of "located". CallDoc.show('goregister')
added at end to show "Register" button. - Java data access object (DAO) class/file
Subtype.java
insrc/net/sf/basedb/meludi/dao/
updated with new public static final SubtypeBASE_LINE_CSV
for file items. - Java class/file
InstallServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for commands "Validate
" and "Install
" to add check for new subtypeSubtype.BASE_LINE_CSV
. - Java servlet class/file
BaseLineRegistrationServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
by adding new command "ImportBaseLineFile
". It obtains value of file path in BASE file system from input parameter "csvPath
", after which it reads lines from the file and returns them in JSONArray with JSON key "baseLineData
".
comment:194 by , 6 years ago
(In [5152]) Refs #1029. BASE-line registration from file updated to use 10x10 blood boxes instead of 9x9, as previously assumed:
- Java servlet class/file
BaseLineRegistrationServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated:
a. Private methodBioWell fetchBioWell(DbControl dc, JSONObject jsonSpec, HashMap<String, BioPlate> bioPlateNamePlateHashMap, String boxType)
updated for box type equal to "Blood" to call new private methodBioPlate createStorageBox(DbControl dc, String plateName, String geometryString)
with argumentgeometryString
equal to "100-well (10x10)
", when creating a new storage box item.
b. Private methodBioPlate createStorageBox(DbControl dc, String plateName)
updated to call new private methodBioPlate createStorageBox(DbControl dc, String plateName, String geometryString)
with argumentgeometryString
equal to "81-well (9 x 9)
", when creating a new storage box item.
c. New private methodBioPlate createStorageBox(DbControl dc, String plateName, String geometryString)
added. It is based on previous private methodBioPlate createStorageBox(DbControl dc, String plateName)
, but uses thegeometryString
argument when specifying the plate geometry, instead of assuming that it is "81-well (9 x 9)
".
Note that the solution above expects that a plate geometry "100-well (10x10)
" already exists on the used BASE installation.
comment:195 by , 6 years ago
(In [5154]) Refs #1029. FFPE section order form generation updated to use a yellow asterisk image to mark a "Yellow label" item, instead of a printed asterisk:
- Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in private methodPdfUtil createFfpeSectionOrderForm(DbControl dc, PdfUtil pdfUtil, File pdfFile, List<String> itemIdList, List<String> formTemplateFileList)
to use a yellow asterisk image to mark a "Yellow label" item, instead of a printed asterisk.
comment:196 by , 6 years ago
(In [5155]) Refs #1029. BASE-line registration from file updated for 10x10 blood boxes to use correct standard for plate geometry name with spaces inside parenthesis:
- Java servlet class/file
BaseLineRegistrationServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in private methodBioWell fetchBioWell(DbControl dc, JSONObject jsonSpec, HashMap<String, BioPlate> bioPlateNamePlateHashMap, String boxType)
for box type equal to "Blood" to call private methodBioPlate createStorageBox(DbControl dc, String plateName, String geometryString)
with argumentgeometryString
equal to "100-well (10 x 10)
", when creating a new storage box item, instead of "100-well (10x10)
", as was initially used.
comment:197 by , 6 years ago
(In [5158]) Refs #1029. FFPE block order form wizard:
i. Input should be from a selection list of case items not registered as used for FFPE block order forms.
ii. An FFPE block order form PDF file should be able to contain several FFPE block order forms.
iii. The final step should contain a new button "Form[s] OK". Cases will be registered as used for FFPE block order form if the button is pressed:
- JSP file
index.jsp
inresources/
updated in section "Personal information wizards" by updated counter links for FFPE block order form wizard, that uses "cases-unused-for-ffpe-block-order-form
". - JSP file
ffpe_block_order_form.jsp
inresources/personal/
updated in step 1 to allow input from a selection list with id "extractSourceItems
". Final step updated with new button "Form[s] OK" with id "formsok
". - Javascript file
ffpe_block_order_form.js
inresources/personal/
updated:
a. FunctioninitPage()
updated by coupling event handler for "extractSourceItems
" to new functionsourceItemsOnChange()
. Button click handler for "formsok
" coupled to new functionformsOk()
.ExtractionServlet
called with new command "GetCasesUnusedForFfpeBlockOrderForm
" and callback functioninitializeStep1()
.
b. FunctioninitializeStep1(response)
updated to populate input selection listextractSourceItems
with data from servlet response.
c. New functionsourceItemsOnChange()
added. It checks that at least one list item is selected.
d. FunctiongenerateReferralForms()
updated to obtain list of selected case items by calling new functiongetSelectedItemsList()
, after which it callsReferralGeneratorServlet
with new command "GenerateFfpeBlockOrderForm
" and supplying selected case item list with new parameter "caselist
".
e. FunctioninitializeStep2(response)
updated to show new button with idformsok
.
f. FunctiondownloadFormBatch(batchType)
updated to get start item name from referral ID of first item in selected case list.
g. New functionformsOk()
added. It obtains list of selected case items by calling new functiongetSelectedItemsList()
, after which it callsReferralGeneratorServlet
with new command "RegisterFfpeBlockOrderFormsAsOk
".
h. New functiongetSelectedItemsList()
added. It obtains a list of selected case items fromextractSourceItems
and returns it as a JSONArray. - Java class/file
Annotationtype.java
insrc/net/sf/basedb/meludi/dao/
updated with new public static finalUSED_FOR_FFPE_BLOCK_ORDER_FORM
Boolean annotation type for sample (Case) items. - Java class/file
InstallServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for commands "Validate
" and "Install
" to add check for new annotation typeAnnotationtype.USED_FOR_FFPE_BLOCK_ORDER_FORM
. Also, the annotation type is added to annotation type category "Case". - Java class/file
CounterService.java
insrc/net/sf/basedb/meludi/counter/
updated in private methodvoid countCases(DbControl dc, JSONObject json)
to return numbers for JSON key "cases-unused-for-ffpe-block-order-form
". - Java servlet class/file
ExtractionServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated with new command "GetCasesUnusedForFfpeBlockOrderForm
". It returns a JSONArray of case items, that have non-null consent dates and do not have valuetrue
for Boolean annotationAnnotationtype.USED_FOR_FFPE_BLOCK_ORDER_FORM
. Referral ID and personal number for related patient item are returned with each case item. - Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated with new command "GenerateFfpeBlockOrderForm
". It generates a PDF file with FFPE block order forms for case items in input list for parameter ""caselist"
".
b. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated with new command "RegisterFfpeBlockOrderFormsAsOk
" to set value of Boolean annotationAnnotationtype.USED_FOR_FFPE_BLOCK_ORDER_FORM
totrue
for case items obtained from input parameter "caselist
".
comment:198 by , 6 years ago
(In [5159]) Refs #1029. BASE-line registration from file updated by disabling input fields showing data from parsed input file, thus ensuring that registered values are those in the parsed file:
- Javascript file
baseline_from_file_alt_rec.js
inresources/personal/
updated in functionparseBaseLineFile(data)
to set value of variabledisabledAttribute
to "disabled
", thus disabling input fields showing data from parsed input file.
comment:199 by , 6 years ago
(In [5160]) Refs #1029. Annotation type LOCALIZATION renamed LOCALISATION, FFPE block registration wizard updated to fix bugs when registering material number and localisation, and fix of bugs in Case Summary support for material number and localisation:
- Javascript file
ffpe_block_registration_alt_rec.js
inresources/personal/
updated:
a. FunctioninitializeStep3()
updated by exchangingmaterialNo
andlocalization
formaterialNumber
andlocalisation
, respectively.
b. Functionsubmit()
updated by exchangingmaterialNo
andlocalization
formaterialNumber
andlocalisation
, respectively. - JSP file
case_summary_alt_rec.jsp
inresources/reports/
updated in FFPE block section by exchanginglocalization
forlocalisation
. - Javascript file
case_summary_alt_rec.js
inresources/reports/
updated in functioncaseInfoLoaded(response)
by exchanginglocalization
forlocalisation
. - Java class/file
Annotationtype.java
insrc/net/sf/basedb/meludi/dao/
updated for public static finalLOCALIZATION
String annotation type for sample (FFPE block) items by renaming itLOCALISATION
. - Java class/file
InstallServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for commands "Validate
" and "Install
" by exchangingAnnotationtype.LOCALIZATION
forAnnotationtype.LOCALISATION
. - Java servlet class/file
BaseLineRegistrationServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated with bug fix in protected methodvoid doPost(HttpServletRequest req, HttpServletResponse resp)
for command "RegisterFFPEBlocks
" to obtain values for material number and localisation from input JSON object and store them in FFPE block annotationsAnnotationtype.MATERIAL_NUMBER
andAnnotationtype.LOCALISATION
, respectively. - Java servlet class/file
CaseSummaryServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in private methodvoid loadFfpeBlockInfo(DbControl dc, FfpeBlock ffpeBlock)
by exchanginglocalization
andAnnotationtype.LOCALIZATON
forlocalisation
andAnnotationtype.LOCALISATON
, respectively.
comment:200 by , 6 years ago
(In [5162]) Refs #1029. Case summary in section "Statistics and reporting wizards" updated for the SCAN-B-rec project with link to new auxiliary wizard "Case summary shortcut", allowing case for Case summary to be selected from a list of registered cases for the current project. The cases are listed in reverse order, with the newest first, and if the user has administrator or patient curator privileges, the referral ID and patient personal number is shown for each case:
- JSP file
index.jsp
inresources/
updated in section "Statistics and reporting wizards" with new auxiliary wizard "Case summary shortcut" linked to new JSP filecase_summary_shortcut_alt_rec.jsp
inresources/reports/
. - New JSP file
case_summary_shortcut_alt_rec.jsp
inresources/reports/
added. It is linked to new javascript filecase_summary_shortcut_alt_rec.jsp.js
inresources/reports/
. - Javascript file
case_summary_shortcut_alt_rec.jsp.js
inresources/reports/
added. It is based on javascript fileffpe_block_order_form.js
inresources/personal/
, but in functioninitPage()
callsExtractionServlet
with new command "GetCases
", in functioninitializeStep1(response)
adds referral ID and personal number to case name, if any of the former variables have values, in functionvalidateStep1(event)
at end calls functioncaseSummary()
, and in functioncaseSummary()
setsurl
tocase_summary_alt_rec.jsp
and supplies the selected case name. - Java servlet class/file
ExtractionServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
with new command "GetCases
". It returns a JSONArray of case items for the current project, adding referral ID and personal number of related patient, if the user has appropriate privileges.
comment:201 by , 6 years ago
comment:202 by , 6 years ago
comment:203 by , 6 years ago
(In [5169]) Refs #1029. MeLuDI updated by removing configuration variables blood-box-prefix
, blood-box-num-digits
, he-glass-box-prefix
, and he-glass-box-num-digits
, since names for blood and H&E glass boxes will be based on the standard storage box settings for the project, plus a suffix defining the contents in the box.
- MeLuDI configuration XML file template
meludi-config.xml
inconfig/
updated in XML block<projects>
by removing XML tags<blood-box-prefix>
,<blood-box-num-digits>
,<he-glass-box-prefix>
, and<he-glass-box-num-digits>
. - Java class/file
Meludi.java
insrc/net/sf/based/meludi/
updated by removing public static methodsString fetchBloodBoxPrefix(int activeProjectId)
,Integer fetchBloodBoxNumDigits(int activeProjectId)
,String fetchHeGlassBoxPrefix(int activeProjectId)
, andInteger fetchHeGlassBoxNumDigits(int activeProjectId)
. - Java class/file
MeludiConfiguration
insrc/net/sf/based/meludi/
updated in private methodvoid fetchConfiguration()
to by removing entries related to configuration values "blood-box-prefix
", "blood-box-num-digits
", "he-glass-box-prefix
", and "he-glass-box-num-digits
" for each project from themeludi-config.xml
configuration file. - Java data access object class/file
ProjectConfig.java
insrc/net/sf/based/meludi/dao/
updated by removing private instance variables and corresponding public accessor methods for removed configuration values. - Java servlet class/file
SessionServlet.java
insrc/net/sf/based/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for command "GetConfiguration
" by removing entries to removed configuration values for blood and H&E glass box names for active project in returned JSONObject for JSON keys "bloodBoxPrefix
", "bloodBoxNumDigits
", "heGlassBoxPrefix
", and "heGlassBoxNumDigits
".
comment:204 by , 6 years ago
(In [5171]) Refs #1029. Registration wizard for returned FFPE blocks updated with "Today" button for returned date field:
- New image file
today.png
inimages/
added. - JSP file
ffpe_block_returnal_alt_rec.jsp
inresources/personal/
updated with new button with ID "today
" to the right of calendar icon for input field for returned date. - Javascript file
ffpe_block_returnal_alt_rec.js
inresources/personal/
updated:
a. FunctioninitPage()
updated by adding click handler for button "today
" coupled to new functionreturnedDateToday()
.
b. New help functionDate.prototype.yyyymmdd()
added. It returns a date in YYYYMMDD format (taken from https://stackoverflow.com/questions/3066586/get-string-in-yyyymmdd-format-from-js-date-object).
c. New functionreturnedDateToday()
added. It inserts today's date in input field with id "returnedDate
".
comment:205 by , 6 years ago
(In [5172]) Refs #1029. BASE-line servlet updated to use project standard storage box settings for names of blood boxes, instead of dedicated configuration values (the code in question is currently unused, and requires more updates to be fully compatible with the new name standard for boxes using a suffix to determine box contents):
- Java servlet class/file
BaseLineRegistrationServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in private methodJSONArray findFreeBloodWells(DbControl dc, Integer nofTubes, String storageBoxSuffix, Boolean fillGaps)
for box type equal to "Blood" to no longer use dedicated configuration values for blood box names.
comment:206 by , 6 years ago
(In [5173]) Refs #1029. Updates due to version number change to "1.6.0b1
".
- Version number changed to "
1.6.0b1
":
a. Outermost Ant XML build filebuild.xml
in/
updated.
b. Extensions XML configuration fileextensions.xml
inMETA-INF/
updated.
c. Javascript filemeludi-2.js
inresources/
updated.
d. Javascript filemeludi_quarter_month_report_generator.js
inresources/reports/
updated.
e. Javascript filesamplereportgenerator.js
inresources/reports/
updated.
f. Java class/fileMeludi.java
insrc/net/sf/basedb/meludi/
updated.
comment:207 by , 6 years ago
(In [5174]) Refs #1029. Updates due to version number change to "1.6.0-dev
".
- Version number changed to "
1.6.0-dev
":
a. Outermost Ant XML build filebuild.xml
in/
updated.
b. Extensions XML configuration fileextensions.xml
inMETA-INF/
updated.
c. Javascript filemeludi-2.js
inresources/
updated.
d. Javascript filemeludi_quarter_month_report_generator.js
inresources/reports/
updated.
e. Javascript filesamplereportgenerator.js
inresources/reports/
updated.
f. Java class/fileMeludi.java
insrc/net/sf/basedb/meludi/
updated.
comment:208 by , 6 years ago
(In [5175]) Refs #1029. Plate geometry for 10 x 10 wells added:
- Java data access object class/file
Geometry.java
insrc/net/sf/basedb/meludi/dao/
updated with new plate geometry public static finalGeometry.TEN_BY_TEN
for "100-well (10 x 10)" plates/boxes. - Java class/file
InstallServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for commands "Validate
" and "Install
" by checking if plate geometryGeometry.TEN_BY_TEN
exists, and otherwise create it.
comment:209 by , 6 years ago
Design update:
- As the result of discussions at the SCAN-B-rec/MeLuDI meeting 2018-12-04, some modifications of the MeLuDI software were decided:
- Referral form generation:
a. Patient info forms should be removed.
b. As a result of the removed patient info forms, there is no need to add a blank page after each consent form, the other form in the PDF file to be printed on regular paper, since single-sided printing can now be used.
c. Names of generated PDF files should be updated by exchanging "meludi" for the project name. - FFPE block order form and FFPE section order form generation:
a. The generated PDF file should get a name, that makes the content of the file clearer. - FFPE block registration:
a. Input should be from a list.
b. A counter should display the number of items in the current list.
c. A "Today" button should be available for the Arrival date input field.
d. Individual (shipping) date. - Wizards with a "Form[s] OK" button should display the message below the buttons.
- Specimen registration:
a. Number of sections should not have a default value. - Convenience methods for discriminating between MeLuDI items and extra items in extraction wizards should be updated to support the new naming scheme for items.
comment:210 by , 6 years ago
(In [5201]) Refs #1029. Referral form generation updated to exchange initial string "meludi" in names of generated PDF files for name of active project:
- Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/based/meludi/servlet/
updated:
a. Constant final StringREF_FORM_BATCH_BASE_FILENAME
updated by removing initial "meludi_".
b. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "GenerateReferralForms
" to obtain name of active project and use it as argument, when callingString fetchReferralFormBatchFilePath(int batchType, String projectName)
.
c. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "GenerateFfpeReferralForm
" to obtain name of active project and use it as argument, when callingString fetchReferralFormBatchFilePath(int batchType, String projectName)
.
d. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "GenerateFfpeBlockOrderForm
" to obtain name of active project and use it as argument, when callingString fetchReferralFormBatchFilePath(int batchType, String projectName)
.
e. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "GenerateFfpeSectionOrderFormSequential
" to obtain name of active project and use it as argument, when callingString fetchReferralFormBatchFilePath(int batchType, String projectName)
.
f. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "GenerateFfpeSectionOrderForm"
" to obtain name of active project and use it as argument, when callingString fetchReferralFormBatchFilePath(int batchType, String projectName)
.
g. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "DownloadFormBatchFile"
" to obtain name of active project and use it as argument, when callingString fetchReferralFormBatchFilePath(int batchType, String projectName)
andfetchReferralFormBatchFileName()
.
h. Private methodString fetchReferralFormBatchFilePath(int batchType, String projectName)
updated with new argumentString projectName
, which is used as new argument when callingfetchReferralFormBatchFileName()
i. Private methodString fetchReferralFormBatchFileName(int batchType, String projectName)
updated with new argumentString projectName
, which is used as new argument when calling private methodString fetchReferralFormBatchFileName(int batchType, String startItemIdDigits, String endItemIdDigits, String projectName)
.
j. Private methodString fetchReferralFormBatchFileName(int batchType, String startItemIdDigits, String endItemIdDigits, String projectName)
updated with new argumentString projectName
, which is used when creating the referral form batch filename.
comment:211 by , 6 years ago
Design update:
- Referral form generation is updated to not include patient info forms by removing the corresponding referral form template PDF file from BASE directory
ReferralFormTemplatesInUse
in the project directory.
comment:212 by , 6 years ago
(In [5202]) Refs #1029. Referral form generation updated to no longer add a blank page after each consent form, since now one-sided printing is to be used also for forms in PDF batch file type 2:
- JSP file
generate-referral-forms.jsp
inresources/personal/
updated in header with instruction text to specify one-sided printing for both PDF batch files. - Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/based/meludi/servlet/
updated:
a. Private methodPdfUtil createBarcodeNonStickerForm(DbControl dc, PdfUtil pdfUtil, String itemId, List<String> formTemplateFileList)
updated to no longer add a blank page after each form.
comment:213 by , 6 years ago
(In [5203]) Refs #1029. Registration wizard for FFPE blocks updated with "Today" button for arrival date field:
- JSP file
ffpe_block_registration_alt_rec.jsp
inresources/personal/
updated with new button with ID "today
" to the right of calendar icon for input field for arrival date. - Javascript file
ffpe_block_registration_alt_rec.js
inresources/personal/
updated:
a. FunctioninitPage()
updated by adding click handler for button "today
" coupled to new functionarrivalDateToday()
.
b. New help functionDate.prototype.yyyymmdd()
added. It returns a date in YYYYMMDD format (taken from https://stackoverflow.com/questions/3066586/get-string-in-yyyymmdd-format-from-js-date-object).
c. New functionarrivalDateToday()
added. It inserts today's date in input field with id "arrivalDate
".
comment:214 by , 6 years ago
(In [5204]) Refs #1029. FFPE block order form generation updated to use a name of the downloaded PDF batch file, that makes the content of the file clearer:
- Javascript file
ffpe_block_order_form.js
inresources/personal/
updated in functiondownloadFormBatch(batchType)
to add new parameteraltfilename
set to string "FFPE_Block_Order_Form
", when callingReferralGeneratorServlet
with command "DownloadFormBatchFile
". - Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/based/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "DownloadFormBatchFile
" to obtain name of alternative filename from new parameteraltfilename
, and to use it as new argument when calling private methodString fetchReferralFormBatchFileName(int batchType, String startItemIdDigits, String endItemIdDigits, String projectName, String altFilename)
.
b. Private methodString fetchReferralFormBatchFileName(int batchType, String projectName)
updated to call private methodString fetchReferralFormBatchFileName(int batchType, String startItemIdDigits, String endItemIdDigits, String projectName, String altFilename)
with new argumentString altFilename
having valuenull
.
c. Private methodString fetchReferralFormBatchFileName(int batchType, String startItemIdDigits, String endItemIdDigits, String projectName, String altFilename)
updated with new argumentString altFilename
. If the latter has a non-null value other than an empty string, the alternative filename is used instead of standard batch base filename and batch type.
comment:215 by , 6 years ago
(In [5212]) Refs #1029. Referral form generation updated to not include patient info forms, even if a corresponding PDF template file exists in BASE directory ReferralFormTemplatesInUse
in the project directory. This allows the current versions of the patient info PDF template file to be stored together with current version of other PDF template files in the same directory, although the patient info forms will not be generated by the MeLuDI software:
- Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/based/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated for command "GenerateReferralForms
" to no longer call private methodPdfUtil createPatientInfoForm(DbControl dc, PdfUtil pdfUtil, String itemId, List<String> formTemplateFileList)
.
comment:216 by , 6 years ago
Design discussion regarding the desire that wizards with a "Form[s] OK" button should display the message below the buttons:
- Since all wizards use the generic Javascript function call
Wizard.showFinalMessage(response.messages);
to show messages returned in JSON format from servlets, it is not easy to implement a special case, where more than one tag is reserved in the JSP file for messages. Therefore, the next best thing will be chosen: Clicking on a "Form[s] OK" button will add another step named "Form[s] OK" to the wizard, indicating to the user that the button action has been executed, with the result shown in the message tag for the new step.
comment:217 by , 6 years ago
(In [5213]) Refs #1029. FFPE block order form and FFPE section order form wizards updated to add another step named "Form[s] OK" to the wizard, when the "Form[s] OK" button is clicked:
- JSP file
ffpe_block_order_form.jsp
inresources/personal/
updated withdiv
tag for new step named "Form[s] OK", after the step for form download. - Javascript file
ffpe_block_order_form.js
inresources/personal/
updated in functionformsOk()
to set callback function to servlet request to function advancing to a new step in the wizard. - JSP file
ffpe_section_order_form.jsp
inresources/personal/
updated withdiv
tag for new step named "Form[s] OK", after the step for form download. - Javascript file
ffpe_section_order_form.js
inresources/personal/
updated in functionformsOk()
to set callback function to servlet request to function advancing to a new step in the wizard.
comment:218 by , 6 years ago
(In [5214]) Refs #1029. FFPE section (specimen) registration updated to not set a default value for the number of sections (previously a default value of 1 was used):
- Javascript file
ffpe_section_registration_alt_rec.js
inresources/personal/
updated in functioninitializeStep2()
to not set a default value for the number of sections (previously a default value of 1 was used).
comment:219 by , 6 years ago
(In [5215]) Refs #1029. FFPE section order form generation updated to use a name of the downloaded PDF batch file, that makes the content of the file clearer:
- Javascript file
ffpe_section_order_form.js
inresources/personal/
updated in functiondownloadFormBatch(batchType)
to add new parameteraltfilename
set to string "FFPE_Section_Order_Form
", when callingReferralGeneratorServlet
with command "DownloadFormBatchFile
".
comment:220 by , 6 years ago
(In [5216]) Refs #1029. Convenience method boolean itemIsMeludiItem(String itemName, int activeProjectId)
in Java class/file Meludi.java
updated to support new naming scheme:
- Java class/file
Meludi.java
insrc/net/sf/basedb/meludi/
updated in public static convenience methodboolean itemIsMeludiItem(String itemName, int activeProjectId)
updated to support new naming scheme. If blood and sample item prefixes differ (indicating new naming scheme), specimen names are assumed to start with FFPE block item prefix.
comment:221 by , 6 years ago
(In [5217]) Refs #1029. Updates due to version number change to "1.6.0b2
".
- Version number changed to "
1.6.0b2
":
a. Outermost Ant XML build filebuild.xml
in/
updated.
b. Extensions XML configuration fileextensions.xml
inMETA-INF/
updated.
c. Javascript filemeludi-2.js
inresources/
updated.
d. Javascript filemeludi_quarter_month_report_generator.js
inresources/reports/
updated.
e. Javascript filesamplereportgenerator.js
inresources/reports/
updated.
f. Java class/fileMeludi.java
insrc/net/sf/basedb/meludi/
updated.
comment:222 by , 6 years ago
(In [5224]) Refs #1029. Updates due to version number change to "1.6.0-dev
".
- Version number changed to "
1.6.0-dev
":
a. Outermost Ant XML build filebuild.xml
in/
updated.
b. Extensions XML configuration fileextensions.xml
inMETA-INF/
updated.
c. Javascript filemeludi-2.js
inresources/
updated.
d. Javascript filemeludi_quarter_month_report_generator.js
inresources/reports/
updated.
e. Javascript filesamplereportgenerator.js
inresources/reports/
updated.
f. Java class/fileMeludi.java
insrc/net/sf/basedb/meludi/
updated.
comment:223 by , 6 years ago
Design update:
- As the result of discussions at the SCAN-B-rec/MeLuDI meeting 2019-01-10, some modifications of the MeLuDI software were decided:
- FFPE block order form generation:
a. When the "Form[s] OK" button is pressed, a new annotation on the case item should store the current date as the FFPE block order date (it is assumed that the FFPE block order forms are sent the same day as the forms are generated). - FFPE block registration:
a. Input should be from a list of case items, where FFPE block order forms have been sent, but no FFPE blocks received.
b. A counter should display the number of items in the current list. - Lab tracking protocol for FFPE extraction:
a. No QIAcube position or NanoDrop plate position is reported for specimens using the new naming scheme for items. This has to be fixed for the extraction wizards to work.
comment:224 by , 6 years ago
(In [5225]) Refs #1029. Lab tracking protocol for FFPE extraction wizard problems with new name convention for specimen fixed by updating Javascript convenience function isSpecimen(item)
in file extraction_utils.js
:
- Javascript file
extraction_utils.js
inresources/sampleproc/
updated in functionisSpecimen(item)
to test new name convention (item name ends with single dot "." followed by a natural number > 0 followed by ".s"), if the input item is not identified as a specimen according to the original name convention (item name ends with single dot "." followed by a natural number > 0)).
comment:225 by , 6 years ago
(In [5232]) Refs #1029. Updates due to version number change to "1.6.0b3
".
- Version number changed to "
1.6.0b3
":
a. Outermost Ant XML build filebuild.xml
in/
updated.
b. Extensions XML configuration fileextensions.xml
inMETA-INF/
updated.
c. Javascript filemeludi-2.js
inresources/
updated.
d. Javascript filemeludi_quarter_month_report_generator.js
inresources/reports/
updated.
e. Javascript filesamplereportgenerator.js
inresources/reports/
updated.
f. Java class/fileMeludi.java
insrc/net/sf/basedb/meludi/
updated.
comment:226 by , 6 years ago
(In [5233]) Refs #1029. Updates due to version number change to "1.6.0-dev
".
- Version number changed to "
1.6.0-dev
":
a. Outermost Ant XML build filebuild.xml
in/
updated.
b. Extensions XML configuration fileextensions.xml
inMETA-INF/
updated.
c. Javascript filemeludi-2.js
inresources/
updated.
d. Javascript filemeludi_quarter_month_report_generator.js
inresources/reports/
updated.
e. Javascript filesamplereportgenerator.js
inresources/reports/
updated.
f. Java class/fileMeludi.java
insrc/net/sf/basedb/meludi/
updated.
comment:227 by , 6 years ago
(In [5235]) Refs #1029. Counter for number of FFPE blocks unused for section updated with bug fix to hopefully get desired result:
- Java class/file
CounterService.java
insrc/net/sf/basedb/meludi/counter/
updated in private methodvoid countFfpeBlocks(DbControl dc, JSONObject json)
with bug fix for returned number for JSON key "ffpeblocks-unused-for-section
".
comment:228 by , 6 years ago
(In [5237]) Refs #1029. FFPE block registration wizard updated to use input from a list of cases with unprocessed FFPE blocks. A counter at the wizard link will display the number of cases for selection:
- JSP file
index.jsp
inresources/
updated in section "Sample compilation and registration" for wizard "FFPE block registration" by adding link to counter with JSON key "cases-with-unprocessed-ffpe-block-orders
". - JSP file
ffpe_block_registration_alt_rec.jsp
inresources/personal/
updated to support input from a list of case items. The list has id = "extractSourceItems
". - Javascript file
ffpe_block_registration_alt_rec.js
inresources/reports/
updated:
a. FunctioninitPage()
updated with event handler for field "extractSourceItems
" set to functionsourceItemsOnChange()
. Also,ExtractionServlet
called with command "GetCasesWithUnprocessedFfpeBlockOrders
" and callback functioninitializeStep1
.
b. FunctioninitializeStep1(response)
added. It obtains a list of case items from the servlet response and populates the selection list.
c. FunctionsourceItemsOnChange()
checks that one item is selected.
d. FunctiongetSelectedItemsList()
retrieves the list of selected items (here: one item).
e. FunctioninitializeStep2(event)
updated to obtain the case name of the selected case items and callConsentFormServlet
with command "GetCaseInfo
", giving the case name as parameter. - Java servlet class/file
ExtractionServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
with new command "GetCasesWithUnprocessedFfpeBlockOrders
". It returns a JSONArray of case items for the current project, which have been used for FFPE order forms, but where no FFPE blocks with the case name in question has been registered. - Java class/file
CounterService.java
insrc/net/sf/basedb/meludi/counter/
updated in private methodvoid countFfpeBlocks(DbControl dc, JSONObject json)
to return number for JSON key "cases-with-unprocessed-ffpe-block-orders
".
comment:229 by , 6 years ago
(In [5243]) Refs #1029. Approving a created FFPE block order form now stored the date of the approval in the case item in new annotation type FFPE_BLOCK_ORDER_DATE
, which replaces Boolean annotation type USED_FOR_FFPE_BLOCK_ORDER_FORM
:
- Javascript file
ffpe_block_registration_alt_rec.js
inresources/personal/
updated in functioninitializeStep1(response)
by obtaining value of FFPE block order date from JSON date for case item and displaying it in selection info instead of the personal number of the patient. - Java class/file
Annotationtype.java
insrc/net/sf/basedb/meludi/dao/
updated by exchanging public static finalUSED_FOR_FFPE_BLOCK_ORDER_FORM
Boolean annotation type for sample (Case) forFFPE_BLOCK_ORDER_DATE
Date annotation type. - Java class/file
InstallServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for commands "Validate
" and "Install
" by exchangingUSED_FOR_FFPE_BLOCK_ORDER_FORM
Boolean annotation type forFFPE_BLOCK_ORDER_DATE
Date annotation type. - Java class/file
CounterService.java
insrc/net/sf/basedb/meludi/counter/
updated in private methodvoid countCases(DbControl dc, JSONObject json)
to useAnnotationtype.FFPE_BLOCK_ORDER_DATE
instead ofAnnotationtype.USED_FOR_FFPE_BLOCK_ORDER_FORM
to determine number of cases unused for FFPE block order forms and cases with unprocessed FFPE block orders. - Java servlet class/file
ExtractionServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for commands "GetCasesUnusedForFfpeBlockOrderForm
" and "GetCasesWithUnprocessedFfpeBlockOrders
" to useAnnotationtype.FFPE_BLOCK_ORDER_DATE
instead ofAnnotationtype.USED_FOR_FFPE_BLOCK_ORDER_FORM
. Also, for command "GetCasesWithUnprocessedFfpeBlockOrders
", the FFPE block order date is added to the JSON case info with JSON key "ffpeBlockOrderDate
". - Java servlet class/file
ReferralGeneratorServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for command "RegisterFfpeBlockOrderFormsAsOk
" to set value ofAnnotationtype.FFPE_BLOCK_ORDER_DATE
to current date, instead of setting value ofAnnotationtype.USED_FOR_FFPE_BLOCK_ORDER_FORM
totrue
.
comment:230 by , 6 years ago
(In [5249]) Refs #1029. Case summary updated in Case section by adding row for "FFPE block order" date:
- JSP file
case_summary_alt_rec.jsp
inresources/reports/
updated in Case section by adding row for "FFPE block order" date. - Javascript file
case_summary_alt_rec.js
inresources/reports/
updated in functioncaseInfoLoaded(response)
by reporting value for date an FFPE block was ordered. - Java servlet class/file
CaseSummaryServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for command "GetCaseInfo
" to add value forAnnotationtype.FFPE_BLOCK_ORDER_DATE
to returned JSON object for JSON key "ffpeBlockOrderDate
".
comment:231 by , 6 years ago
comment:232 by , 6 years ago
(In [5253]) Refs #1029. New convenience method String fetchSpecimenItemPrefix(int activeProjectId)
added in Java class/file Meludi.java
to support new naming scheme:
- Java class/file
Meludi.java
insrc/net/sf/basedb/meludi/
updated with new public static convenience methodString fetchSpecimenItemPrefix(int activeProjectId)
supporting the original and new naming scheme. If sample and FFPE block item prefixes differ (indicating new naming scheme), specimen names are assumed to start with FFPE block item prefix, otherwise sample item prefix.
comment:233 by , 6 years ago
(In [5254]) Refs #1029. Convenience method String fetchSpecimenItemPrefix(int activeProjectId)
in Java class/file Meludi.java
updated by fixing typo in Java Doc:
- Java class/file
Meludi.java
insrc/net/sf/basedb/meludi/
updated in public static convenience methodString fetchSpecimenItemPrefix(int activeProjectId)
by fixing typo in Java Doc.
comment:234 by , 6 years ago
(In [5255]) Refs #1029. Sample report servlet updated to support the new naming convention:
- Java servlet class/file
SampleReportServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated in private methodsJSONObject createSampleCountReport(DbControl dc, JSONObject json, Date startDate, Date endDate, String viewType, String sampleType, String tableAlternatives, String projectFocusFilter)
,JSONObject createPatientCountReport(DbControl dc, JSONObject json, Date startDate, Date endDate, String viewType)
, andJSONObject createOverviewReport(DbControl dc, JSONObject json, Date startDate, Date endDate, String projectFocusFilter)
to call new static convenience methodString Meludi.fetchSpecimenItemPrefix(int activeProjectId)
to obtain specimen item prefix.
comment:235 by , 6 years ago
(In [5257]) Refs #1029. FFPE block registration updated to display personal number instead of referral ID for items in initial selection list:
- Javascript file
ffpe_block_registration_alt_rec.js
inresources/personal/
updated in functioninitializeStep1(response)
to display personal number instead of referral ID in selection info.
comment:236 by , 6 years ago
Design update:
- As the result of discussions at the SCAN-B-rec/MeLuDI meeting 2019-01-21, some modifications of the MeLuDI software were decided:
- Referral form generation:
a. A button should be added to download a CSV file with data for use with a bar code label printer for printing labels for serum tubes. For each referral ID, 32 lines of data should be added, consisting of "SC2798-" + referral ID without prefix + "-" + numbers 1 to 8 + "-" + numbers 1 to 4. Example for referral ID REC1100001: SC2798-1100001-1-1, ... , SC2798-1100001-1-4, SC2798-1100001-2-1, ... , SC2798-1100001-8-4.
Update: Due to the label string being too long for printing on the tube levels, the string layout was changed to "2798-" + referral ID without prefix + "-" + numbers 1 to 8 + numbers 1 to 4, i.e. "SC" was removed from the label prefix and the hyphen "-" between the two last digits was removed. - FFPE block registration:
a. The initial selection list should display the personal number instead of the referral ID for each item in the list.
b. The first step of the wizard should be supplemented with an input field for an optional personal number, which should be used as the default entry in the list, if entered. - Case summary should be updated for case items to display the FFPE block order date with hyphens separating year, month, and day.
- Installation wizard should check that needed directories exist, and if not, try to create them.
- Wizard "Add new library preparation kit" in section "Library preparation wizards" refuses to accept project specific prefixes for library preparation kits. This is a bug also in version 1.5, and is not related to introduction of a new name convention.
comment:237 by , 6 years ago
(In [5259]) Refs #1029. Case summary updated in Case section by displaying "FFPE block order" date in format "YYYY-MM-DD":
- Javascript file
case_summary_alt_rec.js
inresources/reports/
updated in functioncaseInfoLoaded(response)
by applying functioncs.asDate()
on value for date an FFPE block was ordered. - Java servlet class/file
CaseSummaryServlet.java
insrc/net/sf/basedb/meludi/servlet/
updated by adding value forAnnotationtype.FFPE_BLOCK_ORDER_DATE
to returned JSON object for JSON key "ffpeBlockOrderDate
" in private methodvoid loadCaseInfo(DbControl dc, Case theCase)
, instead of in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for command "GetCaseInfo
". This modification does not change the resulting output, bu leads to simpler code.
comment:238 by , 6 years ago
(In [5264]) Refs #1029. Referral form generation updated with new button to download file with serum labels:
- JSP file
generate-referral-forms.jsp
inresources/personal/
updated by adding new button with ID "downloadlabelfile
" and title "Download serum label file
". - Javascript file
generate-referral-forms.js
inresources/personal/
updated:
a. FunctioninitPage()
updated for step 3 by adding click handler for button with ID "downloadlabelfile
" coupled to new functiondownloadLabelFile()
.
b. FunctionsinitializeStep3(response)
andinitializeStep3a(response)
updated to show button with ID "downloadlabelfile
".
c. New functiondownloadLabelFile()
added. It callsLabelGenerationServlet
with command "GetSerumLabelFile
" and submits values for start item name and number of form sets. - Java servlet class/file
LabelGenerationServlet.java
insrc/net/sf/based/meludi/servlet/
updated:
a. New private static constantint sitePrefixLength
set to2
.
b. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
updated with new command "GetSerumLabelFile
". It obtains values for start item name and number of form sets, after which it calls new private methodString nextItemIdDigits(String itemIdDigits)
to obtain the digit part of the referral item names, and uses that to construct label strings for each referral item in question (8 x 4 = 32 labels strings for each referral item). The label strings are added to a file, one line at time, which is then prepared for download.
c. New private methodString nextItemIdDigits(String itemIdDigits)
added. It calls new private methodString nextItemIdDigits(String itemIdDigits, Integer incr)
with argumentincr
set to1
.
d. New private methodString nextItemIdDigits(String itemIdDigits, Integer incr)
added. It constructs the next item digit string with incrementincr
and returns it.
comment:239 by , 6 years ago
(In [5265]) Refs #1029. FFPE block registration updated in step 1:
i. Initial selection list now displays personal number with hyphen "-" for clarity.
ii. Input field for optional personal number added. If a personal number is entered, the corresponding entry in the selection list is selected, if such an entry exists. Personal number with hyphens "-" are supported, in order to allow scanning of personal number from bar code on FFPE block order forms.
- JSP file
ffpe_block_registration_alt_rec.jsp
inresources/personal/
updated for step 1 by adding input field for optional personal number with ID "personalNumber
". - Javascript file
ffpe_block_registration_alt_rec.js
inresources/personal/
updated:
a. FunctioninitPage()
updated by adding event handler for input field with ID "personalNumber
" coupled to new functionpersonalNumberOnChange()
.
b. FunctioninitializeStep1(response)
updated to obtain optionl personal number from input field with ID "personalNumber
", remove any hyphen, and mark a list entry with the same personal number as selected (if no optional personal number is entered, the first list item is selected by default). Also, the personal number displayed in the selection list is shown with hyphen for clarity. The input field for optional personal number is put in focus at the end of the routine.
c. FunctionpersonalNumberOnChange()
updated to remove any hyphen in the input personal number and callExtractionServlet
with command "GetCasesWithUnprocessedFfpeBlockOrders
" and callback functioninitializeStep1(response)
.
comment:240 by , 6 years ago
comment:241 by , 6 years ago
(In [5271]) Refs #1029. MeLuDI installation wizard updated to check that needed directories exist, and if not, try to create them:
- Java class/file
Meludi.java
insrc/net/sf/based/meludi/
updated:
a. New public static methodString fetchReferralFormTemplatesDir(String projectName)
added.
b. Public static methodString fetchReferralFormTemplatesDir(int activeProjectId)
updated to call new methodString fetchReferralFormTemplatesDir(String projectName)
.
c. New public static methodString fetchReferralFormTemplatesOldDir(String projectName)
added.
d. Public static methodString fetchReferralFormTemplatesOldDir(int activeProjectId)
updated to call new methodString fetchReferralFormTemplatesOldDir(String projectName)
.
e. New public static methodString fetchBaselineFilesDir(String projectName)
added.
f. Public static methodString fetchBaselineFilesDir(int activeProjectId)
updated to call new methodString fetchBaselineFilesDir(String projectName)
.
g. New private static methodProjectConfig fetchProjectConfig(String projectName)
added.
h. Private static methodProjectConfig fetchProjectConfig(int activeProjectId)
updated to call new methodProjectConfig fetchProjectConfig(String projectName)
.
i. New public static methodString fetchSitePrefixHashList(String projectName)
added.
j. New public static methodHashMap<String,String> fetchSiteKeySitePrefixHashMap(String projectName)
added.
k. Public static methodHashMap<String,String> fetchSiteKeySitePrefixHashMap(int activeProjectId)
updated to call new methodHashMap<String,String> fetchSiteKeySitePrefixHashMap(String projectName)
. - Java servlet class/file
InstallServlet.java
insrc/net/sf/based/meludi/servlet/
updated:
a. Protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for commands "Validate
" and "Install
" updated to check that needed directories exist, and if not, try to create them.
b. New public methodDirectory createDirectory(SessionControl sc, Path path, PermissionOptions... permissions)
added.
c. New public methodJSONObject checkDirectory(DbControl dc, String name, boolean createIfMissing, PermissionOptions... permissions)
added.
comment:242 by , 6 years ago
(In [5272]) Refs #1029. Wizard "Add new library preparation kit" in section "Library preparation wizards" updated to accept project specific prefixes for library preparation kits:
- JSP file
add_new_libprep_kit.jsp
inresources/libprep/
updated for kit name input field to have static help text replaced by<div>
tag with ID "kitNameText
". - Javascript file
add_new_libprep_kit.js
inresources/libprep/
updated in functionnextKitNameLoaded(response)
to obtain values for kit name prefix and number of digits in name from JSON response and use them in help text<div>
tag with ID "kitNameText
". Also, functionkitNameOnChange()
is called at end of routine to check if kit name is valid. - Java servlet class/file
LabelGenerationServlet.java
insrc/net/sf/based/meludi/servlet/
updated in protected methodvoid doGet(HttpServletRequest req, HttpServletResponse resp)
for command "GetNextAutoGeneratedKitName
" to return kit name prefix and number of digits in name in JSON response for JSON keys "kitNamePrefix
" and "numDigitsInName
", respectively.
comment:243 by , 6 years ago
Design update:
- As the result of discussions at the SCAN-B-rec/MeLuDI meeting 2019-02-14, some modifications of the MeLuDI software were decided:
- Referral form generation:
a. The BASE-line referral form sticker label, that previously had added text and bar code consisting of <referral-ID> + ".b3", should only have added text and bar code consisting of <referral-ID> only, since this label will be put on a paper form. - BASE-line registration:
a. When navigating to a BASE directory for the input CSV file, MeLuDI should start in the default directory.
b. Column identification in the routine should desirably not use information on the column headers, since these contain national characters, that depend on a specific character set being used to be identified correctly.
comment:251 by , 6 years ago
Design update:
- As the result of discussions at the SCAN-B-rec/MeLuDI meeting 2019-03-01, some modifications of the MeLuDI software were decided:
- BASE-line registration from file:
a. It would be advantageous if column identification in the routine could use information on the column headers, since this would allow the column order to be irrelevant. The method should allow national characters in the headers, as long as these are not critical for identifying the column.
comment:252 by , 6 years ago
Design update:
- It has been decided to support import directly from *.xlsx files, since that will solve a lot of problems. Also, export to *.xlsx files should be supported. For referance, see Reggie ticket #1110.
comment:255 by , 6 years ago
Design update:
- As the result of discussions at the SCAN-B-rec/MeLuDI meeting 2019-04-11, some modifications of the MeLuDI software were decided:
- FFPE block registration:
a. Default number of blocks should be changed from 4 to 1.
b. It would be advantageous if standard phrases for 'Operator delivery comment' could be selected from a menu. - FFPE section order form: PAD-number should be inserted in previous place for 'Klossnummer', while the latter is moved to previous place for Block ID.
- FFPE block returnal registration: Name changed to 'FFPE block return registration'.
- FFPE section (specimen) registration: Selection list should only be extended with new items after section order form has been approved.
- Case Summary: Functionality for input field 'Find another case' does not work.
comment:264 by , 6 years ago
Design update:
- As the result of discussions at the SCAN-B-rec/MeLuDI meeting 2019-06-19, some modifications of the MeLuDI software were decided:
- Item heritage: Items should be connected via database parent-child relations (currently some items are connected via annotation values). Typically the Patient
BioSource
item is at the top, with a CaseSample
child item. - The naming convention is simplified, in order to shorten the names of most items, which makes it easier to fit the name on a label. Now an item name typically consists of a root item name, consisting of a prefix + a serial number of fixed size, plus a dot ".", a child item specifier character or string ("s" for specimen, "d" for DNA, "r" for RNA), and an optional number, if the item is not the first of the child item type for the root item. The root item serial numbers are chosen from the same series for each root item type, e.g. Case items, FFPE block items, RNAlater items.
- DNA and RNA extract items should now be created by the extraction wizard, not earlier.
Changes related to specific wizards:
- FFPE block registration:
a. Support for selecting standard phrases for 'Operator delivery comment' selected from a menu. The first item should be "Clinical TC (%)". - FFPE section (specimen) registration:
a. Selection list should only be extended with new items after section order form has been approved.
b. Tumor cell percentage should be moved to its own wizard. - Lab tracking protocol for FFPE extraction: Labels for DNA/RNA should be created.
comment:266 by , 5 years ago
Note: After update of Java version from 1.8 to 11.0.2, Apache Tomcat 9 or later should be used.
comment:267 by , 5 years ago
Design comment:
- When updating the FFPE block registration wizard with support for selecting standard phrases for 'Operator delivery comment' from a menu, for some reason no event handler could be connected to a change of selected value in the menu. As a temporary solution, a button was inserted to add the selected comment into the 'Operator delivery comment' fields, when the button was clicked. The first item is "Clinical TC (%)".
A solution based on one button per general comment was implemented in MeLuDI v.1.2.1, see change set [3250].
comment:269 by , 5 years ago
Design update:
- As the result of discussions at the SCAN-B-rec/MeLuDI meeting 2019-10-15, some modifications of the MeLuDI software were decided:
- MeLuDI should be updated to support creation of referral forms for new project NordicTrip. The project is planned to start at the end of November 2019.
follow-up: 271 comment:270 by , 5 years ago
Design update:
- As the result of discussions at the SCAN-B-rec/MeLuDI meeting 2019-10-22, some modifications of the MeLuDI software were decided:
Old items decided on meeting 2019-06-19:
- Item heritage: Items should be connected via database parent-child relations (currently some items are connected via annotation values). Typically the Patient
BioSource
item is at the top, with a CaseSample
child item. - The naming convention is simplified, in order to shorten the names of most items, which makes it easier to fit the name on a label. Now an item name typically consists of a root item name, consisting of a prefix + a serial number of fixed size, plus a dot ".", a child item specifier character or string ("s" for specimen, "d" for DNA, "r" for RNA), and an optional number, if the item is not the first of the child item type for the root item. The root item serial numbers are chosen from the same series for each root item type, e.g. Case items, FFPE block items, RNAlater items.
- DNA and RNA extract items should now be created by the extraction wizard, not earlier.
Changes related to specific wizards: Old items decided on meeting 2019-06-19:
- FFPE section (specimen) registration:
a. Selection list should only be extended with new items after section order form has been approved.
b. Tumor cell percentage should be moved to its own wizard. - Lab tracking protocol for FFPE extraction: Labels for DNA/RNA should be created.
New items:
- FFPE block registration: 0 number of blocks should be allowed.
- FFPE section order form: Barcode and text under barcode should contain PAD number + "_" + block/material number.
- FFPE section (specimen) registration: Wizard simplified, # of sections.
- New wizard: "Case registration" changed to "Select samples to process ()". Labels and box positions available. Lab tracking protocol.
- RNA/DNA details text: NanoDrop, RNA, DNA: "Plate" -> "Box" positions.
- DNA/RNA Quantification wizard: Null pointer exception should be fixed.
comment:275 by , 5 years ago
Design discussion:
- Some design choices for referral form generation have to be re-evaluated to support generating referral forms for more than one project. One decision is the use of a single text file stored on the server for storing start item numbers and date of last update. Currently an update for one project will affect all other projects, that uses referral form generation, which is totally unacceptable. Two solutions are:
a. Change the format of the file by adding the project name in its own column, having one line per project. An update for a project should then only affect that project's line in the file.
b. Storing one file per project, not directly on the server, but in a directory in the BASE file system, that is a sub-directory to the project home directory.
comment:276 by , 5 years ago
Design update for the NordicTrip project:
- 2019-10-28 it was decided that a referral ID should not include a site prefix number. The serial number part of the referral ID should be kept to five digits, so the referral ID part of the MeLuDI configuration for NordicTrip should be changed to
<referral-num-digits>5</referral-num-digits>
<uses-site-prefix>false</uses-site-prefix>
<site-prefix-hash-list></site-prefix-hash-list>
comment:280 by , 5 years ago
Design update for the NordicTrip referral form generation:
- 2019-11-05 the following changes were decided for referral form generation for project NordicTrip:
a. The whole blood form for clinical testing should not have any bar code or text added, but should be included in the set of label sticker forms for each serial number.
b. Label sticker forms should not have bar code/text at the upper right part of the form.
comment:286 by , 5 years ago
Design update for the NordicTrip referral form generation:
- 2019-11-11 the following changes were decided for referral form generation for project NordicTrip:
a. Bar code text on referral forms with label stickers should have a suffix added after the referral ID, indicating the referral form type, in order to be able to identify from a test tube label, exactly what label sticker form, the sample is coupled to.
b. The whole blood forms (except that for clinical testing, that should not have any bar code or text added) bar code text of label stickers 7 and 8 from the left (the referral form sheet contains 9 label stickers) should be updated:
i. The bar code text should have an added suffix ".b1
" and ".b2
" at the end of the the bar code text.
ii. The bar code width should not exceed 17mm, to fit on the used test tubes.
comment:287 by , 5 years ago
- 2019-11-18 the following changes were decided for referral form generation for project NordicTrip for bar code text on referral forms with label stickers, intended to make the bar code text as short as possible, in order to increase the possibility of the bar code being readable by the PRIME extraction robot at BRCAlab:
a. The form type identification suffix added after the referral ID in the bar code for referral forms with label stickers should consist of a single lower-case letter.
b. The whole blood forms (except that for clinical testing, that should not have any bar code or text added) bar code text of label stickers 7 and 8 from the left (the referral form sheet contains 9 label stickers) should should have an added suffix "1
" and "2
" at the end of the the bar code text.
c. The number of digits in the serial number part of the referral ID for project NordicTrip could be decreased from 5 to 4, allowing for up to 9999 patients.
comment:295 by , 5 years ago
Problem analysis:
- Inspection of log files indicates that Null pointer exceptions in the DNA/RNA Quantification wizard might be related to a
SpecimenTube
item being equal tonull
for an item identified as a specimen based on the item name.
comment:305 by , 5 years ago
Design update for the NordicTrip referral form generation:
- 2020-05-11 the following changes were decided for referral form generation for project NordicTrip:
a. A new tissue form "3C" should be added after the tissue "3B" form in the generated PDF package. The form type suffix lower-case letter for bar code text on referral forms with label stickers for the new form, should have the lower-case letter corresponding to the previous form at this place in the referral form package, and all forms thereafter should have subsequent allowed letters (lower-case "l" and "o" are not used, as they can be mistaken for digits 1 and 0).
comment:309 by , 2 years ago
- 2021-11-08 it was reported that the BASE/MeLuDI installations used for research projects had to be moved to another server, and it had not been possible to obtain a server with the security needed to allow personal information such as patient data to be stored on it. The sensitive information was removed from the new server, but BASE/MeLuDI could still be used to store insensitive data and to produce referral forms for projects such as SCAN-B-rec and NordicTrip. With the current server status, any future development of MeLuDI will likely be restricted to producing referral forms.
comment:310 by , 2 years ago
Design update:
- 2022-07-18 it was decided that MeLuDI should be updated to support creation of referral forms for project LUCAS:
- MeLuDI should be updated to support creation of referral forms for project LUCAS. The project is ongoing and referral forms have been produced using a PC program. Currently a single referral form is of interest, with label stickers for test tubes. No bar codes have been used on the forms produced earlier, and the aim of the first version of support in MeLuDI will be to produce referral forms of the same type as used before.
comment:316 by , 2 years ago
Description: | modified (diff) |
---|
Ticket description updated by including support for projects NordicTrip and LUCAS, that both use referral form generation.
comment:317 by , 2 years ago
comment:318 by , 2 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Ticket closed as multiple project support to MeLuDI has been added, and no specific problems have been reported with beta release 1.6.0b9.
Ticket accepted.