Skip to content

Set AdministrableProduct identifiers property to an empty array when missing in json data#594

Merged
hanp11 merged 1 commit intodevelopfrom
bug/1229-administrableProduct-fix
Jan 2, 2026
Merged

Set AdministrableProduct identifiers property to an empty array when missing in json data#594
hanp11 merged 1 commit intodevelopfrom
bug/1229-administrableProduct-fix

Conversation

@hanp11
Copy link
Contributor

@hanp11 hanp11 commented Jan 2, 2026

@hanp11 hanp11 requested a review from matt-kendall as a code owner January 2, 2026 18:57
@hanp11 hanp11 added the bug Something isn't working label Jan 2, 2026
@hanp11 hanp11 merged commit 836fbb0 into develop Jan 2, 2026
hanp11 added a commit that referenced this pull request Jan 9, 2026
* Resolve merge

* Rename rule validation helper

* Estimands analysis population cross reference

* Fix failing tests

* Revert the changes to the study data json V5

* estimand.interventions cross references

* StudyDesignDto.studyInterventionIds

* study design entity interventions refactor

* ref integrity validation

* Revert organization scope studyDataV5 changes

* Reference integrity for StudyDesign.StudyInterventionIds

* Add Organizations to StudyVersion

* Identifier Scope cross reference Dto

* AssignedPerson.OrganizationId cross ref

* Assigned person organization cross ref

* ProductOrganizationRole OrganizationID cross ref

* StudyRole ORganization ID cross ref

* Revert change to studyData json

* Add studydesign.documentVersion cross reference

* Reverse changes to StudyDataV5.json

* Update DTOs

* Update study design entity

* StudyVersion.NarrativeContentItems master copy

* Add missing master copies of collections

* Estimand cross refs

* administration cross ref

* analysis population cross ref

* Move conditions list (dto)

* move bcSurrogates (dto)

* Move BcCategories (dto)

* Move dictionaries (dto)

* Move conditions (entity)

* Move bcSurrogates (entity)

* Move bcCategories (entity)

* Move dictionaries (entity)

* Another cross ref

* CriterionIdemId cross ref

* IndicationIds cross ref

* subject enrollment cross ref

* Update IdentifierEntity to use scope cross ref

* Fix circular loop in Substance validator

* Fix nullable HttpContext in ApiBehaviourOptionsHelper

* Remove accidentally added line in test class

* Update develop,yml to use GHCR

* Fix broken Constants file

* Fix build and unit tests

* Develop.yml - combine jobs

* Develop.yml - correct Docker build

* Develop.yml - better step names

* Integrate CDISC Rules Engine for Rules Validation

* Better name for container image

* Re-add step to add keyvault details

* Fix appsettings.json ConnectionString naming

* Address PR comments

* Address PR comments

* Fix study design elements V5 constants

* Fix whitespace

* Fix study design elements V5 constants

* Add unit tests for Binary Runner

* Add validate usdm conformance failure unit tests

* Re-use GetPopulationsForAnalysesFromStudyDesign

* whitespace

* Fix validate usdm conformance json result

* Clean up StudyServiceV5

* Revert "Merge branch 'model-cross-refs-scopes' into 1181-CDISC-Rules-Engine"

This reverts commit f4854ab, reversing
changes made to 0fade59.

* Update error response

* Add cdisc rules engine to dockerfile

* Update target framework to dotnet 8

* Update runtime image to work with rules engine expected python version

* Fix non-ascii escape handling

* Fix incorrect logging and variable name

* Add ValidateUsdmConformance to Post and Put study methods

* Add cdisc rules engine relative cache

* Remove App Insights and usage reports

* Remove routes

* Remove token routes

* Remove Azure Service Bus

* Clean up remaining Azure dependencies

* Clean up

* Remove Azure AD packages

* Fix non-root user missing home dir

* Remove non-root user

* Fix CDISC Rules Engine paths env vars

* Fix common repo mongodb errors

* Pass cdisc rules engine latest release url as env

This will allow us to use our temporary forked binary before cdisc release updated binary with performance enhancements

* Update build args

* Update vars context

* Fix env var name

* Move change audit data filter from v2 to common

* Remove V2 api endpoints and code

* Add process change audit

* Add process change audit to study service v3, v4, and v5

* Remove Azure Function project

* Fix logging method names

* Avoid nested .First() calls in mongo LINQ projection

* mike's fixed cdisc pliot usdm 4 data

* Fix Range model to use Quantity entities/dtos

* Remove unused data

* Fix USDM Version to v4

* Code cleanup

* Fix merge branch 'model-cross-refs-scopes'

* md changes

* Fix method names

* md update

* Add back missing function

* fix method name

* fix method names

* Revert "Merge pull request #534 from transcelerate/1024-InterventionalStudyDesign-CPT-mapping"

