From 0502234ba33cef16f9575f5672b73bd315df40e9 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Thu, 18 Jan 2024 11:41:56 +1100 Subject: [PATCH] render target profiles on operation definition parameters --- .../r5/renderers/OperationDefinitionRenderer.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/OperationDefinitionRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/OperationDefinitionRenderer.java index 8532156bc..3d9fdbda7 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/OperationDefinitionRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/OperationDefinitionRenderer.java @@ -4,6 +4,7 @@ import java.io.IOException; import java.io.UnsupportedEncodingException; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.model.CanonicalType; import org.hl7.fhir.r5.model.CodeType; import org.hl7.fhir.r5.model.Enumeration; import org.hl7.fhir.r5.model.Enumerations.FHIRTypes; @@ -141,6 +142,20 @@ public class OperationDefinitionRenderer extends TerminologyRenderer { } } else td.ah(sd.getWebPath()).tx(actualType); + if (p.hasTargetProfile()) { + td.tx(" ("); + boolean first = true; + for (CanonicalType tp : p.getTargetProfile()) { + if (first) { first = false;} else {td.tx(", ");}; + StructureDefinition sdt = context.getWorker().fetchTypeDefinition(tp.asStringValue()); + if (sdt == null || !sdt.hasWebPath()) { + td.code().tx(tp.asStringValue()); + } else { + td.ah(sdt.getWebPath(), tp.asStringValue()).tx(sdt.present()); + } + } + td.tx(")"); + } if (p.hasSearchType()) { td.br(); td.tx("(");