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

3.9.4 #300

Merged
merged 2 commits into from
Oct 17, 2024
Merged

3.9.4 #300

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 8 additions & 7 deletions docs/changelog.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
Unreleased
2024/10/17 Release 3.9.4

- 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
- Allow validating a resource through the GUI with URL search parameters [#288](https://github.com/ahdis/matchbox/issues/288)
- Terminology: support CodeableConcept in ValueSet/$validate operation [#291](https://github.com/ahdis/matchbox/issues/291)
- Upgrade hapifhir org.hl7.fhir.core to 6.3.32
- Validation: Tutorial for validating FHIR resources with [matchbox](https://ahdis.github.io/matchbox/validation-tutorial/)
- Validation: add button to copy a direct link to the validation [#296](https://github.com/ahdis/matchbox/issues/296)
- Validation: support additional validation parameters [#299](https://github.com/ahdis/matchbox/issues/299)
- Validation: Allow validating a resource through the GUI with URL search parameters [#288](https://github.com/ahdis/matchbox/issues/288)
- Validation: Terminology: support CodeableConcept in ValueSet/$validate operation [#291](https://github.com/ahdis/matchbox/issues/291)
- FML: Use FMLParser in StructureMapUtilities and support for identity transform [#289](https://github.com/ahdis/matchbox/issues/289)
- FML: FML transform performance tuning #264 (via @mrunibe)
- Validation: add button to copy a direct link to the validation [#296](https://github.com/ahdis/matchbox/issues/296)
- 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.32

2024/10/07 Release 3.9.3

Expand Down
76 changes: 45 additions & 31 deletions docs/validation-tutorial.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion matchbox-engine/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<artifactId>matchbox</artifactId>
<groupId>health.matchbox</groupId>
<version>3.9.3</version>
<version>3.9.4</version>
</parent>

<artifactId>matchbox-engine</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
import org.hl7.fhir.r5.renderers.spreadsheets.StructureDefinitionSpreadsheetGenerator;
import org.hl7.fhir.r5.renderers.spreadsheets.ValueSetSpreadsheetGenerator;
import org.hl7.fhir.r5.terminologies.CodeSystemUtilities;
import org.hl7.fhir.r5.terminologies.client.TerminologyClientManager.InternalLogEvent;
import org.hl7.fhir.utilities.TextFile;
import org.hl7.fhir.utilities.TimeTracker;
import org.hl7.fhir.utilities.Utilities;
Expand Down Expand Up @@ -148,7 +149,8 @@ public void validateSources(CliContext cliContext, ValidationEngine validator) t
ValidationOutputRenderer renderer = makeValidationOutputRenderer(cliContext);
renderer.setOutput(dst);
renderer.setCrumbTrails(validator.isCrumbTrails());

renderer.setShowMessageIds(validator.isShowMessageIds());

int ec = 0;

if (r instanceof Bundle) {
Expand Down Expand Up @@ -183,6 +185,20 @@ public void validateSources(CliContext cliContext, ValidationEngine validator) t
TextFile.stringToFile(html, cliContext.getHtmlOutput());
System.out.println("HTML Summary in " + cliContext.getHtmlOutput());
}

if (cliContext.isShowTerminologyRouting()) {
System.out.println("");
System.out.println("Terminology Routing Dump ---------------------------------------");
if (validator.getContext().getTxClientManager().getInternalLog().isEmpty()) {
System.out.println("(nothing happened)");
} else {
for (InternalLogEvent log : validator.getContext().getTxClientManager().getInternalLog()) {
System.out.println(log.getMessage()+" -> "+log.getServer()+" (for VS "+log.getVs()+" with systems '"+log.getSystems()+"', choices = '"+log.getChoices()+"')");
}
}
validator.getContext().getTxClientManager().getInternalLog().clear();
}

System.exit(ec > 0 ? 1 : 0);
}

Expand Down
4 changes: 2 additions & 2 deletions matchbox-frontend/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion matchbox-frontend/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "matchbox",
"version": "3.9.3",
"version": "3.9.4",
"license": "MIT",
"scripts": {
"ng": "ng",
Expand Down
2 changes: 1 addition & 1 deletion matchbox-server/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>matchbox</artifactId>
<groupId>health.matchbox</groupId>
<version>3.9.3</version>
<version>3.9.4</version>
</parent>

<artifactId>matchbox-server</artifactId>
Expand Down
45 changes: 45 additions & 0 deletions matchbox-server/src/main/java/ch/ahdis/matchbox/CliContext.java
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,15 @@ public CliContext setExtensions(List<String> extensions) {
@JsonProperty("forPublication")
private boolean forPublication = false;

@JsonProperty("showMessageIds")
private boolean showMessageIds = false;

@JsonProperty("showTerminologyRouting")
private boolean showTerminologyRouting = false;

@JsonProperty("clearTxCache")
private boolean clearTxCache = false;

@JsonProperty("allowExampleUrls")
private boolean allowExampleUrls = true;

Expand Down Expand Up @@ -586,6 +595,30 @@ public void setForPublication(boolean forPublication) {
this.forPublication = forPublication;
}

public boolean isShowMessageIds() {
return showMessageIds;
}

public void setShowMessageIds(boolean showMessageIds) {
this.showMessageIds = showMessageIds;
}

public boolean isShowTerminologyRouting() {
return showTerminologyRouting;
}

public void setShowTerminologyRouting(boolean showTerminologyRouting) {
this.showTerminologyRouting = showTerminologyRouting;
}

public boolean isClearTxCache() {
return clearTxCache;
}

public void setClearTxCache(boolean clearTxCache) {
this.clearTxCache = clearTxCache;
}

public boolean isAllowExampleUrls() {
return allowExampleUrls;
}
Expand Down Expand Up @@ -635,6 +668,9 @@ public boolean equals(final Object o) {
&& securityChecks == that.securityChecks
&& crumbTrails == that.crumbTrails
&& forPublication == that.forPublication
&& showMessageIds == that.showMessageIds
&& showTerminologyRouting == that.showTerminologyRouting
&& clearTxCache == that.clearTxCache
&& allowExampleUrls == that.allowExampleUrls
&& onlyOneEngine == that.onlyOneEngine
&& xVersion == that.xVersion
Expand Down Expand Up @@ -677,6 +713,9 @@ public int hashCode() {
securityChecks,
crumbTrails,
forPublication,
showMessageIds,
showTerminologyRouting,
clearTxCache,
httpReadOnly,
allowExampleUrls,
htmlInMarkdownCheck,
Expand Down Expand Up @@ -732,6 +771,9 @@ public String toString() {
", securityChecks=" + securityChecks +
", crumbTrails=" + crumbTrails +
", forPublication=" + forPublication +
", showMessageIds=" + showMessageIds +
", showTerminologyRouting=" + showTerminologyRouting +
", clearTxCache=" + clearTxCache +
", allowExampleUrls=" + allowExampleUrls +
", locale='" + locale + '\'' +
", locations=" + locations +
Expand Down Expand Up @@ -771,6 +813,9 @@ public void addContextToExtension(final Extension ext) {
addExtension(ext, "securityChecks", new BooleanType(this.securityChecks));
addExtension(ext, "crumbTrails", new BooleanType(this.crumbTrails));
addExtension(ext, "forPublication", new BooleanType(this.forPublication));
addExtension(ext, "showMessageIds", new BooleanType(this.showMessageIds));
addExtension(ext, "showTerminologyRouting", new BooleanType(this.showTerminologyRouting));
addExtension(ext, "clearTxCache", new BooleanType(this.clearTxCache));
addExtension(ext, "httpReadOnly", new BooleanType(this.httpReadOnly));
addExtension(ext, "allowExampleUrls", new BooleanType(this.allowExampleUrls));
addExtension(ext, "txServer", new UriType(this.txServer));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -498,6 +498,15 @@ private void configureValidationEngine(final MatchboxEngine validator,
} catch (final Exception e) {
throw new TerminologyServerException("Error while setting the terminology server cache: " + getTxCachePath(cli.getTxServer()), e);
}

try {
if (cli.isClearTxCache()) {
validator.getContext().getTxCache().clear();
}
} catch (final Exception e) {
throw new TerminologyServerException("Error while setting while trying to clear the terminology cache", e);
}

}

validator.setDebug(cli.isDoDebug());
Expand Down Expand Up @@ -531,6 +540,7 @@ private void configureValidationEngine(final MatchboxEngine validator,
validator.setWantInvariantInMessage(cli.isWantInvariantsInMessages());
validator.setSecurityChecks(cli.isSecurityChecks());
validator.setCrumbTrails(cli.isCrumbTrails());
validator.setShowMessageIds(cliContext.isShowMessageIds());
validator.setForPublication(cli.isForPublication());
validator.setShowTimes(true);
validator.setAllowExampleUrls(cli.isAllowExampleUrls());
Expand Down
16 changes: 16 additions & 0 deletions matchbox-server/with-oneengine/application.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,22 @@ spring:
max-active: 15
hikari:
maximum-pool-size: 10
hapi:
fhir:
server_address: http://localhost:8080/matchboxv3/fhir
implementationguides:
fhir_r4_core:
name: hl7.fhir.r4.core
version: 4.0.1
url: classpath:/hl7.fhir.r4.core.tgz
fhir_terminology:
name: hl7.terminology
version: 5.4.0
url: classpath:/hl7.terminology#5.4.0.tgz
fhir_extensions:
name: hl7.fhir.uv.extensions.r4
version: 1.0.0
url: classpath:/hl7.fhir.uv.extensions.r4#1.0.0.tgz
matchbox:
fhir:
context:
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

<groupId>health.matchbox</groupId>
<artifactId>matchbox</artifactId>
<version>3.9.3</version>
<version>3.9.4</version>
<packaging>pom</packaging>
<name>matchbox</name>
<description>An open-source implementation to support testing and implementation of FHIR based solutions and map or
Expand Down
Loading