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.5.0
":
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.
Ticket accepted.