diff --git a/org.hl7.fhir.convertors/pom.xml b/org.hl7.fhir.convertors/pom.xml index 4e468c855..d031b4f44 100644 --- a/org.hl7.fhir.convertors/pom.xml +++ b/org.hl7.fhir.convertors/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 6.3.18-SNAPSHOT + 6.3.19-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu2/pom.xml b/org.hl7.fhir.dstu2/pom.xml index e150e70c4..1bd39e603 100644 --- a/org.hl7.fhir.dstu2/pom.xml +++ b/org.hl7.fhir.dstu2/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 6.3.18-SNAPSHOT + 6.3.19-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu2016may/pom.xml b/org.hl7.fhir.dstu2016may/pom.xml index 0ece8835b..241e03fd2 100644 --- a/org.hl7.fhir.dstu2016may/pom.xml +++ b/org.hl7.fhir.dstu2016may/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 6.3.18-SNAPSHOT + 6.3.19-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu3/pom.xml b/org.hl7.fhir.dstu3/pom.xml index 92ca90f77..fa5bd7bb0 100644 --- a/org.hl7.fhir.dstu3/pom.xml +++ b/org.hl7.fhir.dstu3/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 6.3.18-SNAPSHOT + 6.3.19-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r4/pom.xml b/org.hl7.fhir.r4/pom.xml index 03c7bc1c6..4372e2f8f 100644 --- a/org.hl7.fhir.r4/pom.xml +++ b/org.hl7.fhir.r4/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 6.3.18-SNAPSHOT + 6.3.19-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/model/NamingSystem.java b/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/model/NamingSystem.java index ce5c67af6..5313ee7a2 100644 --- a/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/model/NamingSystem.java +++ b/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/model/NamingSystem.java @@ -347,6 +347,8 @@ public class NamingSystem extends MetadataResource { } public String toCode(NamingSystemIdentifierType code) { + if (code == NamingSystemIdentifierType.NULL) + return null; if (code == NamingSystemIdentifierType.OID) return "oid"; if (code == NamingSystemIdentifierType.UUID) diff --git a/org.hl7.fhir.r4b/pom.xml b/org.hl7.fhir.r4b/pom.xml index 6eb9b978b..c8e0256d1 100644 --- a/org.hl7.fhir.r4b/pom.xml +++ b/org.hl7.fhir.r4b/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 6.3.18-SNAPSHOT + 6.3.19-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r5/pom.xml b/org.hl7.fhir.r5/pom.xml index 986926024..96ce86cd1 100644 --- a/org.hl7.fhir.r5/pom.xml +++ b/org.hl7.fhir.r5/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 6.3.18-SNAPSHOT + 6.3.19-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/NamingSystem.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/NamingSystem.java index 6639afdd5..80aec8825 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/NamingSystem.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/NamingSystem.java @@ -312,6 +312,8 @@ public class NamingSystem extends MetadataResource { throw new FHIRException("Unknown NamingSystemType code '"+codeString+"'"); } public String toCode(NamingSystemType code) { + if (code == NamingSystemType.NULL) + return null; if (code == NamingSystemType.CODESYSTEM) return "codesystem"; if (code == NamingSystemType.IDENTIFIER) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/DataRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/DataRenderer.java index 67b07b861..1bd6e7572 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/DataRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/DataRenderer.java @@ -278,10 +278,11 @@ public class DataRenderer extends Renderer implements CodeResolver { String s = codeSystem+'-'+code; StringBuilder b = new StringBuilder(); for (char c : s.toCharArray()) { - if (Character.isAlphabetic(c) || Character.isDigit(c) || c == '.') - b.append(c); - else - b.append('-'); + if (Utilities.isValidHtmlAnchorChar(c)) { + b.append(c); + } else { + b.append("|"+Integer.toHexString(c)); // not % to save double coding confusing users + } } return b.toString(); } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/OperationOutcomeRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/OperationOutcomeRenderer.java index b725fa17f..8e9e8ef6b 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/OperationOutcomeRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/OperationOutcomeRenderer.java @@ -88,8 +88,9 @@ public class OperationOutcomeRenderer extends ResourceRenderer { d = true; td.addText(s.primitiveValue()); } - tr.td().addText(getTranslatedCode(i.child("code"))); - tr.td().addText(i.child("details").primitiveValue("text")); + tr.td().addText(getTranslatedCode(i.child("code"))); + if (i.has("details")) + tr.td().addText(i.child("details").primitiveValue("text")); smartAddText(tr.td(), i.primitiveValue("diagnostics")); if (hasSource) { ResourceWrapper ext = i.extension(ToolingExtensions.EXT_ISSUE_SOURCE); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ValueSetRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ValueSetRenderer.java index bb56a2f37..874aff02c 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ValueSetRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ValueSetRenderer.java @@ -809,7 +809,8 @@ public class ValueSetRenderer extends TerminologyRenderer { XhtmlNode td = tr.td(); String tgt = makeAnchor(c.getSystem(), c.getCode()); - td.an(res.getScopedId()+"-"+context.prefixAnchor(tgt)); + String pfx = res.getScopedId(); + td.an((context.prefixAnchor(pfx == null ? "" : pfx+"-")+tgt)); if (doLevel) { td.addText(Integer.toString(i)); diff --git a/org.hl7.fhir.report/pom.xml b/org.hl7.fhir.report/pom.xml index 02f4536d5..b35def4d7 100644 --- a/org.hl7.fhir.report/pom.xml +++ b/org.hl7.fhir.report/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 6.3.18-SNAPSHOT + 6.3.19-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.utilities/pom.xml b/org.hl7.fhir.utilities/pom.xml index 8aceebda8..d85e557e8 100644 --- a/org.hl7.fhir.utilities/pom.xml +++ b/org.hl7.fhir.utilities/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 6.3.18-SNAPSHOT + 6.3.19-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/Utilities.java b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/Utilities.java index 3e863ae59..9019581bb 100644 --- a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/Utilities.java +++ b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/Utilities.java @@ -2254,4 +2254,34 @@ public class Utilities { } } + public static boolean isValidHtmlAnchorChar(char c) { + if ( (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9')) { + return true; + } + switch (c) { + case '!': + case '$': + case '&': + case '\'': + case '(': + case ')': + case '*': + case '+': + case ',': + case ';': + case '=': + case '.': + case '_': + case '-': + case '~': + case ':': + case '@': + case '/': + case '?': + return true; + default: + return false; + } + } + } diff --git a/org.hl7.fhir.validation.cli/pom.xml b/org.hl7.fhir.validation.cli/pom.xml index 87bd293b4..8207c2a62 100644 --- a/org.hl7.fhir.validation.cli/pom.xml +++ b/org.hl7.fhir.validation.cli/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 6.3.18-SNAPSHOT + 6.3.19-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.validation/pom.xml b/org.hl7.fhir.validation/pom.xml index 157e101f8..9fe3c30ab 100644 --- a/org.hl7.fhir.validation/pom.xml +++ b/org.hl7.fhir.validation/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 6.3.18-SNAPSHOT + 6.3.19-SNAPSHOT ../pom.xml diff --git a/pom.xml b/pom.xml index 02ae4285d..ed63737a6 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ HAPI FHIR --> org.hl7.fhir.core - 6.3.18-SNAPSHOT + 6.3.19-SNAPSHOT pom