Skip to content

Conversation

@ChristianMUG
Copy link

Getting the newest branch from openspecimen

…timestamp fields

in the query exported CSV file.
…ge to repeat the import job.

Users are navigated to the import page with all the details filled using the selected job.
Users are required only to upload the CSV file.
1) Each box field appears on a separate line.
2) Reduced margin between the different box fields.
3) Added a section header for box restriction fields to clearly demarcate what
the collection protocols and specimen types fields are meant for.
…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.
… view.

An example filter whether the user has opted-in to receive SMS/text or not

{
  "expr": "Participant.textOptIn",
  "caption": "Receive SMS",
  "dataType": "BOOLEAN"
}
…s to the

IdP logout URL, which will cleanup the session.
1) Removed and junked the older SAML implementation, which was very much
   hard-wired for single SAML IdP support.

2) Implemented SAML based authentication from scratch with ability to
   support multiple IdPs.

3) While doing so, ensured the current implementation is compatible and
   does not break the existing SAML deployments / configurations.
…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
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