This reverts commit 4bd828a, reversing
changes made to add25cc.

* Progress made on fixing tests

* Fix last test

* Rename build API container image to include 'ddf'

* Remove unused GitHub Actions

* Allow warnings (partially executable rules) for post/put study

* Fix studyIdentifiers map to commonStudyIdentifiers for search

* Fix unit tests

* Update ignore casing for executability value

* Add default USDM Version mapping string to API image

* Search title fix

* Update quantity range abstract class

* Add administrations attribute for study intervention

* Update documentation

* Change BlindingSchema data type

* Update study design abstract class

* Update identifier abstract class

* Update syntax template abstract class

* Update abstract classes

* Fix PrimaryPurpose and InterventionModel on V5 studies ecpt

* Fix numberOfParticipants by handling Quantity entities

* ecpt recognises SPONSOR as a sponsor ID

* Use IsSponsorDecode helper

* Use IsSponsorDecode helper

* Fix search with sponsor Id query bug

* Add null check for sponsor Id

* Include Interventional study design in search response

* Revert "Use IsSponsorDecode helper"

This reverts commit ca521c2.

* Updated the V5 methods of datafiltercommon

* Revert "Updated the V5 methods of datafiltercommon"

This reverts commit 8608a1f.

* Use valid mongo C# driver query

* Ignore extra fields

* Update sponsor decode

* Get value from min and max

* Fix V5 intervention model filtering

* Remove observationalStudyDesign from filter

* Update API docs

* Update readme

* Update readme

* Fix quotes

* SDR v5 Release (#537)

* Move biomedical concepts to study design

* Move organization data into studyIdentifiers data directly

* Move analysisPopulation to Estimands

* Set default rule level cascade mode to reduce verbosity of code

* Rule helper methods to reduce code duplication and verbosity

* Refactor common study definitions entity v5

* Update helper unit tests

* re-enabled commented out test

* Updated some usdm version numbers

* Corrected studyElements version numbers

* enabled disabled tests

* Address comments on study service unit tests

* Refactor and add abbreviation validator

* Add cascade mode stop for abbreviation errors

* Separate errors and warnings

* Update study elements and design elements constants

* Move to helpers folder

* Use severity and error codes for rule validation

* Resolve merge

* Rename rule validation helper

* Estimands analysis population cross reference

* Fix failing tests

* Revert the changes to the study data json V5

* estimand.interventions cross references

* StudyDesignDto.studyInterventionIds

* study design entity interventions refactor

* ref integrity validation

* Revert organization scope studyDataV5 changes

* Reference integrity for StudyDesign.StudyInterventionIds

* Add Organizations to StudyVersion

* Identifier Scope cross reference Dto

* AssignedPerson.OrganizationId cross ref

* Assigned person organization cross ref

* ProductOrganizationRole OrganizationID cross ref

* StudyRole ORganization ID cross ref

* Revert change to studyData json

* Add studydesign.documentVersion cross reference

* Reverse changes to StudyDataV5.json

* Update DTOs

* Update study design entity

* StudyVersion.NarrativeContentItems master copy

* Add missing master copies of collections

* Estimand cross refs

* administration cross ref

* analysis population cross ref

* Move conditions list (dto)

* move bcSurrogates (dto)

* Move BcCategories (dto)

* Move dictionaries (dto)

* Move conditions (entity)

* Move bcSurrogates (entity)

* Move bcCategories (entity)

* Move dictionaries (entity)

* Another cross ref

* CriterionIdemId cross ref

* IndicationIds cross ref

* subject enrollment cross ref

* Update IdentifierEntity to use scope cross ref

* Fix circular loop in Substance validator

* Fix nullable HttpContext in ApiBehaviourOptionsHelper

* Remove accidentally added line in test class

* Update develop,yml to use GHCR

* Fix broken Constants file

* Fix build and unit tests

* Develop.yml - combine jobs

* Develop.yml - correct Docker build

* Develop.yml - better step names

* Integrate CDISC Rules Engine for Rules Validation

* Better name for container image

* Re-add step to add keyvault details

* Fix appsettings.json ConnectionString naming

* Address PR comments

* Address PR comments

* Fix study design elements V5 constants

* Fix whitespace

* Fix study design elements V5 constants

* Add unit tests for Binary Runner

* Add validate usdm conformance failure unit tests

* Re-use GetPopulationsForAnalysesFromStudyDesign

* whitespace

* Fix validate usdm conformance json result

* Clean up StudyServiceV5

* Revert "Merge branch 'model-cross-refs-scopes' into 1181-CDISC-Rules-Engine"

This reverts commit f4854ab, reversing
changes made to 0fade59.

* Update error response

* Add cdisc rules engine to dockerfile

* Update target framework to dotnet 8

* Update runtime image to work with rules engine expected python version

* Fix non-ascii escape handling

* Fix incorrect logging and variable name

* Add ValidateUsdmConformance to Post and Put study methods

* Add cdisc rules engine relative cache

* Remove App Insights and usage reports

* Remove routes

* Remove token routes

* Remove Azure Service Bus

* Clean up remaining Azure dependencies

* Clean up

* Remove Azure AD packages

* Fix non-root user missing home dir

* Remove non-root user

* Fix CDISC Rules Engine paths env vars

* Fix common repo mongodb errors

* Pass cdisc rules engine latest release url as env

This will allow us to use our temporary forked binary before cdisc release updated binary with performance enhancements

* Update build args

* Update vars context

* Fix env var name

* Move change audit data filter from v2 to common

* Remove V2 api endpoints and code

* Add process change audit

* Add process change audit to study service v3, v4, and v5

* Remove Azure Function project

* Fix logging method names

* Avoid nested .First() calls in mongo LINQ projection

* mike's fixed cdisc pliot usdm 4 data

* Fix Range model to use Quantity entities/dtos

* Remove unused data

* Fix USDM Version to v4

* Code cleanup

* Fix merge branch 'model-cross-refs-scopes'

* md changes

* Fix method names

* md update

* Add back missing function

* fix method name

* fix method names

* Revert "Merge pull request #534 from transcelerate/1024-InterventionalStudyDesign-CPT-mapping"

This reverts commit 4bd828a, reversing
changes made to add25cc.

* Progress made on fixing tests

* Fix last test

* Rename build API container image to include 'ddf'

* Remove unused GitHub Actions

* Allow warnings (partially executable rules) for post/put study

* Fix studyIdentifiers map to commonStudyIdentifiers for search

* Fix unit tests

* Update ignore casing for executability value

* Add default USDM Version mapping string to API image

* Search title fix

* Update quantity range abstract class

* Add administrations attribute for study intervention

* Update documentation

* Change BlindingSchema data type

* Update study design abstract class

* Update identifier abstract class

* Update syntax template abstract class

* Update abstract classes

* Fix PrimaryPurpose and InterventionModel on V5 studies ecpt

* Fix numberOfParticipants by handling Quantity entities

* ecpt recognises SPONSOR as a sponsor ID

* Use IsSponsorDecode helper

* Use IsSponsorDecode helper

* Fix search with sponsor Id query bug

* Add null check for sponsor Id

* Include Interventional study design in search response

* Revert "Use IsSponsorDecode helper"

This reverts commit ca521c2.

* Updated the V5 methods of datafiltercommon

* Revert "Updated the V5 methods of datafiltercommon"

This reverts commit 8608a1f.

* Use valid mongo C# driver query

* Ignore extra fields

* Update sponsor decode

* Get value from min and max

* Fix V5 intervention model filtering

* Remove observationalStudyDesign from filter

* Update API docs

* Update readme

* Update readme

* Fix quotes

---------

Co-authored-by: Jon Masson <jonathan.masson@capgemini.com>
Co-authored-by: jonmassoncap <118985141+jonmassoncap@users.noreply.github.com>
Co-authored-by: Matt Kendall <mattk91@gmail.com>
Co-authored-by: Matt Kendall <matthew.kendall@tessella.com>

* Change medical device notes cardinality

* Add files via upload

Errata update.

* Update SMG to v2.1

* Remove old SMG

* Update and rename ddf-sdr-api-study-cdisc-pilot-sample-json-v5.0.json to ddf-sdr-api-study-cdisc-pilot-sample-usdm-v4json

Updated with latest USDM 4.0 conformance.

* Rename ddf-sdr-api-study-cdisc-pilot-sample-usdm-v4json to ddf-sdr-api-study-cdisc-pilot-sample-usdm-v4.json

* Update and rename ddf-sdr-api-study-observational-sample-json-v3.0.json to ddf-sdr-api-study-observational-sample-usdm-v4.json

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Update README.md

* Update README.md

* Add files via upload

* Update README.md

* Add files via upload

* Update README.md

* Fix #1226 Handle Study Identifiers null Scope Id

* Fix #1227 Study Search Sort By Study Title Error

* Update SMG to v2.2 (#588)

* Move timelineExit and timeline properties to ScheduledActivityInstance class (#593)

* Set AdministrableProduct identifiers property to an empty array when missing in json data (#594)

---------

Co-authored-by: Jon Masson <jonathan.masson@capgemini.com>
Co-authored-by: Matt Kendall <mattk91@gmail.com>
Co-authored-by: Matt Kendall <matthew.kendall@tessella.com>
Co-authored-by: jonmassoncap <118985141+jonmassoncap@users.noreply.github.com>
Co-authored-by: mikerippin <106111791+mikerippin@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant