diff --git a/.gitignore b/.gitignore index 463b0fd0f76..c39873f1e3a 100644 --- a/.gitignore +++ b/.gitignore @@ -229,3 +229,5 @@ database/h2.trace.db .apt_generated_tests matchbox-server/tx.html + +matchbox-server/test.html diff --git a/docs/changelog.md b/docs/changelog.md index 020da81b3d5..a381706f6a7 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -2,7 +2,7 @@ Unreleased - Tutorial for validation FHIR resources with [matchbox](https://ahdis.github.io/matchbox/validation-tutorial/) - Gazelle reports: add test to ensure https://gazelle.ihe.net/jira/browse/EHS-831 is fixed -- Upgrade hapifhir org.hl7.fhir.core to 6.3.30 +- Upgrade hapifhir org.hl7.fhir.core to 6.3.31 - FML: Use FMLParser in StructureMapUtilities and support for identity transform [#289](https://github.com/ahdis/matchbox/issues/289) 2024/10/07 Release 3.9.3 diff --git a/docs/validation.md b/docs/validation.md index 06f50f2bc4f..fe5faa8698b 100644 --- a/docs/validation.md +++ b/docs/validation.md @@ -75,6 +75,9 @@ matchbox: |----------------------|-------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | implementationguides | 0..\* | the Implementation Guide and version which with which matchbox will be configured, you can provide by classpath, file, http address, if none is specified the FHIR package servers will be used (need to be online) | | txServer | 0..1 | txServer to use, n/a if none (default), http://localhost:8080/fhir for internal (if server.port in application.yaml is 8080), http://tx.fhir.org for hl7 validator | +| txUseEcosystem | 0..1 | boolean true if none (default), if true asks tx servers for which CodeSystem they are authorative | +| txServerCache | 0..1 | boolean if respones are cached, true if none (default) | +| txLog | 0..1 | string indicating file location of log (end either in .txt or .html, default no logging | | igsPreloaded | 0..\* | For each mentioned ImplementationGuide (comma separated) an engine will be created, which will be cached in memory as long the application is running. Other IG's will created on demand and will be cached for an hour for subsequent calls. Tradeoff between memory consumption and first response time (creating of engine might have duration of half a minute). Default no igs are preloaded. | | onlyOneEngine | 0..1 | Implementation Guides can have multiple versions with different dependencies. Matchbox creates for transformation and validation an own engine for each Implementation Guide and its dependencies (default setting). You can switch this behavior, e.g. if you are using it in development and want to create and update resources or transform maps. Set the setting for onlyOneEngine to true. The changes are however not persisted and will be lost if matchbox is restarted. | | httpReadOnly | 0..1 | Whether to allow creating, modifying or deleting resources on the server via the HTTP API or not. If `true`, IGs can only be loaded through the configuration. | diff --git a/matchbox-engine/src/main/java/org/hl7/fhir/r5/context/BaseWorkerContext.java b/matchbox-engine/src/main/java/org/hl7/fhir/r5/context/BaseWorkerContext.java index 2f20b8e73af..a1d07ea3d5b 100644 --- a/matchbox-engine/src/main/java/org/hl7/fhir/r5/context/BaseWorkerContext.java +++ b/matchbox-engine/src/main/java/org/hl7/fhir/r5/context/BaseWorkerContext.java @@ -1771,6 +1771,10 @@ protected void addServerValidationParameters(TerminologyClientContext terminolog } else if (options.getVsAsUrl()){ pin.addParameter().setName("url").setValue(new UriType(vs.getUrl())); } else { + if (vs.hasCompose() && vs.hasExpansion()) { + vs = vs.copy(); + vs.setExpansion(null); + } pin.addParameter().setName("valueSet").setResource(vs); if (vs.getUrl() != null) { terminologyClientContext.getCached().add(vs.getUrl()+"|"+ vs.getVersion()); diff --git a/matchbox-server/with-elm/application.yaml b/matchbox-server/with-elm/application.yaml index 3663a966680..0b15bf2f839 100644 --- a/matchbox-server/with-elm/application.yaml +++ b/matchbox-server/with-elm/application.yaml @@ -26,7 +26,11 @@ matchbox: fhir: context: fhirVersion: 4.0.1 +# txServer: http://tx.fhir.org txServer: http://localhost:${server.port}/matchboxv3/fhir + txUseEcosystem: false + txLog: test.html + txServerCache: false suppressWarnInfo: hl7.fhir.r4.core#4.0.1: - "Constraint failed: dom-6:" diff --git a/pom.xml b/pom.xml index 3ccf2d61470..fa69c3dc569 100644 --- a/pom.xml +++ b/pom.xml @@ -38,7 +38,7 @@ UTF-8 UTF-8 - 6.3.30 + 6.3.31 7.4.0 1.5.5