Skip to content

Conversation

@ChristianMUG
Copy link

Getting the newest branch from openspecimen

…ent.

Users have to select reason for why they are disposing the specimen.
The app is shipped with the following 5 reason values:
1) Processed
2) Distributed
3) Not Specified
4) Damaged
5) Destroyed

The first 3 values should not be touched, renamed or removed. They are
used by system workflows / API whenever a specimen is closed after
creation of children specimens, distributed or no reason is available.

However, if desired, OpenSpecimen admins can add more reason values like
1) Stolen
2) Lost / Misplaced
3) Inaccessible
4) Spilled
…ant/visit/specimen.

Implemented single select, group dropdown widget.
1. Do not show sign-up button when new sign-ups are disabled

2. Do not show the domains disabled for login in the sign-up form
…new container

is selected from the accompanied containers dropdown widget.
…rticipant medical identifiers.

1. Nullify all the existing MRNs with empty/blank strings. Otherwise, unique constraint will fail
   (1, '') and (1, '') are the same for DB. But for app, they are different PMIs with the same site.

   Converted above tuples to (1, null) and (1, null)

2. Oracle: Added function based unique index. For Oracle, (1, null) and (1, null) are the same.

3. Fixed the API to trim whitespaces from the MRN.
The new column will track the rule that was used for printing the labels.

Fixed the command files API to pick only those files generated by the rule
instead of all files in the print directory.

The filename format of the label/command file is changed from

<object_type>_<tstmp>_<counter>_<copy>.txt

to

<object_type>_<rule_id>_<tstmp>_<counter>_<copy>.txt
…nstraint changeset.

Need to remove the duplicate tuples.
…c692c787a4f

Re-enable the participant (site, MRN) unique constraint changeset.
…insensitive) dropdown values are created.

1. Added an unique constraint on PV (attribute name, value) columns.

2. Oracle: Added function based unique index on PV (attribute name, lower(value)) columns.
… selected or not,

display CP custom fields when the "Collection Protocol" form is selected for adding filter.
…box that no

longer have direct access to Java classes like Runtime etc
is not displayed when searching or selecting a new PV.
…sing

the lookup key (form_id, record_id)

The materialised table is kept in sync with the actual data table using
triggers.

The problem with the original solution of directly looking up in the data
table using record ID was that the record ID is not unique and may be
repeated for different forms.
users create import jobs either from the CPs list view or participants
list view.
… the

specimen actions on specimens selected from the result views.
Removed the extra "\n" that is added when both the comments and reason fields are empty.
Added support for export user profile form records as well.
…mats

and print rules to use the new variables for the collection container,
procedure and received quality.

specimen.collectionEvent.procedure => specimen.collectionProcedure
specimen.collectionEvent.container => specimen.collectionContainer
specimen.receivedEvent.quality => specimen.receivedQuality
…ection

and extraction of text from PDF files.

The reason for updating the Tika libaries is due to the security vulnerability (XXE)
found in older versions.
…ache is not cleared

until the entire import is finished.

However, whenever a database error like unique constraint is encountered, the session
cache will be cleared to ensure import/validation of subsequent records is done correctly.
When OpenSpecimen is behind reverse proxy, the chances of using the internal
URL in creating ACS URL is high due to incorrect configuration of X-FORWARDED
header. Therefore it is best to explicitly use the app URL configured for
constructing ACS URL.
the API should use the provided start and end date/time (instant) to limit
the revisions instead of rounding them to the day boundaries.
…ages.

Clicking on "Ask OS" navigates users to the OpenSpecimen AI based helpdesk
in another browser tab.
1. Processor metrics - CPU utilisation etc
2. File descriptor metrics - count of open files etc
3. Uptime
4. Count of classes loaded
5. JVM threads - busy, idle, waiting, blocked
6. JVM memory - heap and buffer
7. JVM GC - GC details
8. Disk space usage
9. Error rates
10. HTTP requests - by method, and module
…ocess

The date only fields are exported and imported using the system or user
selected date formats.
…ected from

the specimen actions button of the cart view.
back to the specimen object to ensure compatibility with existing label
formats and rules.

The objects are kind of proxy to the collection and received attributes of
the main specimen object.

Removed the migration script.

With this change, both the new and old variable naming convention can be
used in the labels generation.
…cked ones.

1) Record the API call even before working on it with status = 000
2) After completion of the API call, record its response status and end time
3) This approach helps to trace the thread leaks, stuck API calls etc
…back to the

system level format for visit names generation.

The API will not bother about whether the system level format is set or not as long as
there is a format specified at the CP level.

When no format is specified at both CP and system level, an error is raised.
…late

(more granular) instead of module wise (coarse).
services using the requirement template.

As before, there is no support for partial update of specimen requirement.
…han 90 days (by default).

Users can configure the scheduled job to specify a different retention period

For example:
apiLogsRetentionDays=100
…ecimen process.

rest/ng/metrics/live-heap
rest/ng/metrics/threads-dump
… date in yyyy-MM-dd format.

The problem was - for both date only and date & time fields, the UI was initialising
the default value to milliseconds elapsed since Epoch. While this was correct for
date & time fields, the API rejected it as invalid value for the date only fields
because it represented a moment in the time rather than the specific day start/boundary.
The problem was - the form designer was a separate standalone VueJS based
UI module. It had its own set of reusable components like toasts among
others. When it was merged with the new VueJS based OpenSpecimen UI,
the toasts hook was not removed. As a result, the same error message
appeared twice.
…dating

forms via JSON based input payment or XML based file import.

This ensures the same access control rules are applied in both the cases.
until a deletion confirmation is received from the backend / API.
1) When no files are selected or validation fails and
2) the file is uploaded asynchronously to the server
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants