Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issues/39 internal bundle validation #68

Merged
merged 31 commits into from
Jun 18, 2022

Conversation

hhund
Copy link
Member

@hhund hhund commented May 24, 2022

closes #39

hhund added 3 commits May 24, 2022 15:21
restart policy "no" makes it easier to debug issues related to crashing
containers
This initial process validation task implementation requires 29
additional jars to be added to the BPE as regular (non-process) plugins.
Alternatively we could release the process plugin as a tar.gz/zip or we
might want to add the needed HAPI dependencies into the DSF BPE itself.
This implementation  contains some workarounds due to limitations of
some classes in the dsf-fhir-validation module.

The maven build produces a
codex-process-data-transfer-0.5.0-SNAPSHOT.zip containing the
codex-process-data-transfer-0.5.0-SNAPSHOT.jar and all dependency needed
to start a stand-alone bundle/resource validator.

Windows:
java -cp codex-process-data-transfer-0.5.0-SNAPSHOT.jar;lib/*
de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.validation.ValidationMain
some-bundle.json some-resource.xml

Unix:
java -cp codex-process-data-transfer-0.5.0-SNAPSHOT.jar:lib/*
de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.validation.ValidationMain
some-bundle.json some-resource.xml

The stand-alone validator outputs debug infos to System.err and the
validation result to System.out. For a given single resource a
OperationOutcome resource is produced and for a given Bundle, a bundle
with added response.outcome per entry with be printed to System.out.
The validator validates every json or xml file defined as command line
argument.
The validator can be configured using a application.properties file
within the execution folder or via java system properties, meaning java
command line parameters -Dfoo=bar. For configuration properties see
classes
de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.spring.config.ValidationConfig
and
de.netzwerk_universitaetsmedizin.codex.processes.data_transfer.validation.ValidationMain.TestConfig.
@hhund hhund added this to the v0.5.0 milestone May 24, 2022
@hhund hhund requested a review from wetret May 24, 2022 13:58
@hhund hhund self-assigned this May 24, 2022
@hhund hhund linked an issue May 24, 2022 that may be closed by this pull request
hhund added 23 commits May 25, 2022 16:19
clients only initialize a trust store only ssl context, if key store and
key store password are null.
Jersey based clients not use the ApacheConnectorProvider. Standard
connector provider has no support for forwarding proxies. Added a
ontology server connection test to the ValueSetExpansionClient and usage
of to ValidatorMain.
The GECCO 1.0.5 radiology-procedures profile needs a min=0 config in the
rule Procedure.code.coding:dicom in order for the HAPI Snapshot
Generator to generate the correct StructureDefinition snapshot.
The contructor of ValidationPackageManagerImpl used in the
ValidateDataLearningTest was missing the "dicom" fix, aka
GeccoRadiologyProceduresCodingSliceMinFixer
issues/39_internal_bundle_validation
issues/39_internal_bundle_validation
Removed "-type" suffix from the error code CodeSystem/ValueSet.

Removed not needed TODO comments.

Changed log level from error to warning for first try ValueSet expansion
errors (errors resulting in trying to expand via external terminology
server next).

Changed external terminology server for the test setup.
To start the dic-fhir service with a locally build DSF image use:
docker-compose -f docker-compose.yml -f
docker-compose.local-dsf-build.yml up dic-fhir
Increased version numbers of log42-utils and crypto-utils dependencies
to the latest versions.
Snapshots are only generate for StructureDefinitions from the root
validation package and its dependencies. ValueSet are only expanded if
they are part of binding rules from these StructureDefinitions. The
binding strength can be configured.
change log level for errors during internal ValueSet expansion
Added getServerBase Method to GeccoClient interface and implementing
classes. Removed geccoServerBase field from ReadData service, since it
may not be configured (when testing without GECCO FHIR Server or at the
GTH), resulting in a NullPointerException.
The file codex-processes-ap1-docker-test-setup/docker-compose.override.yml
has been added to .gitignore and can now be used to defined local
overrides. See https://docs.docker.com/compose/extends on how to use
override files.
@hhund hhund removed the request for review from wetret June 18, 2022 15:40
Added new environment variable to disable FHIR validation. Added new
functionality to test if all resources are declaring at least on
supported profile. A validation error is raised if no supported profile
is defined. Profiles are supported if they are declared in the root
validation package (currently de.gecco | 1.0.5) or are dependencies of
the StructureDefinitions. Only profile with abstract = false and kind =
resource are supported as claimed profiles by resources beeing
validated.
@hhund hhund merged commit eb0027a into develop Jun 18, 2022
@hhund hhund deleted the issues/39_internal_bundle_validation branch June 30, 2022 15:45
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.

Add Bundle Validation Implementation
1 participant