Skip to content

More/code contribution 2026 02#464

Closed
westei wants to merge 121 commits intoMORE-Platform:developfrom
redlink-gmbh:more/code-contribution-2026-02
Closed

More/code contribution 2026 02#464
westei wants to merge 121 commits intoMORE-Platform:developfrom
redlink-gmbh:more/code-contribution-2026-02

Conversation

@westei
Copy link
Copy Markdown

@westei westei commented Feb 27, 2026

Code-Contribution for the MORE Gateway for February 2026

tkurz and others added 30 commits March 15, 2024 09:01
add staging branch to Build-and-Deploy block
…epository-for-key-values

MORE-Platform#95: Added participant key-value repository database migration
…ackend into 128-studymanager-refactoring

Resolved Conflicts:
* `studymanager-services/src/main/resources/db/migration/V1_18_0__add_key_value_repo.sql
…ype`. It also makes the `observation_id` filter optional (if `null` is parsed as `observation_id`)
…c_support-data-type-filter

MORE-Platform#126: Elastic**Service extension
…on and implemented the new docker compose configs for operating with blended care
…vtion-visibility

MORE-Platform#166: Changed default visibility of the Garmin Observation and implem…
…ager backend. It does not yet use observation groups in business logic (e.g. schedule calculation). It also does not yet provide support for observation groups for import and export of studies

* Observation Groups as new Entity
    * does have a title and a purpose
    * Observation and Interventions can have an optional observation group (0..1)
    * Participants can be optionally assigned to observation groups (0..n)
* New ObservationGroupsService with an API to CRUD Observation Groups
* Extended API for Observation, Intervention and Participant for Observation Groups
    * it is now possible to include Observation Groups in Group based lookups for Observations and Interventions in a Study. The semantic is the same as for StudyGroups.
* New `/studies/{studyId}/observationGroups` endpoint with full CRUD functionality
* Extended endpoints for observation, intervention and participant to provide the observation group ids for the requested entities

This also include Component Tests for the Repository. Extends Repository Tests of Observation, Intervention and Participants for the new functionalities. Adds UnitTests for the new Controller and extends UnitTests for the Participant, Observation and Intervention Controller to validate the correct mappings of the new observation group properties
…oups

* Participant Timelines now use the participants observation groups to query for relevant Observations and interventions
* Import/Export of study configuration now includes observation groups. ParticipantInfo also include ObservationGroup assignment

Extended all relevant tests to assert the changed and extended behavior
Prefer use of Collections.empty**()

Co-authored-by: Jan Cortiel <37823749+janoliver20@users.noreply.github.com>
MORE-Platform#180: Observation Groups for the MORE Study Manager Backend
…for closing. Also added a component test that triggered the
westei and others added 15 commits February 23, 2026 13:28
…nstraint-violation

MORE-Platform#267: Wrong StudyId set for imported Observations and Interventions
…nts so that also occurrencies of already started but still ongoing observations are created
…tionService.getLatestStartTime(..)` methods
…alisation-for-new-participants

This changes the initialization for the data health for new participa…
# Conflicts:
#	studymanager-services/src/main/java/io/redlink/more/studymanager/scheduling/UpsertOccurredObservationsCron.java
    * This adds support for deleting Data Health information in case a study is set back to DRAFT after data where collected during the PREVIEW state

Refactoring:

    * StudyService does no longer implement all side effects when the study state is changed. It creates `StudyStateChangedEvent` and publishes them as Spring `ApplicationEvent`
    * All affected Services now provide `@EventListener` that perform any necessary side effects. This includes the `IntegrationService`, `InterventionService` and `ObservationService`
    * NOTE: The deletion of data in the ElasticIndex and data health data in the OccurredObservationRepository when a Study is transitioned from the PREVIEW to the DRAFT state is still done in the StudyService
    * Adapted the UnitTest to validate that the events are triggered
@westei westei requested a review from Gmasek February 27, 2026 11:38
@westei westei self-assigned this Feb 27, 2026
Rupert Westenthaler and others added 9 commits March 6, 2026 07:16
…nge-sideeffect-refactoring

Clean DataHealth after Preview & Refactoring on how to deal with SideEffencts on Study State changes
…ns to be dynamic. The ApplicationContext is now used to lookup beans by id (`obervergation.getType()`) at the time of request. The bug was caused by a change in the bean initialization caused by removing some dependencies from the StudyService. Wit this change the initialisation order has no effect.
…on. Now mocking the ApplicationContext. Changed ErrorHandling in the implementation. The public getObservationFactory(..) is now the primary implementation. The private factory(Observation o) Method now ensures that a NotFoundException is thrown if the Optional of the public API is empty
Copy link
Copy Markdown
Contributor

@Gmasek Gmasek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please add license headers to new files

…e in the compile-test pipeline configuration as those are not needed in the target repository
@westei
Copy link
Copy Markdown
Author

westei commented Mar 11, 2026

@Gmasek We had to create a new Pull Request as Pipelines do not run if they come from a remote repository.

New Pull Request: #466

Now we contributed the code first by creating and merging to a branch in the local repository and created a Pull request from this local branch. We will need to do the same for the Gateway as we can not merge without a successful pipeline run

@westei westei closed this Mar 11, 2026
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.

6 participants