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