diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/profile/ProfileUtilities.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/profile/ProfileUtilities.java
index 554dc8608..6203ef67c 100644
--- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/profile/ProfileUtilities.java
+++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/profile/ProfileUtilities.java
@@ -1662,6 +1662,9 @@ public class ProfileUtilities extends TranslatingUtilities {
if (isLikelySourceURLReference(url, resourceNames, baseFilenames, localFilenames)) {
b.append("](");
b.append(basePath);
+ if (!Utilities.noString(basePath) && !basePath.endsWith("/")) {
+ b.append("/");
+ }
i = i + 1;
} else {
b.append("](");
@@ -1740,8 +1743,11 @@ public class ProfileUtilities extends TranslatingUtilities {
url.startsWith("loinc.html") ||
url.startsWith("http.html") ||
url.startsWith("references") ||
+ url.startsWith("license.html") ||
url.startsWith("narrative.html") ||
url.startsWith("search.html") ||
+ url.startsWith("security.html") ||
+ url.startsWith("versions.html") ||
url.startsWith("patient-operation-match.html") ||
(url.startsWith("extension-") && url.contains(".html")) ||
url.startsWith("resource-definitions.html");
diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/Element.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/Element.java
index 9fc7d079d..93f0ce092 100644
--- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/Element.java
+++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/Element.java
@@ -1327,25 +1327,39 @@ public class Element extends Base {
super.copyValues(dst);
Element dest = (Element) dst;
- dest.comments.clear();
- dest.comments.addAll(comments);
+ if (comments != null) {
+ dest.comments = new ArrayList<>();
+ dest.comments.addAll(comments);
+ } else {
+ dest.comments = null;
+ }
dest.value = value;
- dest.children.clear();
- dest.children.addAll(children);
+ if (children != null) {
+ dest.children = new ArrayList<>();
+ dest.children.addAll(children);
+ } else {
+ dest.children = null;
+ }
dest.line = line;
dest.col = col;
dest.xhtml = xhtml;
dest.explicitType = explicitType;
dest.hasParentForValidator = false;
dest.path = path;
- dest.messages.clear();
+ dest.messages = null;
dest.prohibited = prohibited;
dest.required = required;
- dest.childMap.clear();
+ dest.childMap = null;
dest.descendentCount = descendentCount;
dest.instanceId = instanceId;
dest.isNull = isNull;
dest.source = source;
}
+ public Base setProperty(String name, Base value) throws FHIRException {
+ setChildValue(name, value.primitiveValue());
+ return this;
+ }
+
+
}
\ No newline at end of file
diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/FHIRPathEngine.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/FHIRPathEngine.java
index 92d42ee66..238a1e87b 100644
--- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/FHIRPathEngine.java
+++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/FHIRPathEngine.java
@@ -3894,7 +3894,10 @@ public class FHIRPathEngine {
}
private List funcLowBoundary(ExecutionContext context, List focus, ExpressionNode expr) {
- if (focus.size() != 1) {
+ if (focus.size() == 0) {
+ return makeNull();
+ }
+ if (focus.size() > 1) {
throw makeExceptionPlural(focus.size(), expr, I18nConstants.FHIRPATH_FOCUS, "lowBoundary", focus.size());
}
int precision = 0;
@@ -3929,7 +3932,10 @@ public class FHIRPathEngine {
}
private List funcHighBoundary(ExecutionContext context, List focus, ExpressionNode expr) {
- if (focus.size() != 1) {
+ if (focus.size() == 0) {
+ return makeNull();
+ }
+ if (focus.size() > 1) {
throw makeExceptionPlural(focus.size(), expr, I18nConstants.FHIRPATH_FOCUS, "highBoundary", focus.size());
}
int precision = 0;