WHO i18n work (#1592)
This commit is contained in:
parent
de79e47de6
commit
5662ec131f
|
@ -42,6 +42,7 @@ import org.hl7.fhir.r5.renderers.utils.RenderingContext.ResourceRendererMode;
|
|||
import org.hl7.fhir.r5.utils.DefinitionNavigator;
|
||||
import org.hl7.fhir.utilities.CommaSeparatedStringBuilder;
|
||||
import org.hl7.fhir.utilities.Utilities;
|
||||
import org.hl7.fhir.utilities.i18n.I18nConstants;
|
||||
import org.hl7.fhir.utilities.i18n.RenderingI18nContext;
|
||||
import org.hl7.fhir.utilities.validation.ValidationMessage;
|
||||
import org.hl7.fhir.utilities.validation.ValidationMessage.IssueSeverity;
|
||||
|
@ -1289,32 +1290,32 @@ public class StructureDefinitionComparer extends CanonicalResourceComparer imple
|
|||
boolean ext = false;
|
||||
if (tail(path).equals("extension")) {
|
||||
if (elementIsComplex(combined))
|
||||
row.setIcon("icon_extension_complex.png", HierarchicalTableGenerator.TEXT_ICON_EXTENSION_COMPLEX);
|
||||
row.setIcon("icon_extension_complex.png", utilsLeft.getContext().formatMessage(RenderingI18nContext.TEXT_ICON_EXTENSION_COMPLEX));
|
||||
else
|
||||
row.setIcon("icon_extension_simple.png", HierarchicalTableGenerator.TEXT_ICON_EXTENSION_SIMPLE);
|
||||
row.setIcon("icon_extension_simple.png", utilsLeft.getContext().formatMessage(RenderingI18nContext.TEXT_ICON_EXTENSION_SIMPLE));
|
||||
ext = true;
|
||||
} else if (tail(path).equals("modifierExtension")) {
|
||||
if (elementIsComplex(combined))
|
||||
row.setIcon("icon_modifier_extension_complex.png", HierarchicalTableGenerator.TEXT_ICON_EXTENSION_COMPLEX);
|
||||
row.setIcon("icon_modifier_extension_complex.png", utilsLeft.getContext().formatMessage(RenderingI18nContext.TEXT_ICON_EXTENSION_COMPLEX));
|
||||
else
|
||||
row.setIcon("icon_modifier_extension_simple.png", HierarchicalTableGenerator.TEXT_ICON_EXTENSION_SIMPLE);
|
||||
row.setIcon("icon_modifier_extension_simple.png", utilsLeft.getContext().formatMessage(RenderingI18nContext.TEXT_ICON_EXTENSION_SIMPLE));
|
||||
} else if (hasChoice(combined)) {
|
||||
if (allAreReference(combined))
|
||||
row.setIcon("icon_reference.png", HierarchicalTableGenerator.TEXT_ICON_REFERENCE);
|
||||
row.setIcon("icon_reference.png", utilsLeft.getContext().formatMessage(RenderingI18nContext.TEXT_ICON_REFERENCE));
|
||||
else {
|
||||
row.setIcon("icon_choice.gif", HierarchicalTableGenerator.TEXT_ICON_CHOICE);
|
||||
row.setIcon("icon_choice.gif", utilsLeft.getContext().formatMessage(RenderingI18nContext.TEXT_ICON_CHOICE));
|
||||
typesRow = row;
|
||||
}
|
||||
} else if (combined.either().getDef().hasContentReference())
|
||||
row.setIcon("icon_reuse.png", HierarchicalTableGenerator.TEXT_ICON_REUSE);
|
||||
row.setIcon("icon_reuse.png", utilsLeft.getContext().formatMessage(RenderingI18nContext.TEXT_ICON_REUSE));
|
||||
else if (isPrimitive(combined))
|
||||
row.setIcon("icon_primitive.png", HierarchicalTableGenerator.TEXT_ICON_PRIMITIVE);
|
||||
row.setIcon("icon_primitive.png", utilsLeft.getContext().formatMessage(RenderingI18nContext.TEXT_ICON_PRIMITIVE));
|
||||
else if (hasTarget(combined))
|
||||
row.setIcon("icon_reference.png", HierarchicalTableGenerator.TEXT_ICON_REFERENCE);
|
||||
row.setIcon("icon_reference.png", utilsLeft.getContext().formatMessage(RenderingI18nContext.TEXT_ICON_REFERENCE));
|
||||
else if (isDataType(combined))
|
||||
row.setIcon("icon_datatype.gif", HierarchicalTableGenerator.TEXT_ICON_DATATYPE);
|
||||
row.setIcon("icon_datatype.gif", utilsLeft.getContext().formatMessage(RenderingI18nContext.TEXT_ICON_DATATYPE));
|
||||
else
|
||||
row.setIcon("icon_resource.png", HierarchicalTableGenerator.TEXT_ICON_RESOURCE);
|
||||
row.setIcon("icon_resource.png", utilsLeft.getContext().formatMessage(RenderingI18nContext.TEXT_ICON_RESOURCE));
|
||||
String ref = defPath == null ? null : defPath + combined.either().getDef().getId();
|
||||
String sName = tail(path);
|
||||
String sn = getSliceName(combined);
|
||||
|
|
|
@ -296,8 +296,8 @@ public class AdditionalBindingsRenderer {
|
|||
}
|
||||
}
|
||||
if (any) {
|
||||
String newRepeat = binding.any ? /*!#*/"Any repeats" : /*!#*/"All repeats";
|
||||
String oldRepeat = binding.compare!=null && binding.compare.any ? /*!#*/"Any repeats" : /*!#*/"All repeats";
|
||||
String newRepeat = binding.any ? context.formatMessage(RenderingContext.ADD_BIND_ANY_REP) : context.formatMessage(RenderingContext.ADD_BIND_ALL_REP);
|
||||
String oldRepeat = binding.compare!=null && binding.compare.any ? context.formatMessage(RenderingContext.ADD_BIND_ANY_REP) : context.formatMessage(RenderingContext.ADD_BIND_ALL_REP);
|
||||
compareString(tr.td().style("font-size: 11px"), newRepeat, oldRepeat);
|
||||
}
|
||||
if (doco) {
|
||||
|
|
|
@ -71,7 +71,7 @@ public class BinaryRenderer {
|
|||
public void render(XhtmlNode x, String id, String ct, byte[] cnt) throws IOException {
|
||||
filenames.clear();
|
||||
if (ct == null) {
|
||||
error(x, /*!#*/"No Content Type");
|
||||
error(x,"No Content Type");
|
||||
} else if (ct.startsWith("image/")) {
|
||||
image(x, id, ct, cnt);
|
||||
} else if (isXml(ct)) {
|
||||
|
@ -83,7 +83,7 @@ public class BinaryRenderer {
|
|||
} else if (isText(ct)) {
|
||||
text(x, cnt);
|
||||
} else {
|
||||
error(x, /*!#*/"The Content Type '"+ct+"' is not rendered in this context");
|
||||
error(x, "The Content Type '"+ct+"' is not rendered in this context");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -101,7 +101,7 @@ public class BinaryRenderer {
|
|||
}
|
||||
|
||||
if (ext == null) {
|
||||
error(x, /*!#*/"The Image Type '"+ct+"' is not rendered in this context");
|
||||
error(x, "The Image Type '"+ct+"' is not rendered in this context");
|
||||
} else {
|
||||
String fn = "Binary-Native-"+id+ext;
|
||||
TextFile.bytesToFile(cnt, Utilities.path(folder, fn));
|
||||
|
|
|
@ -506,7 +506,7 @@ public class CodeSystemRenderer extends TerminologyRenderer {
|
|||
hasExtensions = true;
|
||||
if (ToolingExtensions.hasExtension(c, ToolingExtensions.EXT_REPLACED_BY)) {
|
||||
Coding cc = (Coding) ToolingExtensions.getExtension(c, ToolingExtensions.EXT_REPLACED_BY).getValue();
|
||||
td.tx(" "+/*!#*/"(replaced by ");
|
||||
td.tx(" "+ context.formatMessage(RenderingContext.CODE_SYS_REPLACED_BY) + " ");
|
||||
String url = getCodingReference(cc, system);
|
||||
if (url != null) {
|
||||
td.ah(url).addText(cc.getCode());
|
||||
|
@ -636,9 +636,9 @@ public class CodeSystemRenderer extends TerminologyRenderer {
|
|||
}
|
||||
if (context.isCopyButton()) {
|
||||
td = tr.td();
|
||||
clipboard(td, "icon_clipboard_x.png", /*!#*/"XML", "<system value=\""+Utilities.escapeXml(cs.getUrl())+"\">\n"+(cs.getVersionNeeded() ? "<version value=\""+Utilities.escapeXml(cs.getVersion())+"\">\n" : "")+"<code value=\""+Utilities.escapeXml(c.getCode())+"\">\n<display value=\""+Utilities.escapeXml(c.getDisplay())+"\">\n");
|
||||
clipboard(td, "icon_clipboard_x.png", "XML", "<system value=\""+Utilities.escapeXml(cs.getUrl())+"\">\n"+(cs.getVersionNeeded() ? "<version value=\""+Utilities.escapeXml(cs.getVersion())+"\">\n" : "")+"<code value=\""+Utilities.escapeXml(c.getCode())+"\">\n<display value=\""+Utilities.escapeXml(c.getDisplay())+"\">\n");
|
||||
td.nbsp();
|
||||
clipboard(td, "icon_clipboard_j.png", /*!#*/"JSON", "\"system\" : \""+Utilities.escapeXml(cs.getUrl())+"\",\n"+(cs.getVersionNeeded() ? "\"version\" : \""+Utilities.escapeXml(cs.getVersion())+"\",\n" : "")+"\"code\" : \""+Utilities.escapeXml(c.getCode())+"\",\n\"display\" : \""+Utilities.escapeXml(c.getDisplay())+"\"\n");
|
||||
clipboard(td, "icon_clipboard_j.png", "JSON", "\"system\" : \""+Utilities.escapeXml(cs.getUrl())+"\",\n"+(cs.getVersionNeeded() ? "\"version\" : \""+Utilities.escapeXml(cs.getVersion())+"\",\n" : "")+"\"code\" : \""+Utilities.escapeXml(c.getCode())+"\",\n\"display\" : \""+Utilities.escapeXml(c.getDisplay())+"\"\n");
|
||||
}
|
||||
return hasExtensions;
|
||||
}
|
||||
|
|
|
@ -783,7 +783,7 @@ public class ConceptMapRenderer extends TerminologyRenderer {
|
|||
|
||||
private static void renderLinks(XhtmlNode td, List<CollateralDefinition> collateral) {
|
||||
if (collateral.size() > 0) {
|
||||
td.tx(/*!#*/"Links:");
|
||||
td.tx( "Links:");
|
||||
td.tx(" ");
|
||||
boolean first = true;
|
||||
for (CollateralDefinition c : collateral) {
|
||||
|
|
|
@ -219,20 +219,20 @@ public class DataRenderer extends Renderer implements CodeResolver {
|
|||
|
||||
// -- 3. General Purpose Terminology Support -----------------------------------------
|
||||
|
||||
private static String month(String m) {
|
||||
private static String snMonth(String m) {
|
||||
switch (m) {
|
||||
case "1" : return /*!#*/"Jan";
|
||||
case "2" : return /*!#*/"Feb";
|
||||
case "3" : return /*!#*/"Mar";
|
||||
case "4" : return/*!#*/ "Apr";
|
||||
case "5" : return /*!#*/"May";
|
||||
case "6" : return /*!#*/"Jun";
|
||||
case "7" : return /*!#*/"Jul";
|
||||
case "8" : return /*!#*/"Aug";
|
||||
case "9" : return /*!#*/"Sep";
|
||||
case "10" : return /*!#*/"Oct";
|
||||
case "11" : return /*!#*/"Nov";
|
||||
case "12" : return /*!#*/"Dec";
|
||||
case "1" : return "Jan";
|
||||
case "2" : return "Feb";
|
||||
case "3" : return "Mar";
|
||||
case "4" : return "Apr";
|
||||
case "5" : return "May";
|
||||
case "6" : return "Jun";
|
||||
case "7" : return "Jul";
|
||||
case "8" : return "Aug";
|
||||
case "9" : return "Sep";
|
||||
case "10" : return "Oct";
|
||||
case "11" : return "Nov";
|
||||
case "12" : return "Dec";
|
||||
default: return null;
|
||||
}
|
||||
}
|
||||
|
@ -247,21 +247,21 @@ public class DataRenderer extends Renderer implements CodeResolver {
|
|||
ed = p[p.length-3];
|
||||
String y = p[p.length-3].substring(4, 8);
|
||||
String m = p[p.length-3].substring(2, 4);
|
||||
dt = " rel. "+month(m)+" "+y;
|
||||
dt = " rel. "+snMonth(m)+" "+y;
|
||||
} else {
|
||||
ed = p[p.length-1];
|
||||
}
|
||||
switch (ed) {
|
||||
case "900000000000207008": return /*!#*/"Intl"+dt;
|
||||
case "731000124108": return /*!#*/"US"+dt;
|
||||
case "32506021000036107": return /*!#*/"AU"+dt;
|
||||
case "449081005": return /*!#*/"ES"+dt;
|
||||
case "554471000005108": return /*!#*/"DK"+dt;
|
||||
case "11000146104": return /*!#*/"NL"+dt;
|
||||
case "45991000052106": return /*!#*/"SE"+dt;
|
||||
case "999000041000000102": return /*!#*/"UK"+dt;
|
||||
case "20611000087101": return /*!#*/"CA"+dt;
|
||||
case "11000172109": return /*!#*/"BE"+dt;
|
||||
case "900000000000207008": return "Intl"+dt;
|
||||
case "731000124108": return "US"+dt;
|
||||
case "32506021000036107": return "AU"+dt;
|
||||
case "449081005": return "ES"+dt;
|
||||
case "554471000005108": return "DK"+dt;
|
||||
case "11000146104": return "NL"+dt;
|
||||
case "45991000052106": return "SE"+dt;
|
||||
case "999000041000000102": return "UK"+dt;
|
||||
case "20611000087101": return "CA"+dt;
|
||||
case "11000172109": return "BE"+dt;
|
||||
default: return "??"+dt;
|
||||
}
|
||||
} else {
|
||||
|
@ -269,25 +269,6 @@ public class DataRenderer extends Renderer implements CodeResolver {
|
|||
}
|
||||
}
|
||||
|
||||
// public static String describeSystem(String system) {
|
||||
// if (system == null)
|
||||
// return /*!#*/ "[not stated]";
|
||||
// if (system.equals("http://loinc.org"))
|
||||
// return /*!#*/ "LOINC";
|
||||
// if (system.startsWith("http://snomed.info"))
|
||||
// return /*!#*/ "SNOMED CT";
|
||||
// if (system.equals("http://www.nlm.nih.gov/research/umls/rxnorm"))
|
||||
// return /*!#*/ "RxNorm";
|
||||
// if (system.equals("http://hl7.org/fhir/sid/icd-9"))
|
||||
// return /*!#*/ "ICD-9";
|
||||
// if (system.equals("http://dicom.nema.org/resources/ontology/DCM"))
|
||||
// return /*!#*/ "DICOM";
|
||||
// if (system.equals("http://unitsofmeasure.org"))
|
||||
// return /*!#*/ "UCUM";
|
||||
//
|
||||
// return system;
|
||||
// }
|
||||
|
||||
public String displaySystem(String system) {
|
||||
if (system == null)
|
||||
return (context.formatMessage(RenderingContext.DATA_REND_NOT_STAT));
|
||||
|
@ -357,7 +338,7 @@ public class DataRenderer extends Renderer implements CodeResolver {
|
|||
protected String describeLang(String lang) {
|
||||
// special cases:
|
||||
if ("fr-CA".equals(lang)) {
|
||||
return /*!#*/"French (Canadian)"; // this one was omitted from the value set
|
||||
return "French (Canadian)"; // this one was omitted from the value set
|
||||
}
|
||||
ValueSet v = getContext().getWorker().findTxResource(ValueSet.class, "http://hl7.org/fhir/ValueSet/languages");
|
||||
if (v != null) {
|
||||
|
@ -703,7 +684,7 @@ public class DataRenderer extends Renderer implements CodeResolver {
|
|||
if (base instanceof DataType) {
|
||||
render(x, (DataType) base);
|
||||
} else {
|
||||
x.tx(/*!#*/"to do: "+base.fhirType());
|
||||
x.tx(context.formatMessage(RenderingContext.DATA_REND_TO_DO, base.fhirType()));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -763,7 +744,7 @@ public class DataRenderer extends Renderer implements CodeResolver {
|
|||
addMarkdown(x, context.getTranslated((MarkdownType) type));
|
||||
} else if (type instanceof Base64BinaryType) {
|
||||
Base64BinaryType b64 = (Base64BinaryType) type;
|
||||
x.tx(/*!#*/"(base64 data - "+(b64.getValue() == null ? "0" : b64.getValue().length)+" bytes)");
|
||||
x.tx(context.formatMessage(RenderingContext.DATA_REND_BASE64, (b64.getValue() == null ? "0" : b64.getValue().length)));
|
||||
} else if (type.isPrimitive()) {
|
||||
x.tx(context.getTranslated((PrimitiveType<?>) type));
|
||||
} else {
|
||||
|
@ -1057,7 +1038,7 @@ public class DataRenderer extends Renderer implements CodeResolver {
|
|||
systemName = cs != null ? crPresent(cs) : displaySystem(c.getSystem());
|
||||
link = getLinkForCode(c.getSystem(), c.getVersion(), c.getCode());
|
||||
|
||||
hint = systemName+": "+display+(c.hasVersion() ? " "+/*!#*/"(version = "+c.getVersion()+")" : "");
|
||||
hint = systemName+": "+display+(c.hasVersion() ? " "+ context.formatMessage(RenderingContext.DATA_REND_VERSION, c.getVersion(), ")") : "");
|
||||
return new CodeResolution(systemName, systemLink, link, display, hint);
|
||||
}
|
||||
|
||||
|
@ -1092,7 +1073,7 @@ public class DataRenderer extends Renderer implements CodeResolver {
|
|||
x.tx(s);
|
||||
}
|
||||
if (c.hasVersion()) {
|
||||
x.tx(" "+/*!#*/"(version = "+c.getVersion()+")");
|
||||
x.tx(" "+context.formatMessage(RenderingContext.DATA_REND_VERSION, c.getVersion(), ")"));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1107,7 +1088,7 @@ public class DataRenderer extends Renderer implements CodeResolver {
|
|||
s = c.getCode();
|
||||
|
||||
if (showCodeDetails) {
|
||||
x.addText(s+" "+/*!#*/"(Details: "+displaySystem(c.getSystem())+" code "+c.getCode()+" = '"+lookupCode(c.getSystem(), c.getVersion(), c.getCode())+"', stated as '"+c.getDisplay()+"')");
|
||||
x.addText(s+" "+context.formatMessage(RenderingContext.DATA_REND_DETAILS_STATED, displaySystem(c.getSystem()), c.getCode(), " = '", lookupCode(c.getSystem(), c.getVersion(), c.getCode()), c.getDisplay(), "')"));
|
||||
} else
|
||||
x.span(null, "{"+c.getSystem()+" "+c.getCode()+"}").addText(s);
|
||||
}
|
||||
|
@ -1227,7 +1208,7 @@ public class DataRenderer extends Renderer implements CodeResolver {
|
|||
}
|
||||
}
|
||||
|
||||
x.span(null, /*!#*/"Codes: "+b.toString()).addText(s);
|
||||
x.span(null, context.formatMessage(RenderingContext.DATA_REND_CODES) +b.toString()).addText(s);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1291,7 +1272,7 @@ public class DataRenderer extends Renderer implements CodeResolver {
|
|||
} else {
|
||||
switch (ii.getSystem()) {
|
||||
case "urn:oid:2.51.1.3":
|
||||
x.ah("https://www.gs1.org/standards/id-keys/gln", /*!#*/"Global Location Number").tx("GLN");
|
||||
x.ah("https://www.gs1.org/standards/id-keys/gln", context.formatMessage(RenderingContext.DATA_REND_GLN)).tx("GLN");
|
||||
break;
|
||||
default:
|
||||
x.code(ii.getSystem());
|
||||
|
@ -1557,8 +1538,8 @@ public class DataRenderer extends Renderer implements CodeResolver {
|
|||
if (system == null)
|
||||
return "";
|
||||
switch (system) {
|
||||
case PHONE: return /*!#*/"ph: ";
|
||||
case FAX: return /*!#*/"fax: ";
|
||||
case PHONE: return "ph: ";
|
||||
case FAX: return "fax: ";
|
||||
default:
|
||||
return "";
|
||||
}
|
||||
|
@ -1596,7 +1577,7 @@ public class DataRenderer extends Renderer implements CodeResolver {
|
|||
x.tx("(unit "+q.getCode()+" from "+q.getSystem()+")");
|
||||
}
|
||||
if (showCodeDetails && q.hasCode()) {
|
||||
x.span("background: LightGoldenRodYellow", null).tx(" "+/*!#*/"(Details: "+displaySystem(q.getSystem())+" code "+q.getCode()+" = '"+lookupCode(q.getSystem(), null, q.getCode())+"')");
|
||||
x.span("background: LightGoldenRodYellow", null).tx(" "+ (context.formatMessage(RenderingContext.DATA_REND_DETAILS, displaySystem(q.getSystem()))) +q.getCode()+" = '"+lookupCode(q.getSystem(), null, q.getCode())+"')");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1640,13 +1621,13 @@ public class DataRenderer extends Renderer implements CodeResolver {
|
|||
public String displayPeriod(Period p) {
|
||||
String s = !p.hasStart() ? "(?)" : displayDateTime(p.getStartElement());
|
||||
s = s + " --> ";
|
||||
return s + (!p.hasEnd() ? /*!#*/"(ongoing)" : displayDateTime(p.getEndElement()));
|
||||
return s + (!p.hasEnd() ? context.formatMessage(RenderingContext.DATA_REND_ONGOING) : displayDateTime(p.getEndElement()));
|
||||
}
|
||||
|
||||
public void renderPeriod(XhtmlNode x, Period p) {
|
||||
x.addText(!p.hasStart() ? "??" : displayDateTime(p.getStartElement()));
|
||||
x.tx(" --> ");
|
||||
x.addText(!p.hasEnd() ? /*!#*/"(ongoing)" : displayDateTime(p.getEndElement()));
|
||||
x.addText(!p.hasEnd() ? context.formatMessage(RenderingContext.DATA_REND_ONGOING) : displayDateTime(p.getEndElement()));
|
||||
}
|
||||
|
||||
public void renderUsageContext(XhtmlNode x, UsageContext u) throws FHIRFormatError, DefinitionException, IOException {
|
||||
|
@ -1856,7 +1837,7 @@ public class DataRenderer extends Renderer implements CodeResolver {
|
|||
st = st + "-"+Integer.toString(rep.getFrequency());
|
||||
}
|
||||
if (rep.hasPeriod()) {
|
||||
st = st + " "+/*!#*/"per "+rep.getPeriod().toPlainString();
|
||||
st = st + " "+ (context.formatMessage(RenderingContext.DATA_REND_PER))+rep.getPeriod().toPlainString();
|
||||
if (rep.hasPeriodMax())
|
||||
st = st + "-"+rep.getPeriodMax().toPlainString();
|
||||
st = st + " "+displayTimeUnits(rep.getPeriodUnit());
|
||||
|
@ -1961,7 +1942,7 @@ public class DataRenderer extends Renderer implements CodeResolver {
|
|||
XhtmlNode xn;
|
||||
xn = new XhtmlNode(NodeType.Element, "div");
|
||||
XhtmlNode p = xn.para();
|
||||
p.b().tx(/*!#*/"Exception "+function+": "+e.getMessage());
|
||||
p.b().tx((context.formatMessage(RenderingContext.DATA_REND_EXCEPTION)) +function+": "+e.getMessage());
|
||||
p.addComment(getStackTrace(e));
|
||||
return xn;
|
||||
}
|
||||
|
|
|
@ -85,7 +85,7 @@ public class DiagnosticReportRenderer extends ResourceRenderer {
|
|||
pw = getProperty(dr, "perfomer");
|
||||
if (valued(pw)) {
|
||||
tr = tbl.tr();
|
||||
tr.td().tx(Utilities.pluralize(/*!#*/ "Performer", pw.getValues().size()));
|
||||
tr.td().tx(Utilities.pluralize((context.formatMessage(RenderingContext.DIAG_REP_REND_PER)), pw.getValues().size()));
|
||||
XhtmlNode tdr = tr.td();
|
||||
for (BaseWrapper v : pw.getValues()) {
|
||||
tdr.tx(" ");
|
||||
|
@ -95,7 +95,7 @@ public class DiagnosticReportRenderer extends ResourceRenderer {
|
|||
pw = getProperty(dr, "identifier");
|
||||
if (valued(pw)) {
|
||||
tr = tbl.tr();
|
||||
tr.td().tx(Utilities.pluralize(/*!#*/"Identifier", pw.getValues().size())+":");
|
||||
tr.td().tx(Utilities.pluralize((context.formatMessage(RenderingContext.DIAG_REP_REND_IDENTIFIER)), pw.getValues().size())+":");
|
||||
XhtmlNode tdr = tr.td();
|
||||
for (BaseWrapper v : pw.getValues()) {
|
||||
tdr.tx(" ");
|
||||
|
@ -105,7 +105,7 @@ public class DiagnosticReportRenderer extends ResourceRenderer {
|
|||
pw = getProperty(dr, "request");
|
||||
if (valued(pw)) {
|
||||
tr = tbl.tr();
|
||||
tr.td().tx(Utilities.pluralize(/*!#*/"Request", pw.getValues().size())+":");
|
||||
tr.td().tx(Utilities.pluralize((context.formatMessage(RenderingContext.DIAG_REP_REND_REQUEST)), pw.getValues().size())+":");
|
||||
XhtmlNode tdr = tr.td();
|
||||
for (BaseWrapper v : pw.getValues()) {
|
||||
tdr.tx(" ");
|
||||
|
|
|
@ -119,7 +119,7 @@ public class ExampleScenarioRenderer extends TerminologyRenderer {
|
|||
XhtmlNode n = new XhtmlDocument();
|
||||
renderCanonical(scen, n, step.getWorkflow());
|
||||
XhtmlNode ref = n.getChildNodes().get(0);
|
||||
plantUml += noteOver(scen.getActor(), /*!#*/"Step " + trimPrefix(prefix) + " - See scenario\n" + creolLink(ref.getContent(), ref.getAttribute("href")));
|
||||
plantUml += noteOver(scen.getActor(), context.formatMessage(RenderingContext.EXAMPLE_SCEN_STEP_SCEN, trimPrefix(prefix), creolLink((ref.getContent()), ref.getAttribute("href"))));
|
||||
} else if (step.hasProcess())
|
||||
plantUml += toPlantUml(step.getProcess(), prefix, scen, actorKeys);
|
||||
else {
|
||||
|
@ -478,7 +478,7 @@ public class ExampleScenarioRenderer extends TerminologyRenderer {
|
|||
}
|
||||
}
|
||||
if (theVersion==null)
|
||||
throw new FHIRException(/*!#*/"Unable to find referenced version " + instanceRef.getVersionReference() + " within instance " + instanceRef.getInstanceReference());
|
||||
throw new FHIRException("Unable to find referenced version " + instanceRef.getVersionReference() + " within instance " + instanceRef.getInstanceReference());
|
||||
instanceCell.ah("#i_" + instance.getKey() + "v_"+ theVersion.getKey() , theVersion.getDescription()).tx(theVersion.getTitle());
|
||||
|
||||
} else
|
||||
|
|
|
@ -107,7 +107,7 @@ public class ProfileDrivenRenderer extends ResourceRenderer {
|
|||
boolean idDone = false;
|
||||
XhtmlNode p = x.para();
|
||||
if (context.isAddGeneratedNarrativeHeader()) {
|
||||
p.b().tx(/*!#*/"Generated Narrative: "+r.fhirType()+(context.isContained() ? " #"+r.getId() : ""));
|
||||
p.b().tx(context.formatMessage(RenderingContext.PROF_DRIV_GEN_NARR, r.fhirType(), (context.isContained() ? " #"+r.getId() : "")));
|
||||
if (!Utilities.noString(r.getId())) {
|
||||
p.an(r.getId());
|
||||
p.an("hc"+r.getId());
|
||||
|
@ -133,7 +133,7 @@ public class ProfileDrivenRenderer extends ResourceRenderer {
|
|||
generateByProfile(r, sd, r.root(), sd.getSnapshot().getElement(), ed, context.getProfileUtilities().getChildList(sd, ed), x, r.fhirType(), context.isTechnicalMode(), 0);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
System.out.println(/*!#*/"Error Generating Narrative for "+r.fhirType()+"/"+r.getId()+": "+e.getMessage());
|
||||
System.out.println(context.formatMessage(RenderingContext.PROF_DRIV_ERR_GEN_NARR) +r.fhirType()+"/"+r.getId()+": "+e.getMessage());
|
||||
e.printStackTrace();
|
||||
x.para().b().style("color: maroon").tx(context.formatMessage(RenderingContext.PROF_DRIV_EXCP, e.getMessage())+" ");
|
||||
}
|
||||
|
|
|
@ -45,7 +45,7 @@ public class QuestionnaireResponseRenderer extends ResourceRenderer {
|
|||
// case DEFNS: return renderDefns(x, q);
|
||||
case TREE: return renderTree(x, q);
|
||||
default:
|
||||
throw new Error(/*!#*/"Unknown QuestionnaireResponse Renderer Mode");
|
||||
throw new Error(context.formatMessage(RenderingContext.QUEST_UNKNOWN_MODE));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -57,7 +57,7 @@ public class QuestionnaireResponseRenderer extends ResourceRenderer {
|
|||
// case DEFNS: return renderDefns(x, q);
|
||||
case TREE: return renderTree(x, qr);
|
||||
default:
|
||||
throw new Error(/*!#*/"Unknown QuestionnaireResponse Renderer Mode");
|
||||
throw new Error(context.formatMessage(RenderingContext.QUEST_UNKNOWN_MODE));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -71,10 +71,10 @@ public class QuestionnaireResponseRenderer extends ResourceRenderer {
|
|||
model.setDocoImg(Utilities.pathURL(context.getLink(KnownLinkType.SPEC), "help16.png"));
|
||||
}
|
||||
model.setDocoRef(context.getLink(KnownLinkType.SPEC)+"formats.html#table");
|
||||
model.getTitles().add(gen.new Title(null, model.getDocoRef(), /*!#*/"LinkId", /*!#*/"The linkId for the item", null, 0));
|
||||
model.getTitles().add(gen.new Title(null, model.getDocoRef(), /*!#*/"Text", /*!#*/"Text for the item", null, 0));
|
||||
model.getTitles().add(gen.new Title(null, model.getDocoRef(), /*!#*/"Definition", /*!#*/"Minimum and Maximum # of times the the itemcan appear in the instance", null, 0));
|
||||
model.getTitles().add(gen.new Title(null, model.getDocoRef(), /*!#*/"Answer", /*!#*/"The type of the item", null, 0));
|
||||
model.getTitles().add(gen.new Title(null, model.getDocoRef(), context.formatMessage(RenderingContext.QUEST_LINKID), context.formatMessage(RenderingContext.QUEST_LINK), null, 0));
|
||||
model.getTitles().add(gen.new Title(null, model.getDocoRef(), context.formatMessage(RenderingContext.QUEST_TEXT), context.formatMessage(RenderingContext.QUEST_TEXTFOR), null, 0));
|
||||
model.getTitles().add(gen.new Title(null, model.getDocoRef(), context.formatMessage(RenderingContext.QUEST_DEFINITION), context.formatMessage(RenderingContext.QUEST_TIMES), null, 0));
|
||||
model.getTitles().add(gen.new Title(null, model.getDocoRef(), context.formatMessage(RenderingContext.QUEST_ANSWER), context.formatMessage(RenderingContext.QUEST_TYPE_ITEM), null, 0));
|
||||
|
||||
boolean hasExt = false;
|
||||
// first we add a root for the questionaire itself
|
||||
|
@ -98,10 +98,10 @@ public class QuestionnaireResponseRenderer extends ResourceRenderer {
|
|||
model.setDocoImg(Utilities.pathURL(context.getLink(KnownLinkType.SPEC), "help16.png"));
|
||||
}
|
||||
model.setDocoRef(context.getLink(KnownLinkType.SPEC)+"formats.html#table");
|
||||
model.getTitles().add(gen.new Title(null, model.getDocoRef(), /*!#*/"LinkId", /*!#*/"The linkId for the item", null, 0));
|
||||
model.getTitles().add(gen.new Title(null, model.getDocoRef(), /*!#*/"Text", /*!#*/"Text for the item", null, 0));
|
||||
model.getTitles().add(gen.new Title(null, model.getDocoRef(), /*!#*/"Definition", /*!#*/"Minimum and Maximum # of times the the itemcan appear in the instance", null, 0));
|
||||
model.getTitles().add(gen.new Title(null, model.getDocoRef(), /*!#*/"Answer", /*!#*/"The type of the item", null, 0));
|
||||
model.getTitles().add(gen.new Title(null, model.getDocoRef(), context.formatMessage(RenderingContext.QUEST_LINKID), context.formatMessage(RenderingContext.QUEST_LINK), null, 0));
|
||||
model.getTitles().add(gen.new Title(null, model.getDocoRef(), context.formatMessage(RenderingContext.QUEST_TEXT), context.formatMessage(RenderingContext.QUEST_TEXTFOR), null, 0));
|
||||
model.getTitles().add(gen.new Title(null, model.getDocoRef(), context.formatMessage(RenderingContext.QUEST_DEFINITION), context.formatMessage(RenderingContext.QUEST_TIMES), null, 0));
|
||||
model.getTitles().add(gen.new Title(null, model.getDocoRef(), context.formatMessage(RenderingContext.QUEST_ANSWER), context.formatMessage(RenderingContext.QUEST_TYPE_ITEM), null, 0));
|
||||
|
||||
boolean hasExt = false;
|
||||
// first we add a root for the questionaire itself
|
||||
|
@ -120,10 +120,10 @@ public class QuestionnaireResponseRenderer extends ResourceRenderer {
|
|||
Row r = gen.new Row();
|
||||
rows.add(r);
|
||||
|
||||
r.setIcon("icon_q_root.gif", /*!#*/"QuestionnaireResponseRoot");
|
||||
r.setIcon("icon_q_root.gif", context.formatMessage(RenderingContext.QUEST_RESP_ROOT));
|
||||
r.getCells().add(gen.new Cell(null, null, q.getId(), null, null));
|
||||
r.getCells().add(gen.new Cell(null, null, "", null, null));
|
||||
r.getCells().add(gen.new Cell(null, null, /*!#*/"QuestionnaireResponse", null, null));
|
||||
r.getCells().add(gen.new Cell(null, null, context.formatMessage(RenderingContext.QUEST_RESP), null, null));
|
||||
r.getCells().add(gen.new Cell(null, null, "", null, null));
|
||||
return r;
|
||||
}
|
||||
|
@ -136,18 +136,18 @@ public class QuestionnaireResponseRenderer extends ResourceRenderer {
|
|||
String ref = b == null ? null : b.primitiveValue();
|
||||
Questionnaire q = context.getContext().fetchResource(Questionnaire.class, ref);
|
||||
|
||||
r.setIcon("icon_q_root.gif", /*!#*/"QuestionnaireResponseRoot");
|
||||
r.setIcon("icon_q_root.gif", context.formatMessage(RenderingContext.QUEST_RESP_ROOT));
|
||||
r.getCells().add(gen.new Cell(null, null, qr.getId(), null, null));
|
||||
r.getCells().add(gen.new Cell(null, null, "", null, null));
|
||||
if (ref == null ) {
|
||||
r.getCells().add(gen.new Cell(null, null, "", null, null));
|
||||
r.getCells().add(gen.new Cell(/*!#*/"Questionnaire:", null, /*!#*/"None specified", null, null));
|
||||
r.getCells().add(gen.new Cell(context.formatMessage(RenderingContext.QUEST_QUESTION), null, context.formatMessage(RenderingContext.QUEST_NONE_SPEC), null, null));
|
||||
} else if (q == null || !q.hasWebPath()) {
|
||||
r.getCells().add(gen.new Cell(null, null, "", null, null));
|
||||
r.getCells().add(gen.new Cell(/*!#*/"Questionnaire:", null, ref, null, null));
|
||||
r.getCells().add(gen.new Cell(context.formatMessage(RenderingContext.QUEST_QUESTION), null, ref, null, null));
|
||||
} else{
|
||||
r.getCells().add(gen.new Cell(null, null, "", null, null));
|
||||
r.getCells().add(gen.new Cell(/*!#*/"Questionnaire:", q.getWebPath(), q.present(), null, null));
|
||||
r.getCells().add(gen.new Cell(context.formatMessage(RenderingContext.QUEST_QUESTION), q.getWebPath(), q.present(), null, null));
|
||||
}
|
||||
return r;
|
||||
}
|
||||
|
@ -168,9 +168,9 @@ public class QuestionnaireResponseRenderer extends ResourceRenderer {
|
|||
}
|
||||
}
|
||||
if (hasItem) {
|
||||
r.setIcon("icon-q-group.png", /*!#*/"Group");
|
||||
r.setIcon("icon-q-group.png", context.formatMessage(RenderingContext.QUEST_GROUP));
|
||||
} else {
|
||||
r.setIcon("icon-q-string.png", /*!#*/"Item");
|
||||
r.setIcon("icon-q-string.png", context.formatMessage(RenderingContext.QUEST_ITEM));
|
||||
}
|
||||
String linkId = i.has("linkId") ? i.get("linkId").primitiveValue() : "??";
|
||||
String text = i.has("text") ? i.get("text").primitiveValue() : "";
|
||||
|
@ -235,9 +235,9 @@ public class QuestionnaireResponseRenderer extends ResourceRenderer {
|
|||
hasItem = a.hasItem();
|
||||
}
|
||||
if (hasItem) {
|
||||
r.setIcon("icon-q-group.png", /*!#*/"Group");
|
||||
r.setIcon("icon-q-group.png", context.formatMessage(RenderingContext.QUEST_GROUP));
|
||||
} else {
|
||||
r.setIcon("icon-q-string.png", /*!#*/"Item");
|
||||
r.setIcon("icon-q-string.png", context.formatMessage(RenderingContext.QUEST_ITEM));
|
||||
}
|
||||
r.getCells().add(gen.new Cell(null, context.getDefinitionsTarget() == null ? "" : context.getDefinitionsTarget()+"#item."+i.getLinkId(), i.getLinkId(), null, null));
|
||||
r.getCells().add(gen.new Cell(null, null, i.getText(), null, null));
|
||||
|
@ -327,7 +327,7 @@ public class QuestionnaireResponseRenderer extends ResourceRenderer {
|
|||
public boolean renderForm(XhtmlNode x, ResourceWrapper q) throws UnsupportedEncodingException, IOException {
|
||||
boolean hasExt = false;
|
||||
XhtmlNode d = x.div();
|
||||
d.tx(/*!#*/"todo");
|
||||
d.tx(context.formatMessage(RenderingContext.QUEST_TODO));
|
||||
// boolean hasPrefix = false;
|
||||
// for (QuestionnaireItemComponent c : q.getItem()) {
|
||||
// hasPrefix = hasPrefix || doesItemHavePrefix(c);
|
||||
|
@ -370,7 +370,7 @@ public class QuestionnaireResponseRenderer extends ResourceRenderer {
|
|||
// }
|
||||
// p.span(null, "linkId: "+i.getLinkId()).tx(i.getText());
|
||||
// if (i.getRequired()) {
|
||||
// p.span("color: red", /*!#*/"Mandatory").tx("*");
|
||||
// p.span("color: red", context.formatMessage(RenderingContext.QUEST_MAND)).tx("*");
|
||||
// }
|
||||
//
|
||||
// XhtmlNode input = null;
|
||||
|
@ -605,16 +605,16 @@ public class QuestionnaireResponseRenderer extends ResourceRenderer {
|
|||
// }
|
||||
//
|
||||
private boolean renderLinks(XhtmlNode x, QuestionnaireResponse q) {
|
||||
x.para().tx(/*!#*/"Try this QuestionnaireResponse out:");
|
||||
x.para().tx(context.formatMessage(RenderingContext.QUEST_TRY_QUEST));
|
||||
XhtmlNode ul = x.ul();
|
||||
ul.li().ah("http://todo.nlm.gov/path?mode=ig&src="+Utilities.pathURL(context.getLink(KnownLinkType.SELF), "package.tgz")+"&q="+q.getId()+".json").tx(/*!#*/"NLM Forms Library");
|
||||
ul.li().ah("http://todo.nlm.gov/path?mode=ig&src="+Utilities.pathURL(context.getLink(KnownLinkType.SELF), "package.tgz")+"&q="+q.getId()+".json").tx(context.formatMessage(RenderingContext.QUEST_NLM));
|
||||
return false;
|
||||
}
|
||||
|
||||
private boolean renderLinks(XhtmlNode x, ResourceWrapper q) {
|
||||
x.para().tx(/*!#*/"Try this QuestionnaireResponse out:");
|
||||
x.para().tx(context.formatMessage(RenderingContext.QUEST_TRY_QUEST));
|
||||
XhtmlNode ul = x.ul();
|
||||
ul.li().ah("http://todo.nlm.gov/path?mode=ig&src="+Utilities.pathURL(context.getLink(KnownLinkType.SELF), "package.tgz")+"&q="+q.getId()+".json").tx(/*!#*/"NLM Forms Library");
|
||||
ul.li().ah("http://todo.nlm.gov/path?mode=ig&src="+Utilities.pathURL(context.getLink(KnownLinkType.SELF), "package.tgz")+"&q="+q.getId()+".json").tx(context.formatMessage(RenderingContext.QUEST_NLM));
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -711,13 +711,13 @@ public class QuestionnaireResponseRenderer extends ResourceRenderer {
|
|||
// }
|
||||
// if (qi.hasAnswerOption()) {
|
||||
// XhtmlNode tr = tbl.tr();
|
||||
// tr.td().tx(/*!#*/"Allowed Answers");
|
||||
// tr.td().tx(context.formatMessage(RenderingContext.QUEST_ALLOWED));
|
||||
// XhtmlNode ul = tr.td().ul();
|
||||
// for (QuestionnaireItemAnswerOptionComponent ans : qi.getAnswerOption()) {
|
||||
// XhtmlNode li = ul.li();
|
||||
// render(li, ans.getValue());
|
||||
// if (ans.getInitialSelected()) {
|
||||
// li.tx(/*!#*/" (initially selected)");
|
||||
// li.tx(context.formatMessage(RenderingContext.QUEST_INITIALLY));
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
@ -738,7 +738,7 @@ public class QuestionnaireResponseRenderer extends ResourceRenderer {
|
|||
// // appearance
|
||||
// if (qi.hasExtension(" http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse-displayCategory")) {
|
||||
// XhtmlNode tr = tbl.tr();
|
||||
// tr.td().ah("http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse-displayCategory").tx(/*!#*/"Display Category");
|
||||
// tr.td().ah("http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse-displayCategory").tx(context.formatMessage(RenderingContext.QUEST_DISPLAY_CAT));
|
||||
// render(tr.td(), qi.getExtensionByUrl("http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse-displayCategory").getValue());
|
||||
// }
|
||||
// if (ToolingExtensions.readBoolExtension(qi, "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse-hidden")) {
|
||||
|
@ -763,14 +763,14 @@ public class QuestionnaireResponseRenderer extends ResourceRenderer {
|
|||
// }
|
||||
// if (qi.hasExtension("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-QuestionnaireResponse-observationLinkPeriod")) {
|
||||
// XhtmlNode tr = tbl.tr();
|
||||
// tr.td().ah(getSDCLink("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-QuestionnaireResponse-observationLinkPeriod").tx(/*!#*/"Observation Link Period");
|
||||
// tr.td().ah(getSDCLink("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-QuestionnaireResponse-observationLinkPeriod").tx(context.formatMessage(RenderingContext.QUEST_OBSERVATION));
|
||||
// render(tr.td(), qi.getExtensionByUrl("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-QuestionnaireResponse-observationLinkPeriod").getValue());
|
||||
// }
|
||||
//
|
||||
// // dynamic management
|
||||
// if (qi.hasEnableWhen()) {
|
||||
// XhtmlNode tr = tbl.tr();
|
||||
// tr.td().tx(/*!#*/"Enable When");
|
||||
// tr.td().tx(context.formatMessage(RenderingContext.QUEST_ENABLE));
|
||||
// td = tr.td();
|
||||
// if (qi.getEnableWhen().size() == 1) {
|
||||
// renderEnableWhen(td, qi.getEnableWhen().get(0));
|
||||
|
@ -876,12 +876,12 @@ public class QuestionnaireResponseRenderer extends ResourceRenderer {
|
|||
|
||||
@Override
|
||||
public String display(Resource r) throws UnsupportedEncodingException, IOException {
|
||||
return /*!#*/"todo";
|
||||
return context.formatMessage(RenderingContext.QUEST_TODO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String display(ResourceWrapper r) throws UnsupportedEncodingException, IOException {
|
||||
return /*!#*/"Not done yet";
|
||||
return context.formatMessage(RenderingContext.QUEST_NOT_DONE);
|
||||
}
|
||||
|
||||
}
|
|
@ -142,25 +142,25 @@ public class Renderer {
|
|||
XhtmlNode td = tr.td();
|
||||
XhtmlNode span = td.span("background-color: #fff2ff; border-left: solid 3px #ffa0ff; margin: 2px; padding: 2px", (context.formatMessage(RenderingContext.REND_ROW_SINCE, context.getChangeVersion())));
|
||||
span.img("icon-change-add.png", "icon");
|
||||
span.tx(" "+/*!#*/"Added:");
|
||||
span.tx(" "+ context.formatMessage(RenderingContext.REND_ADDED));
|
||||
XhtmlNode x = new XhtmlNode(NodeType.Element, "holder");
|
||||
x.span("background-color: #fff2ff; border-left: solid 3px #ffa0ff; margin: 2px; padding: 2px", /*!#*/"This row of content has been added since "+context.getChangeVersion()).tx(" ");
|
||||
x.span("background-color: #fff2ff; border-left: solid 3px #ffa0ff; margin: 2px; padding: 2px", context.formatMessage(RenderingContext.REND_ROW_SINCE, context.getChangeVersion())).tx(" ");
|
||||
tr.styleCells(x);
|
||||
return td;
|
||||
case Changed:
|
||||
td = tr.td();
|
||||
span = td.span("background-color: #fff2ff; border-left: solid 3px #ffa0ff; margin: 2px; padding: 2px", /*!#*/"This row of content has been changed since"+context.getChangeVersion()+(vca.getOriginal() != null ? " (was '"+vca.getOriginal()+"')" : ""));
|
||||
span = td.span("background-color: #fff2ff; border-left: solid 3px #ffa0ff; margin: 2px; padding: 2px", context.formatMessage(RenderingContext.REND_ROW_CHANGED_SINCE_WAS, context.getChangeVersion(), vca.getOriginal()));
|
||||
span.img("icon-change-edit.png", "icon");
|
||||
span.tx(" "+/*!#*/"Changed:");
|
||||
span.tx(" "+ context.formatMessage(RenderingContext.REND_CHANGED));
|
||||
return td;
|
||||
case Deleted:
|
||||
tr.style("text-decoration: line-through");
|
||||
td = tr.td();
|
||||
span = td.span("background-color: #fff2ff; border-left: solid 3px #ffa0ff; margin: 2px; padding: 2px", /*!#*/"This content has been removed since "+context.getChangeVersion());
|
||||
span = td.span("background-color: #fff2ff; border-left: solid 3px #ffa0ff; margin: 2px; padding: 2px", context.formatMessage(RenderingContext.REND_ROW_REMOVED_SINCE, context.getChangeVersion()));
|
||||
span.img("icon-change-remove.png", "icon");
|
||||
span.tx(" "+/*!#*/"Removed:");
|
||||
span.tx(" "+ context.formatMessage(RenderingContext.REND_REMOVED));
|
||||
x = new XhtmlNode(NodeType.Element, "holder");
|
||||
x.span("background-color: #fff2ff; border-left: solid 3px #ffa0ff; margin: 2px; padding: 2px; text-decoration: none", /*!#*/"This row of content has been added since "+context.getChangeVersion()).tx(" ");
|
||||
x.span("background-color: #fff2ff; border-left: solid 3px #ffa0ff; margin: 2px; padding: 2px; text-decoration: none", context.formatMessage(RenderingContext.REND_ROW_SINCE, context.getChangeVersion())).tx(" ");
|
||||
tr.styleCells(x);
|
||||
return td;
|
||||
default:
|
||||
|
@ -168,29 +168,30 @@ public class Renderer {
|
|||
}
|
||||
}
|
||||
|
||||
public static void renderStatusSummary(Base base, XhtmlNode x, String version, String... metadataFields) {
|
||||
public static void renderStatusSummary(RenderingContext context, Base base, XhtmlNode x, String version, String... metadataFields) {
|
||||
if (base.hasUserData(VersionComparisonAnnotation.USER_DATA_NAME)) {
|
||||
VersionComparisonAnnotation self = (VersionComparisonAnnotation) base.getUserData(VersionComparisonAnnotation.USER_DATA_NAME);
|
||||
switch (self.getType()) {
|
||||
case Added:
|
||||
XhtmlNode spanInner = x.span("background-color: #fff2ff; border-left: solid 3px #ffa0ff; margin: 2px; padding: 2px", /*!#*/"This content has been added since "+version);
|
||||
XhtmlNode spanInner = x.span("background-color: #fff2ff; border-left: solid 3px #ffa0ff; margin: 2px; padding: 2px", context.formatMessage(RenderingContext.REND_SINCE_ADDED, version));
|
||||
spanInner.img("icon-change-add.png", "icon");
|
||||
spanInner.tx(" "+/*!#*/"Added");
|
||||
spanInner.tx(" "+context.formatMessage(RenderingContext.REND_ADDED));
|
||||
return;
|
||||
case Changed:
|
||||
if (self.getComp().noChangeOtherThanMetadata(metadataFields)) {
|
||||
x.span("color: #eeeeee").tx("n/c");
|
||||
return;
|
||||
} else {
|
||||
spanInner = x.span("background-color: #fff2ff; border-left: solid 3px #ffa0ff; margin: 2px; padding: 2px", /*!#*/"This content has been changed since "+version+(self.getOriginal() != null ? " (was '"+(self.getOriginal())+"')" : ""));
|
||||
spanInner = x.span("background-color: #fff2ff; border-left: solid 3px #ffa0ff; margin: 2px; padding: 2px",
|
||||
self.getOriginal() != null ? context.formatMessage(RenderingContext.REND_SINCE_CHANGED_WAS, version, self.getOriginal()) : context.formatMessage(RenderingContext.REND_SINCE_CHANGED, version));
|
||||
spanInner.img("icon-change-edit.png", "icon");
|
||||
spanInner.tx(" "+/*!#*/"Changed");
|
||||
spanInner.tx(" "+context.formatMessage(RenderingContext.REND_CHANGED));
|
||||
}
|
||||
return;
|
||||
case Deleted:
|
||||
spanInner = x.span("background-color: #fff2ff; border-left: solid 3px #ffa0ff; margin: 2px; padding: 2px", /*!#*/"This content has been added since "+version);
|
||||
spanInner = x.span("background-color: #fff2ff; border-left: solid 3px #ffa0ff; margin: 2px; padding: 2px", context.formatMessage(RenderingContext.REND_SINCE_DELETED, version));
|
||||
spanInner.img("icon-change-remove.png", "icon");
|
||||
spanInner.tx(" "+/*!#*/"Removed");
|
||||
spanInner.tx(" "+context.formatMessage(RenderingContext.REND_REMOVED));
|
||||
return;
|
||||
default:
|
||||
x.span("color: #eeeeee").tx("n/c");
|
||||
|
|
|
@ -232,11 +232,11 @@ public abstract class ResourceRenderer extends DataRenderer {
|
|||
CanonicalResource cr = (CanonicalResource) target;
|
||||
if (url.contains("|")) {
|
||||
if (target.hasWebPath()) {
|
||||
x.ah(target.getWebPath()).tx(cr.present()+/*!#*/" (version "+cr.getVersion()+")");
|
||||
x.ah(target.getWebPath()).tx(cr.present()+ context.formatMessage(RenderingContext.RES_REND_VER) +cr.getVersion()+")");
|
||||
} else {
|
||||
url = url.substring(0, url.indexOf("|"));
|
||||
x.code().tx(url);
|
||||
x.tx(": "+cr.present()+/*!#*/" (version "+cr.getVersion()+")");
|
||||
x.tx(": "+cr.present()+ context.formatMessage(RenderingContext.RES_REND_VER) +cr.getVersion()+")");
|
||||
}
|
||||
} else {
|
||||
if (target.hasWebPath()) {
|
||||
|
@ -663,28 +663,28 @@ public abstract class ResourceRenderer extends DataRenderer {
|
|||
p.tx("\""+id+"\" ");
|
||||
}
|
||||
if (versionId != null) {
|
||||
p.tx(/*!#*/"Version \""+versionId+"\" ");
|
||||
p.tx(context.formatMessage(RenderingContext.RES_REND_VERSION) + "\""+versionId+"\" ");
|
||||
}
|
||||
if (lastUpdated != null) {
|
||||
p.tx(/*!#*/"Updated \"");
|
||||
p.tx(context.formatMessage(RenderingContext.RES_REND_UPDATED) + "\"");
|
||||
renderDateTime(p, lastUpdated);
|
||||
p.tx("\" ");
|
||||
}
|
||||
if (lang != null) {
|
||||
p.tx(/*!#*/" (Language \""+lang+"\") ");
|
||||
p.tx(" " + context.formatMessage(RenderingContext.RES_REND_LANGUAGE) + "\""+lang+"\") ");
|
||||
}
|
||||
}
|
||||
if (ir != null) {
|
||||
plateStyle(div.para()).b().tx(/*!#*/"Special rules apply: "+ir+"!");
|
||||
plateStyle(div.para()).b().tx(context.formatMessage(RenderingContext.RES_REND_SPEC_RULES) + " "+ir+"!");
|
||||
}
|
||||
if (source != null) {
|
||||
plateStyle(div.para()).tx(/*!#*/"Information Source: "+source+"!");
|
||||
plateStyle(div.para()).tx(context.formatMessage(RenderingContext.RES_REND_INFO_SOURCE) + " "+source+"!");
|
||||
}
|
||||
if (meta != null) {
|
||||
PropertyWrapper pl = meta.getChildByName("profile");
|
||||
if (pl.hasValues()) {
|
||||
XhtmlNode p = plateStyle(div.para());
|
||||
p.tx(Utilities.pluralize(/*!#*/"Profile", pl.getValues().size())+": ");
|
||||
p.tx(Utilities.pluralize(context.formatMessage(RenderingContext.RES_REND_PROFILE), pl.getValues().size())+": ");
|
||||
boolean first = true;
|
||||
for (BaseWrapper bw : pl.getValues()) {
|
||||
if (first) first = false; else p.tx(", ");
|
||||
|
@ -694,7 +694,7 @@ public abstract class ResourceRenderer extends DataRenderer {
|
|||
PropertyWrapper tl = meta.getChildByName("tag");
|
||||
if (tl.hasValues()) {
|
||||
XhtmlNode p = plateStyle(div.para());
|
||||
p.tx(Utilities.pluralize(/*!#*/"Tag", tl.getValues().size())+": ");
|
||||
p.tx(Utilities.pluralize(context.formatMessage(RenderingContext.RES_REND_TAG), tl.getValues().size())+": ");
|
||||
boolean first = true;
|
||||
for (BaseWrapper bw : tl.getValues()) {
|
||||
if (first) first = false; else p.tx(", ");
|
||||
|
@ -708,7 +708,7 @@ public abstract class ResourceRenderer extends DataRenderer {
|
|||
PropertyWrapper sl = meta.getChildByName("security");
|
||||
if (sl.hasValues()) {
|
||||
XhtmlNode p = plateStyle(div.para());
|
||||
p.tx(Utilities.pluralize(/*!#*/"Security Label", tl.getValues().size())+": ");
|
||||
p.tx(Utilities.pluralize(context.formatMessage(RenderingContext.RES_REND_SECURITY_LABEL), tl.getValues().size())+": ");
|
||||
boolean first = true;
|
||||
for (BaseWrapper bw : sl.getValues()) {
|
||||
if (first) first = false; else p.tx(", ");
|
||||
|
|
|
@ -55,7 +55,7 @@ public class SearchParameterRenderer extends TerminologyRenderer {
|
|||
|
||||
XhtmlNode tbl = x.table("grid");
|
||||
XhtmlNode tr = tbl.tr();
|
||||
tr.td().tx(Utilities.pluralize(/*!#*/"Resource", spd.getBase().size()));
|
||||
tr.td().tx(Utilities.pluralize(context.formatMessage(RenderingContext.SEARCH_PAR_REND_RES), spd.getBase().size()));
|
||||
XhtmlNode td = tr.td();
|
||||
for (Enumeration<VersionIndependentResourceTypesAll> t : spd.getBase()) {
|
||||
StructureDefinition sd = context.getWorker().fetchTypeDefinition(t.getCode());
|
||||
|
@ -81,7 +81,7 @@ public class SearchParameterRenderer extends TerminologyRenderer {
|
|||
}
|
||||
if (spd.hasTarget()) {
|
||||
tr = tbl.tr();
|
||||
tr.td().tx(Utilities.pluralize(/*!#*/"Target Resources", spd.getTarget().size()));
|
||||
tr.td().tx(Utilities.pluralize(context.formatMessage(RenderingContext.SEARCH_PAR_REND_TARGET), spd.getTarget().size()));
|
||||
td = tr.td();
|
||||
if (isAllConcreteResources(spd.getTarget())) {
|
||||
td.ah(Utilities.pathURL(context.getLink(KnownLinkType.SPEC), "resourcelist.html")).tx(context.formatMessage(RenderingContext.SEARCH_PAR_RES));
|
||||
|
|
|
@ -86,6 +86,7 @@ import org.hl7.fhir.utilities.TextFile;
|
|||
import org.hl7.fhir.utilities.Utilities;
|
||||
import org.hl7.fhir.utilities.VersionUtilities;
|
||||
import org.hl7.fhir.utilities.i18n.I18nConstants;
|
||||
import org.hl7.fhir.utilities.i18n.RenderingI18nContext;
|
||||
import org.hl7.fhir.utilities.validation.ValidationMessage.IssueSeverity;
|
||||
import org.hl7.fhir.utilities.xhtml.HierarchicalTableGenerator;
|
||||
import org.hl7.fhir.utilities.xhtml.HierarchicalTableGenerator.Cell;
|
||||
|
@ -491,7 +492,7 @@ public class StructureDefinitionRenderer extends ResourceRenderer {
|
|||
if (!url.equals(source.getUrl())) {
|
||||
source = context.getWorker().fetchResource(StructureDefinition.class, url, source);
|
||||
if (source == null) {
|
||||
throw new FHIRException(/*!#*/"Unable to resolve StructureDefinition "+url+" resolving content reference "+contentReference);
|
||||
throw new FHIRException(context.formatMessage(RenderingContext.STRUC_DEF_REND_UNABLE_RES, url, contentReference));
|
||||
}
|
||||
elements = source.getSnapshot().getElement();
|
||||
}
|
||||
|
@ -504,7 +505,7 @@ public class StructureDefinitionRenderer extends ResourceRenderer {
|
|||
return new ElementInStructure(source, ed);
|
||||
}
|
||||
}
|
||||
throw new Error(/*!#*/"getElementByName: can't find "+contentReference+" in "+elements.toString()+" from "+source.getUrl());
|
||||
throw new Error(context.formatMessage(RenderingContext.STRUC_DEF_CANT_FIND, contentReference, elements.toString(), source.getUrl()));
|
||||
// return null;
|
||||
}
|
||||
|
||||
|
@ -708,7 +709,7 @@ public class StructureDefinitionRenderer extends ResourceRenderer {
|
|||
model.setDocoRef(Utilities.pathURL("https://build.fhir.org/ig/FHIR/ig-guidance", "readingIgs.html#table-views"));
|
||||
model.getTitles().add(gen.new Title(null, model.getDocoRef(), (context.formatMessage(RenderingContext.STRUC_DEF_NAME)), (context.formatMessage(RenderingContext.STRUC_DEF_LOGIC_NAME)), null, 0));
|
||||
for (Column col : columns) {
|
||||
model.getTitles().add(gen.new Title(null, model.getDocoRef(), (/*!#*/col.title), (/*!#*/col.hint), null, 0));
|
||||
model.getTitles().add(gen.new Title(null, model.getDocoRef(), (col.title), (col.hint), null, 0));
|
||||
}
|
||||
return model;
|
||||
}
|
||||
|
@ -738,52 +739,52 @@ public class StructureDefinitionRenderer extends ResourceRenderer {
|
|||
boolean ext = false;
|
||||
if (tail(element.getPath()).equals("extension") && isExtension(element)) {
|
||||
if (element.hasType() && element.getType().get(0).hasProfile() && extensionIsComplex(element.getType().get(0).getProfile().get(0).getValue()))
|
||||
row.setIcon("icon_extension_complex.png", HierarchicalTableGenerator.TEXT_ICON_EXTENSION_COMPLEX);
|
||||
row.setIcon("icon_extension_complex.png", context.formatMessage(RenderingI18nContext.TEXT_ICON_EXTENSION_COMPLEX));
|
||||
else
|
||||
row.setIcon("icon_extension_simple.png", HierarchicalTableGenerator.TEXT_ICON_EXTENSION_SIMPLE);
|
||||
row.setIcon("icon_extension_simple.png", context.formatMessage(RenderingI18nContext.TEXT_ICON_EXTENSION_SIMPLE));
|
||||
ext = true;
|
||||
} else if (tail(element.getPath()).equals("modifierExtension")) {
|
||||
if (element.hasType() && element.getType().get(0).hasProfile() && extensionIsComplex(element.getType().get(0).getProfile().get(0).getValue()))
|
||||
row.setIcon("icon_modifier_extension_complex.png", HierarchicalTableGenerator.TEXT_ICON_EXTENSION_COMPLEX);
|
||||
row.setIcon("icon_modifier_extension_complex.png", context.formatMessage(RenderingI18nContext.TEXT_ICON_EXTENSION_COMPLEX));
|
||||
else
|
||||
row.setIcon("icon_modifier_extension_simple.png", HierarchicalTableGenerator.TEXT_ICON_EXTENSION_SIMPLE);
|
||||
row.setIcon("icon_modifier_extension_simple.png", context.formatMessage(RenderingI18nContext.TEXT_ICON_EXTENSION_SIMPLE));
|
||||
} else if (!hasDef || element.getType().size() == 0) {
|
||||
if (root && profile != null && context.getWorker().getResourceNames().contains(profile.getType())) {
|
||||
row.setIcon("icon_resource.png", HierarchicalTableGenerator.TEXT_ICON_RESOURCE);
|
||||
row.setIcon("icon_resource.png", context.formatMessage(RenderingI18nContext.TEXT_ICON_RESOURCE));
|
||||
} else if (hasDef && element.hasExtension(ToolingExtensions.EXT_JSON_PROP_KEY)) {
|
||||
row.setIcon("icon-object-box.png", HierarchicalTableGenerator.TEXT_ICON_OBJECT_BOX);
|
||||
row.setIcon("icon-object-box.png", context.formatMessage(RenderingI18nContext.TEXT_ICON_OBJECT_BOX));
|
||||
keyRows.add(element.getId()+"."+ToolingExtensions.readStringExtension(element, ToolingExtensions.EXT_JSON_PROP_KEY));
|
||||
} else {
|
||||
row.setIcon("icon_element.gif", HierarchicalTableGenerator.TEXT_ICON_ELEMENT);
|
||||
row.setIcon("icon_element.gif", context.formatMessage(RenderingI18nContext.TEXT_ICON_ELEMENT));
|
||||
}
|
||||
} else if (hasDef && element.getType().size() > 1) {
|
||||
if (allAreReference(element.getType())) {
|
||||
row.setIcon("icon_reference.png", HierarchicalTableGenerator.TEXT_ICON_REFERENCE);
|
||||
row.setIcon("icon_reference.png", context.formatMessage(RenderingI18nContext.TEXT_ICON_REFERENCE));
|
||||
} else if (element.hasExtension(ToolingExtensions.EXT_JSON_PRIMITIVE_CHOICE)) {
|
||||
row.setIcon("icon_choice.gif", HierarchicalTableGenerator.TEXT_ICON_CHOICE);
|
||||
row.setIcon("icon_choice.gif", context.formatMessage(RenderingI18nContext.TEXT_ICON_CHOICE));
|
||||
} else {
|
||||
row.setIcon("icon_choice.gif", HierarchicalTableGenerator.TEXT_ICON_CHOICE);
|
||||
row.setIcon("icon_choice.gif", context.formatMessage(RenderingI18nContext.TEXT_ICON_CHOICE));
|
||||
typesRow = row;
|
||||
}
|
||||
} else if (hasDef && element.getType().get(0).getWorkingCode() != null && element.getType().get(0).getWorkingCode().startsWith("@")) {
|
||||
row.setIcon("icon_reuse.png", HierarchicalTableGenerator.TEXT_ICON_REUSE);
|
||||
row.setIcon("icon_reuse.png", context.formatMessage(RenderingI18nContext.TEXT_ICON_REUSE));
|
||||
} else if (hasDef && context.getContext().isPrimitiveType(element.getType().get(0).getWorkingCode())) {
|
||||
if (keyRows.contains(element.getId())) {
|
||||
row.setIcon("icon-key.png", HierarchicalTableGenerator.TEXT_ICON_KEY);
|
||||
row.setIcon("icon-key.png", context.formatMessage(RenderingI18nContext.TEXT_ICON_KEY));
|
||||
} else {
|
||||
row.setIcon("icon_primitive.png", HierarchicalTableGenerator.TEXT_ICON_PRIMITIVE);
|
||||
row.setIcon("icon_primitive.png", context.formatMessage(RenderingI18nContext.TEXT_ICON_PRIMITIVE));
|
||||
}
|
||||
} else if (hasDef && element.getType().get(0).hasTarget()) {
|
||||
row.setIcon("icon_reference.png", HierarchicalTableGenerator.TEXT_ICON_REFERENCE);
|
||||
row.setIcon("icon_reference.png", context.formatMessage(RenderingI18nContext.TEXT_ICON_REFERENCE));
|
||||
} else if (hasDef && context.getContext().isDataType(element.getType().get(0).getWorkingCode())) {
|
||||
row.setIcon("icon_datatype.gif", HierarchicalTableGenerator.TEXT_ICON_DATATYPE);
|
||||
row.setIcon("icon_datatype.gif", context.formatMessage(RenderingI18nContext.TEXT_ICON_DATATYPE));
|
||||
} else if (hasDef && element.hasExtension(ToolingExtensions.EXT_JSON_PROP_KEY)) {
|
||||
row.setIcon("icon-object-box.png", HierarchicalTableGenerator.TEXT_ICON_OBJECT_BOX);
|
||||
row.setIcon("icon-object-box.png", context.formatMessage(RenderingI18nContext.TEXT_ICON_OBJECT_BOX));
|
||||
keyRows.add(element.getId()+"."+ToolingExtensions.readStringExtension(element, ToolingExtensions.EXT_JSON_PROP_KEY));
|
||||
} else if (hasDef && Utilities.existsInList(element.getType().get(0).getWorkingCode(), "Base", "Element", "BackboneElement")) {
|
||||
row.setIcon("icon_element.gif", HierarchicalTableGenerator.TEXT_ICON_ELEMENT);
|
||||
row.setIcon("icon_element.gif", context.formatMessage(RenderingI18nContext.TEXT_ICON_ELEMENT));
|
||||
} else {
|
||||
row.setIcon("icon_resource.png", HierarchicalTableGenerator.TEXT_ICON_RESOURCE);
|
||||
row.setIcon("icon_resource.png", context.formatMessage(RenderingI18nContext.TEXT_ICON_RESOURCE));
|
||||
}
|
||||
if (element.hasUserData("render.opaque")) {
|
||||
row.setOpacity("0.5");
|
||||
|
@ -823,7 +824,7 @@ public class StructureDefinitionRenderer extends ResourceRenderer {
|
|||
showMissing = false; //?
|
||||
slicingRow = row;
|
||||
} else {
|
||||
row.setIcon("icon_slice.png", HierarchicalTableGenerator.TEXT_ICON_SLICE);
|
||||
row.setIcon("icon_slice.png", context.formatMessage(RenderingI18nContext.TEXT_ICON_SLICE));
|
||||
slicingRow = row;
|
||||
for (Cell cell : row.getCells())
|
||||
for (Piece p : cell.getPieces()) {
|
||||
|
@ -831,7 +832,7 @@ public class StructureDefinitionRenderer extends ResourceRenderer {
|
|||
}
|
||||
}
|
||||
} else if (element.hasSliceName()) {
|
||||
row.setIcon("icon_slice_item.png", HierarchicalTableGenerator.TEXT_ICON_SLICE_ITEM);
|
||||
row.setIcon("icon_slice_item.png", context.formatMessage(RenderingI18nContext.TEXT_ICON_SLICE_ITEM));
|
||||
}
|
||||
if (used.used || showMissing)
|
||||
rows.add(row);
|
||||
|
@ -849,8 +850,8 @@ public class StructureDefinitionRenderer extends ResourceRenderer {
|
|||
hrow.setAnchor(element.getPath());
|
||||
hrow.setColor(context.getProfileUtilities().getRowColor(element, isConstraintMode));
|
||||
hrow.setLineColor(1);
|
||||
hrow.setIcon("icon_element.gif", HierarchicalTableGenerator.TEXT_ICON_ELEMENT);
|
||||
hrow.getCells().add(gen.new Cell(null, null, sName+/*!#*/":All Slices", "", null));
|
||||
hrow.setIcon("icon_element.gif", context.formatMessage(RenderingI18nContext.TEXT_ICON_ELEMENT));
|
||||
hrow.getCells().add(gen.new Cell(null, null, sName+ (context.formatMessage(RenderingContext.STRUC_DEF_ALL_SLICES)), "", null));
|
||||
switch (context.getStructureMode()) {
|
||||
case BINDINGS:
|
||||
case OBLIGATIONS:
|
||||
|
@ -875,7 +876,7 @@ public class StructureDefinitionRenderer extends ResourceRenderer {
|
|||
hrow.setAnchor(element.getPath());
|
||||
hrow.setColor(context.getProfileUtilities().getRowColor(element, isConstraintMode));
|
||||
hrow.setLineColor(1);
|
||||
hrow.setIcon("icon_element.gif", HierarchicalTableGenerator.TEXT_ICON_ELEMENT);
|
||||
hrow.setIcon("icon_element.gif", context.formatMessage(RenderingI18nContext.TEXT_ICON_ELEMENT));
|
||||
hrow.getCells().add(gen.new Cell(null, null, sName+ context.formatMessage(RenderingContext.STRUC_DEF_ALL_TYPES), "", null));
|
||||
switch (context.getStructureMode()) {
|
||||
case BINDINGS:
|
||||
|
@ -908,7 +909,7 @@ public class StructureDefinitionRenderer extends ResourceRenderer {
|
|||
parent.setAnchor(child.getPath());
|
||||
parent.setColor(context.getProfileUtilities().getRowColor(child, isConstraintMode));
|
||||
parent.setLineColor(1);
|
||||
parent.setIcon("icon_slice.png", HierarchicalTableGenerator.TEXT_ICON_SLICE);
|
||||
parent.setIcon("icon_slice.png", context.formatMessage(RenderingI18nContext.TEXT_ICON_SLICE));
|
||||
parent.getCells().add(gen.new Cell(null, null, "Slices for "+ child.getName(), "", null));
|
||||
switch (context.getStructureMode()) {
|
||||
case BINDINGS:
|
||||
|
@ -1089,13 +1090,13 @@ public class StructureDefinitionRenderer extends ResourceRenderer {
|
|||
}
|
||||
if (element != null && (hasNonBaseConstraints(element.getConstraint()) || hasNonBaseConditions(element.getCondition()))) {
|
||||
Piece p = gc.addText(CONSTRAINT_CHAR);
|
||||
p.setHint((/*!#*/"This element has or is affected by constraints ("+listConstraintsAndConditions(element)+")"));
|
||||
p.setHint((context.formatMessage(RenderingContext.STRUC_DEF_ELE_AFFECTED, listConstraintsAndConditions(element), ")")));
|
||||
p.addStyle(CONSTRAINT_STYLE);
|
||||
p.setReference(Utilities.pathURL(VersionUtilities.getSpecUrl(context.getWorker().getVersion()), "conformance-rules.html#constraints"));
|
||||
}
|
||||
if (element != null && element.hasExtension(ToolingExtensions.EXT_STANDARDS_STATUS)) {
|
||||
StandardsStatus ss = StandardsStatus.fromCode(element.getExtensionString(ToolingExtensions.EXT_STANDARDS_STATUS));
|
||||
gc.addStyledText(/*!#*/"Standards Status = "+ss.toDisplay(), ss.getAbbrev(), "black", ss.getColor(), context.getWorker().getSpecUrl()+"versions.html#std-process", true);
|
||||
gc.addStyledText(context.formatMessage(RenderingContext.STRUC_DEF_STAND_STATUS) +ss.toDisplay(), ss.getAbbrev(), context.formatMessage(RenderingContext.STRUC_DEF_BLACK), ss.getColor(), context.getWorker().getSpecUrl()+"versions.html#std-process", true);
|
||||
}
|
||||
|
||||
ExtensionContext extDefn = null;
|
||||
|
@ -1237,7 +1238,7 @@ public class StructureDefinitionRenderer extends ResourceRenderer {
|
|||
row.setAnchor(parent.getPath()+"-"+grp.getName());
|
||||
row.setColor(context.getProfileUtilities().getRowColor(parent, isConstraintMode));
|
||||
row.setLineColor(1);
|
||||
row.setIcon("icon_choice.gif", HierarchicalTableGenerator.TEXT_ICON_CHOICE);
|
||||
row.setIcon("icon_choice.gif", context.formatMessage(RenderingI18nContext.TEXT_ICON_CHOICE));
|
||||
row.getCells().add(gen.new Cell(null, null, context.formatMessage(RenderingContext.STRUC_DEF_CHOICE), "", null));
|
||||
row.getCells().add(gen.new Cell());
|
||||
row.getCells().add(gen.new Cell(null, null, (grp.isMandatory() ? "1" : "0")+"..1", "", null));
|
||||
|
@ -1316,7 +1317,7 @@ public class StructureDefinitionRenderer extends ResourceRenderer {
|
|||
if (root) {
|
||||
if (profile != null && profile.getAbstract()) {
|
||||
if (!c.getPieces().isEmpty()) { c.addPiece(gen.new Piece("br")); }
|
||||
c.addPiece(gen.new Piece(null, /*!#*/"This is an abstract "+(profile.getDerivation() == TypeDerivationRule.CONSTRAINT ? "profile" : "type")+". ", null));
|
||||
c.addPiece(gen.new Piece(null, context.formatMessage(RenderingContext.STRUC_DEF_ABSTRACT) +(profile.getDerivation() == TypeDerivationRule.CONSTRAINT ? "profile" : "type")+". ", null));
|
||||
|
||||
List<StructureDefinition> children = new ArrayList<>();
|
||||
for (StructureDefinition sd : context.getWorker().fetchResourcesByType(StructureDefinition.class)) {
|
||||
|
@ -1325,7 +1326,7 @@ public class StructureDefinitionRenderer extends ResourceRenderer {
|
|||
}
|
||||
}
|
||||
if (!children.isEmpty()) {
|
||||
c.addPiece(gen.new Piece(null, /*!#*/"Child "+(profile.getDerivation() == TypeDerivationRule.CONSTRAINT ? "profiles" : "types")+": ", null));
|
||||
c.addPiece(gen.new Piece(null, context.formatMessage(RenderingContext.STRUC_DEF_CHILD) +(profile.getDerivation() == TypeDerivationRule.CONSTRAINT ? "profiles" : "types")+": ", null));
|
||||
boolean first = true;
|
||||
for (StructureDefinition sd : children) {
|
||||
if (first) first = false; else c.addPiece(gen.new Piece(null, ", ", null));
|
||||
|
@ -1511,7 +1512,7 @@ public class StructureDefinitionRenderer extends ResourceRenderer {
|
|||
if (definition.hasExtension(ToolingExtensions.EXT_JSON_PROP_KEY)) {
|
||||
if (!c.getPieces().isEmpty()) { c.addPiece(gen.new Piece("br")); }
|
||||
String code = ToolingExtensions.readStringExtension(definition, ToolingExtensions.EXT_JSON_PROP_KEY);
|
||||
c.getPieces().add(gen.new Piece(null, /*!#*/"JSON: Represented as a single JSON Object with named properties using the value of the "+code+" child as the key", null));
|
||||
c.getPieces().add(gen.new Piece(null, context.formatMessage(RenderingContext.STRUC_DEF_SINGLE_JSON_OBJECTS, code), null));
|
||||
}
|
||||
if (definition.hasExtension(ToolingExtensions.EXT_TYPE_SPEC)) {
|
||||
for (Extension e : definition.getExtensionsByUrl(ToolingExtensions.EXT_TYPE_SPEC)) {
|
||||
|
@ -2117,7 +2118,7 @@ public class StructureDefinitionRenderer extends ResourceRenderer {
|
|||
used.used = element.hasType() && element.getType().get(0).hasProfile();
|
||||
showMissing = false;
|
||||
} else {
|
||||
row.setIcon("icon_slice.png", HierarchicalTableGenerator.TEXT_ICON_SLICE);
|
||||
row.setIcon("icon_slice.png", context.formatMessage(RenderingI18nContext.TEXT_ICON_SLICE);
|
||||
row.getCells().get(2).getPieces().clear();
|
||||
for (Cell cell : row.getCells())
|
||||
for (Piece p : cell.getPieces()) {
|
||||
|
@ -2255,15 +2256,15 @@ public class StructureDefinitionRenderer extends ResourceRenderer {
|
|||
row.getCells().add(c);
|
||||
if (!pattern) {
|
||||
c.addPiece(gen.new Piece(null, "0..0", null));
|
||||
row.setIcon("icon_fixed.gif", context.formatMessage(RenderingContext.STRUC_DEF_FIXED_VALUE) /*HierarchicalTableGenerator.TEXT_ICON_FIXED*/);
|
||||
row.setIcon("icon_fixed.gif", context.formatMessage(RenderingContext.STRUC_DEF_FIXED_VALUE) /*context.formatMessage(RenderingI18nContext.TEXT_ICON_FIXED*/);
|
||||
} else if (context.getContext().isPrimitiveType(t.getTypeCode())) {
|
||||
row.setIcon("icon_primitive.png", HierarchicalTableGenerator.TEXT_ICON_PRIMITIVE);
|
||||
row.setIcon("icon_primitive.png", context.formatMessage(RenderingI18nContext.TEXT_ICON_PRIMITIVE));
|
||||
c.addPiece(gen.new Piece(null, "0.."+(t.getMaxCardinality() == 2147483647 ? "*": Integer.toString(t.getMaxCardinality())), null));
|
||||
} else if (isReference(t.getTypeCode())) {
|
||||
row.setIcon("icon_reference.png", HierarchicalTableGenerator.TEXT_ICON_REFERENCE);
|
||||
row.setIcon("icon_reference.png", context.formatMessage(RenderingI18nContext.TEXT_ICON_REFERENCE));
|
||||
c.addPiece(gen.new Piece(null, "0.."+(t.getMaxCardinality() == 2147483647 ? "*": Integer.toString(t.getMaxCardinality())), null));
|
||||
} else {
|
||||
row.setIcon("icon_datatype.gif", HierarchicalTableGenerator.TEXT_ICON_DATATYPE);
|
||||
row.setIcon("icon_datatype.gif", context.formatMessage(RenderingI18nContext.TEXT_ICON_DATATYPE));
|
||||
c.addPiece(gen.new Piece(null, "0.."+(t.getMaxCardinality() == 2147483647 ? "*": Integer.toString(t.getMaxCardinality())), null));
|
||||
}
|
||||
c = gen.new Cell();
|
||||
|
@ -2290,7 +2291,7 @@ public class StructureDefinitionRenderer extends ResourceRenderer {
|
|||
Row row = gen.new Row();
|
||||
row.setId(ed.getPath());
|
||||
erow.getSubRows().add(row);
|
||||
row.setIcon("icon_fixed.gif", context.formatMessage(RenderingContext.STRUC_DEF_FIXED) /*HierarchicalTableGenerator.TEXT_ICON_FIXED*/);
|
||||
row.setIcon("icon_fixed.gif", context.formatMessage(RenderingContext.STRUC_DEF_FIXED) /*context.formatMessage(RenderingI18nContext.TEXT_ICON_FIXED*/);
|
||||
|
||||
Cell c = gen.new Cell();
|
||||
row.getCells().add(c);
|
||||
|
@ -2430,12 +2431,12 @@ public class StructureDefinitionRenderer extends ResourceRenderer {
|
|||
if (definition.hasContentReference()) {
|
||||
ElementInStructure ed = getElementByName(profile.getSnapshot().getElement(), definition.getContentReference(), profile);
|
||||
if (ed == null)
|
||||
c.getPieces().add(gen.new Piece(null, /*!#*/"Unknown reference to "+definition.getContentReference(), null));
|
||||
c.getPieces().add(gen.new Piece(null, context.formatMessage(RenderingContext.STRUC_DEF_UNKNOWN_REF, definition.getContentReference()), null));
|
||||
else {
|
||||
if (ed.getSource() == profile) {
|
||||
c.getPieces().add(gen.new Piece("#"+ed.getElement().getPath(), /*!#*/"See "+ed.getElement().getPath(), null));
|
||||
c.getPieces().add(gen.new Piece("#"+ed.getElement().getPath(), context.formatMessage(RenderingContext.STRUC_DEF_SEE, ed.getElement().getPath()), null));
|
||||
} else {
|
||||
c.getPieces().add(gen.new Piece(ed.getSource().getWebPath()+"#"+ed.getElement().getPath(), /*!#*/"See "+ed.getSource().getTypeName()+"."+ed.getElement().getPath(), null));
|
||||
c.getPieces().add(gen.new Piece(ed.getSource().getWebPath()+"#"+ed.getElement().getPath(), context.formatMessage(RenderingContext.STRUC_DEF_SEE, ed.getSource().getTypeName()) +"."+ed.getElement().getPath(), null));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2509,7 +2510,7 @@ public class StructureDefinitionRenderer extends ResourceRenderer {
|
|||
} else if (definition.hasExample()) {
|
||||
for (ElementDefinitionExampleComponent ex : definition.getExample()) {
|
||||
if (!c.getPieces().isEmpty()) { c.addPiece(gen.new Piece("br")); }
|
||||
c.getPieces().add(checkForNoChange(ex, gen.new Piece(null, /*!#*/"Example'"+("".equals("General")? "": " "+ex.getLabel()+"'")+": ", "").addStyle("font-weight:bold")));
|
||||
c.getPieces().add(checkForNoChange(ex, gen.new Piece(null, context.formatMessage(RenderingContext.STRUC_DEF_EXAMPLE) +"'"+("".equals("General")? "": " "+ex.getLabel()+"'")+": ", "").addStyle("font-weight:bold")));
|
||||
c.getPieces().add(checkForNoChange(ex, gen.new Piece(null, buildJson(ex.getValue()), null).addStyle("color: darkgreen")));
|
||||
}
|
||||
}
|
||||
|
@ -2694,7 +2695,7 @@ public class StructureDefinitionRenderer extends ResourceRenderer {
|
|||
choicerow.getCells().add(gen.new Cell(null, null, tail(element.getPath()).replace("[x]", Utilities.capitalize(t)), null, null));
|
||||
choicerow.getCells().add(gen.new Cell());
|
||||
choicerow.getCells().add(gen.new Cell(null, null, "", null, null));
|
||||
choicerow.setIcon("icon_reference.png", HierarchicalTableGenerator.TEXT_ICON_REFERENCE);
|
||||
choicerow.setIcon("icon_reference.png", context.formatMessage(RenderingI18nContext.TEXT_ICON_REFERENCE));
|
||||
Cell c = gen.new Cell();
|
||||
choicerow.getCells().add(c);
|
||||
if (ADD_REFERENCE_TO_TABLE) {
|
||||
|
@ -2739,7 +2740,7 @@ public class StructureDefinitionRenderer extends ResourceRenderer {
|
|||
choicerow.getCells().add(gen.new Cell(null, null, tail(element.getPath()).replace("[x]", Utilities.capitalize(t)), sd.getDescription(), null));
|
||||
choicerow.getCells().add(gen.new Cell());
|
||||
choicerow.getCells().add(gen.new Cell(null, null, "", null, null));
|
||||
choicerow.setIcon("icon_primitive.png", HierarchicalTableGenerator.TEXT_ICON_PRIMITIVE);
|
||||
choicerow.setIcon("icon_primitive.png", context.formatMessage(RenderingI18nContext.TEXT_ICON_PRIMITIVE));
|
||||
Cell c = gen.new Cell(null, corePath+"datatypes.html#"+t, sd.getTypeName(), null, null);
|
||||
choicerow.getCells().add(c);
|
||||
if (!mustSupportMode && isMustSupport(tr) && element.getMustSupport()) {
|
||||
|
@ -2751,7 +2752,7 @@ public class StructureDefinitionRenderer extends ResourceRenderer {
|
|||
choicerow.getCells().add(gen.new Cell(null, null, tail(element.getPath()).replace("[x]", Utilities.capitalize(t)), sd.getDescription(), null));
|
||||
choicerow.getCells().add(gen.new Cell());
|
||||
choicerow.getCells().add(gen.new Cell(null, null, "", null, null));
|
||||
choicerow.setIcon("icon_datatype.gif", HierarchicalTableGenerator.TEXT_ICON_DATATYPE);
|
||||
choicerow.setIcon("icon_datatype.gif", context.formatMessage(RenderingI18nContext.TEXT_ICON_DATATYPE));
|
||||
Cell c = gen.new Cell(null, context.getPkp().getLinkFor(corePath, t), sd.getTypeName(), null, null);
|
||||
choicerow.getCells().add(c);
|
||||
if (!mustSupportMode && isMustSupport(tr) && element.getMustSupport()) {
|
||||
|
@ -2993,9 +2994,9 @@ public class StructureDefinitionRenderer extends ResourceRenderer {
|
|||
row.setAnchor(span.getId());
|
||||
//row.setColor(..?);
|
||||
if (span.isProfile()) {
|
||||
row.setIcon("icon_profile.png", HierarchicalTableGenerator.TEXT_ICON_PROFILE);
|
||||
row.setIcon("icon_profile.png", context.formatMessage(RenderingI18nContext.TEXT_ICON_PROFILE));
|
||||
} else {
|
||||
row.setIcon("icon_resource.png", HierarchicalTableGenerator.TEXT_ICON_RESOURCE);
|
||||
row.setIcon("icon_resource.png", context.formatMessage(RenderingI18nContext.TEXT_ICON_RESOURCE));
|
||||
}
|
||||
|
||||
row.getCells().add(gen.new Cell(null, null, span.getName(), null, null));
|
||||
|
@ -3145,7 +3146,7 @@ public class StructureDefinitionRenderer extends ResourceRenderer {
|
|||
if (full || vdeep) {
|
||||
r.getCells().add(gen.new Cell("", "", "Extension", null, null));
|
||||
|
||||
r.setIcon(deep ? "icon_"+m+"extension_complex.png" : "icon_extension_simple.png", deep ? HierarchicalTableGenerator.TEXT_ICON_EXTENSION_COMPLEX : HierarchicalTableGenerator.TEXT_ICON_EXTENSION_SIMPLE);
|
||||
r.setIcon(deep ? "icon_"+m+"extension_complex.png" : "icon_extension_simple.png", deep ? context.formatMessage(RenderingI18nContext.TEXT_ICON_EXTENSION_COMPLEX) : context.formatMessage(RenderingI18nContext.TEXT_ICON_EXTENSION_SIMPLE));
|
||||
List<ElementDefinition> children = getChildren(ed.getSnapshot().getElement(), ed.getSnapshot().getElement().get(0));
|
||||
for (ElementDefinition child : children)
|
||||
if (!child.getPath().endsWith(".id")) {
|
||||
|
@ -3161,7 +3162,7 @@ public class StructureDefinitionRenderer extends ResourceRenderer {
|
|||
}
|
||||
|
||||
r.getCells().add(gen.new Cell("", "", "Extension", null, null));
|
||||
r.setIcon("icon_"+m+"extension_complex.png", HierarchicalTableGenerator.TEXT_ICON_EXTENSION_COMPLEX);
|
||||
r.setIcon("icon_"+m+"extension_complex.png", context.formatMessage(RenderingI18nContext.TEXT_ICON_EXTENSION_COMPLEX));
|
||||
|
||||
for (ElementDefinition c : children) {
|
||||
ved = getValueFor(ed, c);
|
||||
|
@ -3174,7 +3175,7 @@ public class StructureDefinitionRenderer extends ResourceRenderer {
|
|||
r1.getCells().add(gen.new Cell());
|
||||
r1.getCells().add(gen.new Cell(null, null, describeCardinality(c, null, new UnusedTracker()), null, null));
|
||||
genTypes(gen, r1, ved, defFile, ed, corePath, imagePath, false, false);
|
||||
r1.setIcon("icon_"+m+"extension_simple.png", HierarchicalTableGenerator.TEXT_ICON_EXTENSION_SIMPLE);
|
||||
r1.setIcon("icon_"+m+"extension_simple.png", context.formatMessage(RenderingI18nContext.TEXT_ICON_EXTENSION_SIMPLE));
|
||||
generateDescription(gen, r1, c, null, true, corePath, corePath, ed, corePath, imagePath, false, false, false, ved, false, false, false, rc);
|
||||
}
|
||||
}
|
||||
|
@ -3186,7 +3187,7 @@ public class StructureDefinitionRenderer extends ResourceRenderer {
|
|||
|
||||
genTypes(gen, r, ved, defFile, ed, corePath, imagePath, false, false);
|
||||
|
||||
r.setIcon("icon_"+m+"extension_simple.png", HierarchicalTableGenerator.TEXT_ICON_EXTENSION_SIMPLE);
|
||||
r.setIcon("icon_"+m+"extension_simple.png", context.formatMessage(RenderingI18nContext.TEXT_ICON_EXTENSION_SIMPLE));
|
||||
}
|
||||
Cell c = gen.new Cell("", "", "URL = "+ed.getUrl(), null, null);
|
||||
Piece cc = gen.new Piece(null, ed.getName()+": ", null);
|
||||
|
@ -3665,7 +3666,7 @@ public class StructureDefinitionRenderer extends ResourceRenderer {
|
|||
tableRow(tbl, context.formatMessage(RenderingContext.STRUC_DEF_CONTROL), "conformance-rules.html#conformance", strikethrough, describeCardinality(d, compare, mode));
|
||||
tableRow(tbl, context.formatMessage(RenderingContext.STRUC_DEF_BINDING), "terminologies.html", strikethrough, describeBinding(sd, d, d.getPath(), compare, mode));
|
||||
if (d.hasContentReference()) {
|
||||
tableRow(tbl, context.formatMessage(RenderingContext.STRUC_DEF_TYPE), null, strikethrough, /*!#*/"See " + d.getContentReference().substring(1));
|
||||
tableRow(tbl, context.formatMessage(RenderingContext.STRUC_DEF_TYPE), null, strikethrough, context.formatMessage(RenderingContext.STRUC_DEF_SEE) + d.getContentReference().substring(1));
|
||||
} else {
|
||||
tableRow(tbl, context.formatMessage(RenderingContext.STRUC_DEF_TYPE), "datatypes.html", strikethrough, describeTypes(d.getType(), false, d, compare, mode, value, compareValue, sd));
|
||||
}
|
||||
|
@ -3673,18 +3674,19 @@ public class StructureDefinitionRenderer extends ResourceRenderer {
|
|||
tableRow(tbl, context.formatMessage(RenderingContext.STRUC_DEF_DEFAULT_TYPE), "datatypes.html", strikethrough, ToolingExtensions.readStringExtension(d, ToolingExtensions.EXT_DEF_TYPE));
|
||||
}
|
||||
if (d.hasExtension(ToolingExtensions.EXT_TYPE_SPEC)) {
|
||||
tableRow(tbl, Utilities.pluralize(/*!#*/"Type Specifier", d.getExtensionsByUrl(ToolingExtensions.EXT_TYPE_SPEC).size()), "datatypes.html", strikethrough, formatTypeSpecifiers(d));
|
||||
tableRow(tbl, Utilities.pluralize(context.formatMessage(RenderingContext.STRUC_DEF_TYPE_SPEC), d.getExtensionsByUrl(ToolingExtensions.EXT_TYPE_SPEC).size()), "datatypes.html", strikethrough, formatTypeSpecifiers(d));
|
||||
}
|
||||
if (d.getPath().endsWith("[x]") && !d.prohibited()) {
|
||||
tableRow(tbl, context.formatMessage(RenderingContext.STRUC_DEF_NOTE_X), null, strikethrough).ahWithText("See ", spec("formats.html#choice"), null, /*!#*/"Choice of Data Types", " for further information about how to use [x]");
|
||||
tableRow(tbl, context.formatMessage(RenderingContext.STRUC_DEF_NOTE_X), null, strikethrough).ahWithText(context.formatMessage(RenderingContext.STRUC_DEF_SEE)
|
||||
, spec("formats.html#choice"), null, context.formatMessage(RenderingContext.STRUC_DEF_CHOICE_DATA_TYPE), context.formatMessage(RenderingContext.STRUC_DEF_FURTHER_INFO));
|
||||
}
|
||||
tableRow(tbl, context.formatMessage(RenderingContext.STRUC_DEF_MODIFIER), "conformance-rules.html#ismodifier", strikethrough, presentModifier(d, mode, compare));
|
||||
if (d.getMustHaveValue()) {
|
||||
tableRow(tbl, context.formatMessage(RenderingContext.STRUC_DEF_PRIMITIVE), "elementdefinition.html#primitives", strikethrough, /*!#*/"This primitive type must have a value (the value must be present, and cannot be replaced by an extension)");
|
||||
tableRow(tbl, context.formatMessage(RenderingContext.STRUC_DEF_PRIMITIVE), "elementdefinition.html#primitives", strikethrough, context.formatMessage(RenderingContext.STRUC_DEF_PRIM_TYPE_VALUE));
|
||||
} else if (d.hasValueAlternatives()) {
|
||||
tableRow(tbl, context.formatMessage(RenderingContext.STRUC_DEF_PRIMITIVE), "elementdefinition.html#primitives", strikethrough, renderCanonicalList(/*!#*/"This primitive type may be present, or absent if replaced by one of the following extensions: ", d.getValueAlternatives()));
|
||||
tableRow(tbl, context.formatMessage(RenderingContext.STRUC_DEF_PRIMITIVE), "elementdefinition.html#primitives", strikethrough, renderCanonicalList(context.formatMessage(RenderingContext.STRUC_DEF_PRIM_TYPE_PRESENT), d.getValueAlternatives()));
|
||||
} else if (hasPrimitiveTypes(d)) {
|
||||
tableRow(tbl, context.formatMessage(RenderingContext.STRUC_DEF_PRIMITIVE), "elementdefinition.html#primitives", strikethrough, /*!#*/"This primitive element may be present, or absent, or replaced by an extension");
|
||||
tableRow(tbl, context.formatMessage(RenderingContext.STRUC_DEF_PRIMITIVE), "elementdefinition.html#primitives", strikethrough, context.formatMessage(RenderingContext.STRUC_DEF_PRIM_ELE));
|
||||
}
|
||||
if (ToolingExtensions.hasAllowedUnits(d)) {
|
||||
tableRow(tbl, context.formatMessage(RenderingContext.STRUC_DEF_ALLOWED), "http://hl7.org/fhir/extensions/StructureDefinition-elementdefinition-allowedUnits.html", strikethrough, describeAllowedUnits(d));
|
||||
|
|
|
@ -61,9 +61,6 @@ public class StructureMapRenderer extends TerminologyRenderer {
|
|||
private static final String COLOR_SYNTAX = "navy";
|
||||
private static final boolean MULTIPLE_TARGETS_ONELINE = true;
|
||||
private static final String COLOR_SPECIAL = "#b36b00";
|
||||
private static final String DEFAULT_COMMENT = /*!#*/"This element was not defined prior to R5";
|
||||
|
||||
private String clauseComment = DEFAULT_COMMENT;
|
||||
|
||||
public StructureMapRenderer(RenderingContext context) {
|
||||
super(context);
|
||||
|
@ -634,7 +631,7 @@ public class StructureMapRenderer extends TerminologyRenderer {
|
|||
}
|
||||
if (isClause) {
|
||||
XhtmlNode s= x.color(COLOR_SPECIAL);
|
||||
s.setAttribute("title", clauseComment );
|
||||
s.setAttribute("title", formatMessage(RenderingContext.MAP_DEFAULT_COMMENT));
|
||||
s.tx("// ");
|
||||
s.tx(doco.replace("\r\n", " ").replace("\r", " ").replace("\n", " "));
|
||||
} else {
|
||||
|
|
|
@ -329,7 +329,7 @@ public abstract class TerminologyRenderer extends ResourceRenderer {
|
|||
|
||||
|
||||
protected void clipboard(XhtmlNode x, String img, String title, String source) {
|
||||
XhtmlNode span = x.span("cursor: pointer", /*!#*/"Copy "+title+" Format to clipboard");
|
||||
XhtmlNode span = x.span("cursor: pointer", formatMessage(RenderingContext.TERM_REND_COPY, title));
|
||||
span.attribute("onClick", "navigator.clipboard.writeText('"+Utilities.escapeJson(source)+"');");
|
||||
span.img(img, "btn").setAttribute("width", "24px").setAttribute("height", "16px");
|
||||
}
|
||||
|
|
|
@ -132,7 +132,7 @@ public class TestPlanRenderer extends ResourceRenderer {
|
|||
|
||||
if (tp.hasTestCase()) {
|
||||
for (TestPlanTestCaseComponent tc : tp.getTestCase()) {
|
||||
x.h2().addText(/*!#*/"Test Case" + (tc.hasSequence() ? " - Sequence" + tc.getSequence() : ""));
|
||||
x.h2().addText(tc.hasSequence() ? formatMessage(RenderingContext.TEST_PLAN_CASE) : formatMessage(RenderingContext.TEST_PLAN_CASE_SEQ, tc.getSequence()));
|
||||
|
||||
if (tc.hasScope()) {
|
||||
if (tc.getScope().size() == 1) {
|
||||
|
|
|
@ -60,6 +60,7 @@ import org.hl7.fhir.r5.utils.ToolingExtensions;
|
|||
import org.hl7.fhir.utilities.LoincLinker;
|
||||
import org.hl7.fhir.utilities.Utilities;
|
||||
import org.hl7.fhir.utilities.i18n.I18nConstants;
|
||||
import org.hl7.fhir.utilities.i18n.RenderingI18nContext;
|
||||
import org.hl7.fhir.utilities.xhtml.HierarchicalTableGenerator;
|
||||
import org.hl7.fhir.utilities.xhtml.HierarchicalTableGenerator.Row;
|
||||
import org.hl7.fhir.utilities.xhtml.HierarchicalTableGenerator.TableModel;
|
||||
|
@ -78,8 +79,6 @@ public class ValueSetRenderer extends TerminologyRenderer {
|
|||
super(context, rcontext);
|
||||
}
|
||||
|
||||
private static final String ABSTRACT_CODE_HINT = /*!#*/"This code is not selectable ('Abstract')";
|
||||
|
||||
private static final int MAX_DESIGNATIONS_IN_LINE = 5;
|
||||
|
||||
private static final int MAX_BATCH_VALIDATION_SIZE = 1000;
|
||||
|
@ -209,7 +208,7 @@ public class ValueSetRenderer extends TerminologyRenderer {
|
|||
if (vs.getExpansion().getContains().isEmpty()) {
|
||||
msg = context.formatMessage(RenderingContext.VALUE_SET_TOO_COSTLY);
|
||||
} else {
|
||||
msg = /*!#*/"This value set cannot be fully expanded, but a selection ("+countMembership(vs)+" codes) of the whole set of codes is shown here.";
|
||||
msg = context.formatMessage(RenderingContext.VALUE_SET_CODE_SELEC, countMembership(vs));
|
||||
}
|
||||
x.para().style("border: maroon 1px solid; background-color: #FFCCCC; font-weight: bold; padding: 8px").addText(msg);
|
||||
} else {
|
||||
|
@ -217,9 +216,9 @@ public class ValueSetRenderer extends TerminologyRenderer {
|
|||
if (vs.getExpansion().hasTotal()) {
|
||||
if (count != vs.getExpansion().getTotal()) {
|
||||
x.para().style("border: maroon 1px solid; background-color: #FFCCCC; font-weight: bold; padding: 8px")
|
||||
.addText(/*!#*/"This value set has "+(hasFragment ? "at least " : "")+vs.getExpansion().getTotal()+" codes in it. In order to keep the publication size manageable, only a selection ("+count+" codes) of the whole set of codes is shown.");
|
||||
.addText(context.formatMessage(RenderingContext.VALUE_SET_HAS)+(hasFragment ? context.formatMessage(RenderingContext.VALUE_SET_AT_LEAST) : "")+vs.getExpansion().getTotal()+" codes in it. In order to keep the publication size manageable, only a selection ("+count+" codes) of the whole set of codes is shown.");
|
||||
} else {
|
||||
x.para().tx(/*!#*/"This value set contains "+(hasFragment ? "at least " : "")+vs.getExpansion().getTotal()+" concepts.");
|
||||
x.para().tx(context.formatMessage(RenderingContext.VALUE_SET_CONTAINS)+(hasFragment ? context.formatMessage(RenderingContext.VALUE_SET_AT_LEAST) : "")+vs.getExpansion().getTotal()+" concepts.");
|
||||
}
|
||||
} else if (count == 1000) {
|
||||
// it's possible that there's exactly 1000 codes, in which case wht we're about to do is wrong
|
||||
|
@ -227,7 +226,7 @@ public class ValueSetRenderer extends TerminologyRenderer {
|
|||
String msg = context.formatMessage(RenderingContext.VALUE_SET_SEL);
|
||||
x.para().style("border: maroon 1px solid; background-color: #FFCCCC; font-weight: bold; padding: 8px").addText(msg);
|
||||
} else {
|
||||
x.para().tx(/*!#*/"This value set expansion contains "+count+" concepts.");
|
||||
x.para().tx(context.formatMessage(RenderingContext.VALUE_SET_NUMBER_CONCEPTS, count));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -514,30 +513,30 @@ public class ValueSetRenderer extends TerminologyRenderer {
|
|||
if (parts.length >= 5) {
|
||||
String m = describeModule(parts[4]);
|
||||
if (parts.length == 7) {
|
||||
x.tx(/*!#*/"SNOMED CT "+m+" edition "+formatSCTDate(parts[6]));
|
||||
x.tx(context.formatMessage(RenderingContext.VALUE_SET_SNOMED_ADD, m, formatSCTDate(parts[6])));
|
||||
} else {
|
||||
x.tx(/*!#*/"SNOMED CT "+m+" edition");
|
||||
x.tx(context.formatMessage(RenderingContext.VALUE_SET_SNOMED, m));
|
||||
}
|
||||
} else {
|
||||
x.tx(displaySystem(u)+" "+/*!#*/"version "+v);
|
||||
x.tx(displaySystem(u)+" "+ context.formatMessage(RenderingContext.VALUE_SET_VERSION) + " " +v);
|
||||
}
|
||||
} else if (u.equals("http://loinc.org")) {
|
||||
String vd = describeLoincVer(v);
|
||||
if (vd != null) {
|
||||
x.tx(/*!#*/"Loinc v"+v+" ("+vd+")");
|
||||
x.tx(context.formatMessage(RenderingContext.VALUE_SET_LOINCV)+v+" ("+vd+")");
|
||||
} else {
|
||||
x.tx(/*!#*/"Loinc v"+v);
|
||||
x.tx(context.formatMessage(RenderingContext.VALUE_SET_LOINCV)+v);
|
||||
}
|
||||
} else if (Utilities.noString(v)) {
|
||||
CanonicalResource cr = (CanonicalResource) getContext().getWorker().fetchResource(Resource.class, u, source);
|
||||
if (cr != null) {
|
||||
if (cr.hasWebPath()) {
|
||||
x.ah(cr.getWebPath()).tx(t+" "+cr.present()+" "+/*!#*/"(no version) ("+cr.fhirType()+")");
|
||||
x.ah(cr.getWebPath()).tx(t+" "+cr.present()+" "+ context.formatMessage(RenderingContext.VALUE_SET_NO_VERSION)+cr.fhirType()+")");
|
||||
} else {
|
||||
x.tx(t+" "+displaySystem(u)+" "+/*!#*/"(no version) ("+cr.fhirType()+")");
|
||||
x.tx(t+" "+displaySystem(u)+" "+context.formatMessage(RenderingContext.VALUE_SET_NO_VERSION)+cr.fhirType()+")");
|
||||
}
|
||||
} else {
|
||||
x.tx(t+" "+displaySystem(u)+" "+/*!#*/"(no version)");
|
||||
x.tx(t+" "+displaySystem(u)+" "+ context.formatMessage(RenderingContext.VALUE_SET_NO_VER));
|
||||
}
|
||||
} else {
|
||||
CanonicalResource cr = (CanonicalResource) getContext().getWorker().fetchResource(Resource.class, u+"|"+v, source);
|
||||
|
@ -548,7 +547,7 @@ public class ValueSetRenderer extends TerminologyRenderer {
|
|||
x.tx(t+" "+displaySystem(u)+" v"+v+" ("+cr.fhirType()+")");
|
||||
}
|
||||
} else {
|
||||
x.tx(t+" "+displaySystem(u)+" "+/*!#*/"version "+v);
|
||||
x.tx(t+" "+displaySystem(u)+" "+ context.formatMessage(RenderingContext.VALUE_SET_VERSION)+v);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -620,7 +619,7 @@ public class ValueSetRenderer extends TerminologyRenderer {
|
|||
|
||||
private String describeModule(String module) {
|
||||
if ("900000000000207008".equals(module))
|
||||
return /*!#*/context.formatMessage(RenderingContext.VALUE_SET_INT);
|
||||
return context.formatMessage(RenderingContext.VALUE_SET_INT);
|
||||
if ("731000124108".equals(module))
|
||||
return context.formatMessage(RenderingContext.VALUE_SET_US);
|
||||
if ("32506021000036107".equals(module))
|
||||
|
@ -897,7 +896,7 @@ public class ValueSetRenderer extends TerminologyRenderer {
|
|||
CodeSystem e = getContext().getWorker().fetchCodeSystem(system);
|
||||
if (e == null || (e.getContent() != org.hl7.fhir.r5.model.Enumerations.CodeSystemContentMode.COMPLETE && e.getContent() != org.hl7.fhir.r5.model.Enumerations.CodeSystemContentMode.FRAGMENT)) {
|
||||
if (isAbstract)
|
||||
td.i().setAttribute("title", ABSTRACT_CODE_HINT).addText(code);
|
||||
td.i().setAttribute("title", context.formatMessage(RenderingI18nContext.VS_ABSTRACT_CODE_HINT)).addText(code);
|
||||
else if ("http://snomed.info/sct".equals(system)) {
|
||||
td.ah(sctLink(code)).addText(code);
|
||||
} else if ("http://loinc.org".equals(system)) {
|
||||
|
@ -911,7 +910,7 @@ public class ValueSetRenderer extends TerminologyRenderer {
|
|||
else
|
||||
href = href + "#"+e.getId()+"-"+Utilities.nmtokenize(code);
|
||||
if (isAbstract)
|
||||
td.ah(href).setAttribute("title", ABSTRACT_CODE_HINT).i().addText(code);
|
||||
td.ah(href).setAttribute("title", context.formatMessage(RenderingI18nContext.VS_ABSTRACT_CODE_HINT)).i().addText(code);
|
||||
else
|
||||
td.ah(href).addText(code);
|
||||
}
|
||||
|
@ -1178,14 +1177,14 @@ public class ValueSetRenderer extends TerminologyRenderer {
|
|||
if (inc.hasSystem()) {
|
||||
CodeSystem e = getContext().getWorker().fetchCodeSystem(inc.getSystem());
|
||||
if (inc.getConcept().size() == 0 && inc.getFilter().size() == 0) {
|
||||
li.addText(type+" "+/*!#*/"all codes defined in ");
|
||||
li.addText(type+" "+ context.formatMessage(RenderingContext.VALUE_SET_ALL_CODES_DEF) + " ");
|
||||
addCsRef(inc, li, e);
|
||||
} else {
|
||||
if (inc.getConcept().size() > 0) {
|
||||
li.addText(type+" "+/*!#*/"these codes as defined in ");
|
||||
li.addText(type+" "+ context.formatMessage(RenderingContext.VALUE_SET_THESE_CODES_DEF) + " ");
|
||||
addCsRef(inc, li, e);
|
||||
if (inc.hasVersion()) {
|
||||
li.addText(" "+/*!#*/"version ");
|
||||
li.addText(" "+ context.formatMessage(RenderingContext.VALUE_SET_VERSION) + " ");
|
||||
li.code(inc.getVersion());
|
||||
}
|
||||
|
||||
|
@ -1212,14 +1211,14 @@ public class ValueSetRenderer extends TerminologyRenderer {
|
|||
}
|
||||
}
|
||||
if (inc.getFilter().size() > 0) {
|
||||
li.addText(type+" "+/*!#*/"codes from ");
|
||||
li.addText(type+" "+ context.formatMessage(RenderingContext.VALUE_SET_CODES_FROM));
|
||||
addCsRef(inc, li, e);
|
||||
li.tx(" "+/*!#*/"where ");
|
||||
li.tx(" "+ context.formatMessage(RenderingContext.VALUE_SET_WHERE)+" ");
|
||||
for (int i = 0; i < inc.getFilter().size(); i++) {
|
||||
ConceptSetFilterComponent f = inc.getFilter().get(i);
|
||||
if (i > 0) {
|
||||
if (i == inc.getFilter().size()-1) {
|
||||
li.tx(" "+/*!#*/"and ");
|
||||
li.tx(" "+ context.formatMessage(RenderingContext.VALUE_SET_AND));
|
||||
} else {
|
||||
li.tx(context.formatMessage(RenderingContext.VALUE_SET_COMMA)+" ");
|
||||
}
|
||||
|
@ -1227,9 +1226,9 @@ public class ValueSetRenderer extends TerminologyRenderer {
|
|||
XhtmlNode wli = renderStatus(f, li);
|
||||
if (f.getOp() == FilterOperator.EXISTS) {
|
||||
if (f.getValue().equals("true")) {
|
||||
wli.tx(f.getProperty()+" "+/*!#*/"exists");
|
||||
wli.tx(f.getProperty()+" "+ context.formatMessage(RenderingContext.VALUE_SET_EXISTS));
|
||||
} else {
|
||||
wli.tx(f.getProperty()+" "+/*!#*/"doesn't exist");
|
||||
wli.tx(f.getProperty()+" "+ context.formatMessage(RenderingContext.VALUE_SET_DOESNT_EXIST));
|
||||
}
|
||||
} else {
|
||||
wli.tx(f.getProperty()+" "+describe(f.getOp())+" ");
|
||||
|
|
|
@ -495,6 +495,8 @@ public class RenderingI18nContext extends I18nBase {
|
|||
public static final String REND_CHANGED = "REND_CHANGED";
|
||||
public static final String REND_REMOVED = "REND_REMOVED";
|
||||
public static final String REND_ROW_SINCE = "REND_ROW_SINCE";
|
||||
public static final String REND_ROW_CHANGED_SINCE = "REND_ROW_CHANGED_SINCE";
|
||||
public static final String REND_ROW_REMOVED_SINCE = "REND_ROW_REMOVED_SINCE";
|
||||
public static final String REQ_ACTOR = "REQ_ACTOR";
|
||||
public static final String REQ_FOLLOWING_ACTOR = "REQ_FOLLOWING_ACTOR";
|
||||
public static final String REQ_DERIVE = "REQ_DERIVE";
|
||||
|
@ -905,7 +907,160 @@ public class RenderingI18nContext extends I18nBase {
|
|||
public static final String CAPABILITY_SEARCH_PARS = "CAPABILITY_SEARCH_PARS";
|
||||
public static final String CAPABILITY_COMB_SEARCH_PAR = "CAPABILITY_COMB_SEARCH_PAR";
|
||||
public static final String CODE_SYS_IN_A_HIERARCHY = "CODE_SYS_IN_A_HIERARCHY";
|
||||
|
||||
public static final String CODE_SYS_REPLACED_BY = "CODE_SYS_REPLACED_BY";
|
||||
public static final String DATA_REND_ONGOING = "DATA_REND_ONGOING";
|
||||
public static final String EXAMPLE_SCEN_UNABLE_TO_FIND = "EXAMPLE_SCEN_UNABLE_TO_FIND";
|
||||
public static final String EXAMPLE_SCEN_STEP_SCEN = "EXAMPLE_SCEN_STEP_SCEN";
|
||||
public static final String DATA_REND_DETAILS_STATED = "DATA_REND_DETAILS_STATED";
|
||||
public static final String DATA_REND_VERSION = "DATA_REND_VERSION";
|
||||
public static final String DATA_REND_BASE64 = "DATA_REND_BASE64";
|
||||
public static final String DATA_REND_CODES = "DATA_REND_CODES";
|
||||
public static final String DATA_REND_GLN = "DATA_REND_GLN";
|
||||
public static final String DATA_REND_DETAILS = "DATA_REND_DETAILS";
|
||||
public static final String DATA_REND_PER = "DATA_REND_PER";
|
||||
public static final String DATA_REND_EXCEPTION = "DATA_REND_EXCEPTION";
|
||||
public static final String DIAG_REP_REND_PER = "DIAG_REP_REND_PER";
|
||||
public static final String DIAG_REP_REND_IDENTIFIER = "DIAG_REP_REND_IDENTIFIER";
|
||||
public static final String DIAG_REP_REND_REQUEST = "DIAG_REP_REND_REQUEST";
|
||||
public static final String PROF_DRIV_GEN_NARR = "PROF_DRIV_GEN_NARR";
|
||||
public static final String PROF_DRIV_ERR_GEN_NARR = "PROF_DRIV_ERR_GEN_NARR";
|
||||
public static final String QUEST_UNKNOWN_MODE = "QUEST_UNKNOWN_MODE";
|
||||
public static final String QUEST_ANSWER = "QUEST_ANSWER";
|
||||
public static final String QUEST_RESP_ROOT = "QUEST_RESP_ROOT";
|
||||
public static final String QUEST_RESP = "QUEST_RESP";
|
||||
public static final String QUEST_QUESTION = "QUEST_QUESTION";
|
||||
public static final String QUEST_NONE_SPEC = "QUEST_NONE_SPEC";
|
||||
public static final String QUEST_GROUP = "QUEST_GROUP";
|
||||
public static final String QUEST_ITEM = "QUEST_ITEM";
|
||||
public static final String QUEST_TRY_QUEST = "QUEST_TRY_QUEST";
|
||||
public static final String QUEST_DISPLAY_CAT = "QUEST_DISPLAY_CAT";
|
||||
public static final String QUEST_NOT_DONE = "QUEST_NOT_DONE";
|
||||
public static final String RES_REND_VER = "RES_REND_VER";
|
||||
public static final String RES_REND_VERSION = "RES_REND_VERSION";
|
||||
public static final String RES_REND_UPDATED = "RES_REND_UPDATED";
|
||||
public static final String RES_REND_LANGUAGE = "RES_REND_LANGUAGE";
|
||||
public static final String RES_REND_SPEC_RULES = "RES_REND_SPEC_RULES";
|
||||
public static final String RES_REND_INFO_SOURCE = "RES_REND_INFO_SOURCE";
|
||||
public static final String RES_REND_PROFILE = "RES_REND_PROFILE";
|
||||
public static final String RES_REND_SECURITY_LABEL = "RES_REND_SECURITY_LABEL";
|
||||
public static final String SEARCH_PAR_REND_RES = "SEARCH_PAR_REND_RES";
|
||||
public static final String SEARCH_PAR_REND_TARGET = "SEARCH_PAR_REND_TARGET";
|
||||
public static final String STRUC_DEF_REND_UNABLE_RES = "STRUC_DEF_REND_UNABLE_RES";
|
||||
public static final String STRUC_DEF_CANT_FIND = "STRUC_DEF_CANT_FIND";
|
||||
public static final String STRUC_DEF_ALL_SLICES = "STRUC_DEF_ALL_SLICES";
|
||||
public static final String STRUC_DEF_ELE_AFFECTED = "STRUC_DEF_ELE_AFFECTED";
|
||||
public static final String STRUC_DEF_STAND_STATUS = "STRUC_DEF_STAND_STATUS";
|
||||
public static final String STRUC_DEF_BLACK = "STRUC_DEF_BLACK";
|
||||
public static final String STRUC_DEF_ABSTRACT = "STRUC_DEF_ABSTRACT";
|
||||
public static final String STRUC_DEF_CHILD = "STRUC_DEF_CHILD";
|
||||
public static final String STRUC_DEF_SINGLE_JSON_OBJECTS = "STRUC_DEF_SINGLE_JSON_OBJECTS";
|
||||
public static final String STRUC_DEF_TYPE_SPEC = "STRUC_DEF_TYPE_SPEC";
|
||||
public static final String STRUC_DEF_CHOICE_DATA_TYPE = "STRUC_DEF_CHOICE_DATA_TYPE";
|
||||
public static final String STRUC_DEF_FURTHER_INFO = "STRUC_DEF_FURTHER_INFO";
|
||||
public static final String STRUC_DEF_PRIM_TYPE_VALUE = "STRUC_DEF_PRIM_TYPE_VALUE";
|
||||
public static final String STRUC_DEF_PRIM_TYPE_PRESENT = "STRUC_DEF_PRIM_TYPE_PRESENT";
|
||||
public static final String STRUC_DEF_PRIM_ELE = "STRUC_DEF_PRIM_ELE";
|
||||
public static final String VALUE_SET_CODE_SELEC = "VALUE_SET_CODE_SELEC";
|
||||
public static final String VALUE_SET_HAS = "VALUE_SET_HAS";
|
||||
public static final String VALUE_SET_CONTAINS = "VALUE_SET_CONTAINS";
|
||||
public static final String VALUE_SET_AT_LEAST = "VALUE_SET_AT_LEAST";
|
||||
public static final String VALUE_SET_NUMBER_CONCEPTS = "VALUE_SET_NUMBER_CONCEPTS";
|
||||
public static final String VALUE_SET_VERSION = "VALUE_SET_VERSION";
|
||||
public static final String VALUE_SET_NO_VERSION = "VALUE_SET_NO_VERSION";
|
||||
public static final String VALUE_SET_NO_VER = "VALUE_SET_NO_VER";
|
||||
public static final String VALUE_SET_THESE_CODES_DEF = "VALUE_SET_THESE_CODES_DEF";
|
||||
public static final String VALUE_SET_ALL_CODES_DEF = "VALUE_SET_ALL_CODES_DEF";
|
||||
public static final String VALUE_SET_CODES_FROM = "VALUE_SET_CODES_FROM";
|
||||
public static final String VALUE_SET_WHERE = "VALUE_SET_WHERE";
|
||||
public static final String VALUE_SET_AND = "VALUE_SET_AND";
|
||||
public static final String VALUE_SET_DOESNT_EXIST = "VALUE_SET_DOESNT_EXIST";
|
||||
public static final String VALUE_SET_SNOMED_ADD = "VALUE_SET_SNOMED_ADD";
|
||||
public static final String VALUE_SET_SNOMED = "VALUE_SET_SNOMED";
|
||||
public static final String VALUE_SET_LOINCV = "VALUE_SET_LOINCV";
|
||||
public static final String CANON_REND_URL = "CANON_REND_URL";
|
||||
public static final String CANON_REND_VER = "CANON_REND_VER";
|
||||
public static final String CANON_REND_NAME = "CANON_REND_NAME";
|
||||
public static final String CANON_REND_TITLE = "CANON_REND_TITLE";
|
||||
public static final String CANON_REND_STATUS = "CANON_REND_STATUS";
|
||||
public static final String CANON_REND_DEFINITION = "CANON_REND_DEFINITION";
|
||||
public static final String CANON_REND_PUBLISHER = "CANON_REND_PUBLISHER";
|
||||
public static final String CANON_REND_COMMITTEE = "CANON_REND_COMMITTEE";
|
||||
public static final String CANON_REND_COPYRIGHT = "CANON_REND_COPYRIGHT";
|
||||
public static final String CANON_REND_MATURITY = "CANON_REND_MATURITY";
|
||||
public static final String CANON_REND_SOURCE_RES = "CANON_REND_SOURCE_RES";
|
||||
public static final String CANON_REND_XML = "CANON_REND_XML";
|
||||
public static final String CANON_REND_JSON = "CANON_REND_JSON";
|
||||
public static final String CANON_REND_TURTLE = "CANON_REND_TURTLE";
|
||||
public static final String CODE_SYS_CONTENT = "CODE_SYS_CONTENT";
|
||||
public static final String CODE_SYS_OID = "CODE_SYS_OID";
|
||||
public static final String CODE_SYS_VALUE_SET = "CODE_SYS_VALUE_SET";
|
||||
public static final String CODE_SYS_COMPLETE = "CODE_SYS_COMPLETE";
|
||||
public static final String CODE_SYS_NOTPRESENT = "CODE_SYS_NOTPRESENT";
|
||||
public static final String CODE_SYS_EXAMPLE = "CODE_SYS_EXAMPLE";
|
||||
public static final String CODE_SYS_FRAGMENT = "CODE_SYS_FRAGMENT";
|
||||
public static final String CODE_SYS_SUPPLEMENT = "CODE_SYS_SUPPLEMENT";
|
||||
public static final String CODE_SYS_CODE_NOT_HERE = "CODE_SYS_CODE_NOT_HERE";
|
||||
public static final String CODE_SYS_FOR_OID = "CODE_SYS_FOR_OID";
|
||||
public static final String CODE_SYS_THE_VALUE_SET = "CODE_SYS_THE_VALUE_SET";
|
||||
public static final String STRUC_DEF_NO_SUMMARY = "STRUC_DEF_NO_SUMMARY";
|
||||
public static final String STRUC_DEF_ELEMENT = "STRUC_DEF_ELEMENT";
|
||||
public static final String STRUC_DEF_STRUCTURES = "STRUC_DEF_STRUCTURES";
|
||||
public static final String STRUC_DEF_EXTENSIONS = "STRUC_DEF_EXTENSIONS";
|
||||
public static final String STRUC_DEF_SLIC = "STRUC_DEF_SLIC";
|
||||
public static final String STRUC_DEF_THIS_REFERS = "STRUC_DEF_THIS_REFERS";
|
||||
public static final String STRUC_DEF_REFERS_EXT = "STRUC_DEF_REFERS_EXT";
|
||||
public static final String STRUC_DEF_MATURITY = "STRUC_DEF_MATURITY";
|
||||
public static final String STRUC_DEF_MODIF = "STRUC_DEF_MODIF";
|
||||
public static final String STRUC_DEF_SNOMED_CT = "STRUC_DEF_SNOMED_CT";
|
||||
public static final String STRUC_DEF_TERM_BIND = "STRUC_DEF_TERM_BIND";
|
||||
public static final String STRUC_DEF_PATH = "STRUC_DEF_PATH";
|
||||
public static final String STRUC_DEF_TERM_BINDS = "STRUC_DEF_TERM_BINDS";
|
||||
public static final String STRUC_DEF_URI = "STRUC_DEF_URI";
|
||||
public static final String STRUC_DEF_MISSING_LINK = "STRUC_DEF_MISSING_LINK";
|
||||
public static final String STRUC_DEF_CONSTRAINTS = "STRUC_DEF_CONSTRAINTS";
|
||||
public static final String STRUC_DEF_GRADE = "STRUC_DEF_GRADE";
|
||||
public static final String STRUC_DEF_NO_MAPPINGS = "STRUC_DEF_NO_MAPPINGS";
|
||||
public static final String STRUC_DEF_ALL_MAP_KEY = "STRUC_DEF_ALL_MAP_KEY";
|
||||
public static final String STRUC_DEF_PROFILE_BUILDS = "STRUC_DEF_PROFILE_BUILDS";
|
||||
public static final String STRUC_DEF_DERIVED_PROFILE = "STRUC_DEF_DERIVED_PROFILE";
|
||||
public static final String STRUC_DEF_REFER_PROFILE = "STRUC_DEF_REFER_PROFILE";
|
||||
public static final String STRUC_DEF_MOD_ELEMENT = "STRUC_DEF_MOD_ELEMENT";
|
||||
public static final String STRUC_DEF_ELE_MUST_SUPP = "STRUC_DEF_ELE_MUST_SUPP";
|
||||
public static final String STRUC_DEF_ELE_INCLUDED = "STRUC_DEF_ELE_INCLUDED";
|
||||
public static final String STRUC_DEF_AFFECT_CONSTRAINTS = "STRUC_DEF_AFFECT_CONSTRAINTS";
|
||||
public static final String STRUC_DEF_CONFORMANCE = "STRUC_DEF_CONFORMANCE";
|
||||
public static final String STRUC_DEF_VALUESET_CODE = "STRUC_DEF_VALUESET_CODE";
|
||||
public static final String STRUC_DEF_VALUESET = "STRUC_DEF_VALUESET";
|
||||
public static final String STRUC_DEF_ID = "STRUC_DEF_ID";
|
||||
public static final String STRUC_DEF_PATHS = "STRUC_DEF_PATHS";
|
||||
public static final String STRUC_DEF_DETAILS = "STRUC_DEF_DETAILS";
|
||||
public static final String VALUE_SET_OID = "VALUE_SET_OID";
|
||||
public static final String VALUE_SET_OID_TERM_SYS = "VALUE_SET_OID_TERM_SYS";
|
||||
public static final String VALUE_SET_INCLUDED_INTO = "VALUE_SET_INCLUDED_INTO";
|
||||
public static final String VALUE_SET_EXCLUDED_FROM = "VALUE_SET_EXCLUDED_FROM";
|
||||
public static final String VALUE_SET_USED_ELSEWHERE = "VALUE_SET_USED_ELSEWHERE";
|
||||
public static final String TEXT_ICON_REFERENCE = "TEXT_ICON_REFERENCE";
|
||||
public static final String TEXT_ICON_PRIMITIVE = "TEXT_ICON_PRIMITIVE";
|
||||
public static final String TEXT_ICON_KEY = "TEXT_ICON_KEY";
|
||||
public static final String TEXT_ICON_DATATYPE = "TEXT_ICON_DATATYPE";
|
||||
public static final String TEXT_ICON_RESOURCE = "TEXT_ICON_RESOURCE";
|
||||
public static final String TEXT_ICON_ELEMENT = "TEXT_ICON_ELEMENT";
|
||||
public static final String TEXT_ICON_OBJECT_BOX = "TEXT_ICON_OBJECT_BOX";
|
||||
public static final String TEXT_ICON_REUSE = "TEXT_ICON_REUSE";
|
||||
public static final String TEXT_ICON_EXTENSION = "TEXT_ICON_EXTENSION";
|
||||
public static final String TEXT_ICON_CHOICE = "TEXT_ICON_CHOICE";
|
||||
public static final String TEXT_ICON_SLICE = "TEXT_ICON_SLICE";
|
||||
public static final String TEXT_ICON_SLICE_ITEM = "TEXT_ICON_SLICE_ITEM";
|
||||
public static final String TEXT_ICON_FIXED = "TEXT_ICON_FIXED";
|
||||
public static final String TEXT_ICON_EXTENSION_SIMPLE = "TEXT_ICON_EXTENSION_SIMPLE";
|
||||
public static final String TEXT_ICON_PROFILE = "TEXT_ICON_PROFILE";
|
||||
public static final String TEXT_ICON_EXTENSION_COMPLEX = "TEXT_ICON_EXTENSION_COMPLEX";
|
||||
public static final String MAP_DEFAULT_COMMENT = "MAP_DEFAULT_COMMENT";
|
||||
public static final String VS_ABSTRACT_CODE_HINT = "VS_ABSTRACT_CODE_HINT";
|
||||
public static final String REND_ROW_CHANGED_SINCE_WAS = "REND_ROW_CHANGED_SINCE_WAS";
|
||||
public static final String TERM_REND_COPY = "TERM_REND_COPY";
|
||||
public static final String TEST_PLAN_CASE = "TEST_PLAN_CASE";
|
||||
public static final String TEST_PLAN_CASE_SEQ = "TEST_PLAN_CASE_SEQ";
|
||||
|
||||
protected String getMessagesSourceFileName() {
|
||||
return "rendering-phrases";
|
||||
|
|
|
@ -95,22 +95,22 @@ public class HierarchicalTableGenerator {
|
|||
XML, XHTML
|
||||
}
|
||||
|
||||
/*!#*/public static final String TEXT_ICON_REFERENCE = "Reference to another Resource";
|
||||
/*!#*/public static final String TEXT_ICON_PRIMITIVE = "Primitive Data Type";
|
||||
/*!#*/public static final String TEXT_ICON_KEY = "JSON Key Value";
|
||||
/*!#*/public static final String TEXT_ICON_DATATYPE = "Data Type";
|
||||
/*!#*/public static final String TEXT_ICON_RESOURCE = "Resource";
|
||||
/*!#*/public static final String TEXT_ICON_ELEMENT = "Element";
|
||||
/*!#*/public static final String TEXT_ICON_OBJECT_BOX = "Object";
|
||||
/*!#*/public static final String TEXT_ICON_REUSE = "Reference to another Element";
|
||||
/*!#*/public static final String TEXT_ICON_EXTENSION = "Extension";
|
||||
/*!#*/public static final String TEXT_ICON_CHOICE = "Choice of Types";
|
||||
/*!#*/public static final String TEXT_ICON_SLICE = "Slice Definition";
|
||||
/*!#*/public static final String TEXT_ICON_SLICE_ITEM = "Slice Item";
|
||||
/*!#*/public static final String TEXT_ICON_FIXED = "Fixed Value";
|
||||
/*!#*/public static final String TEXT_ICON_EXTENSION_SIMPLE = "Simple Extension";
|
||||
/*!#*/public static final String TEXT_ICON_PROFILE = "Profile";
|
||||
/*!#*/public static final String TEXT_ICON_EXTENSION_COMPLEX = "Complex Extension";
|
||||
public static final String TEXT_ICON_REFERENCE = "Reference to another Resource";
|
||||
public static final String TEXT_ICON_PRIMITIVE = "Primitive Data Type";
|
||||
public static final String TEXT_ICON_KEY = "JSON Key Value";
|
||||
public static final String TEXT_ICON_DATATYPE = "Data Type";
|
||||
public static final String TEXT_ICON_RESOURCE = "Resource";
|
||||
public static final String TEXT_ICON_ELEMENT = "Element";
|
||||
public static final String TEXT_ICON_OBJECT_BOX = "Object";
|
||||
public static final String TEXT_ICON_REUSE = "Reference to another Element";
|
||||
public static final String TEXT_ICON_EXTENSION = "Extension";
|
||||
public static final String TEXT_ICON_CHOICE = "Choice of Types";
|
||||
public static final String TEXT_ICON_SLICE = "Slice Definition";
|
||||
public static final String TEXT_ICON_SLICE_ITEM = "Slice Item";
|
||||
public static final String TEXT_ICON_FIXED = "Fixed Value";
|
||||
public static final String TEXT_ICON_EXTENSION_SIMPLE = "Simple Extension";
|
||||
public static final String TEXT_ICON_PROFILE = "Profile";
|
||||
public static final String TEXT_ICON_EXTENSION_COMPLEX = "Complex Extension";
|
||||
|
||||
public static final int NEW_REGULAR = 0;
|
||||
public static final int CONTINUE_REGULAR = 1;
|
||||
|
|
|
@ -502,6 +502,9 @@ REND_ADDED = Added:
|
|||
REND_CHANGED = Changed:
|
||||
REND_REMOVED = Removed:
|
||||
REND_ROW_SINCE = This row of content has been added since {0}
|
||||
REND_ROW_CHANGED_SINCE = This row of content has been changed since {0}
|
||||
REND_ROW_CHANGED_SINCE_WAS = This row of content has been changed since {0} (was ''{1}'')
|
||||
REND_ROW_REMOVED_SINCE = This content has been removed since {0}
|
||||
REQ_ACTOR = These requirements apply to the actor
|
||||
REQ_FOLLOWING_ACTOR = These requirements apply to the following actors:
|
||||
REQ_DERIVE = These requirements derive from
|
||||
|
@ -908,3 +911,156 @@ CAPABILITY_INT_SUMM = Interaction summary
|
|||
CAPABILITY_SEARCH_PARS = Search Parameters
|
||||
CAPABILITY_COMB_SEARCH_PARS = Combined Search Parameters
|
||||
CODE_SYS_IN_A_HIERARCHY = in a {0} hierarchy
|
||||
CODE_SYS_REPLACED_BY = (replaced by
|
||||
DATA_REND_ONGOING = (ongoing)
|
||||
EXAMPLE_SCEN_UNABLE_TO_FIND = Unable to find referenced version {0} within instance {1}
|
||||
EXAMPLE_SCEN_STEP_SCEN = Step {0} - See scenario\n {1}
|
||||
DATA_REND_DETAILS_STATED = (Details: {0} code {1} {2} {3} ', stated as ' {4} {5}
|
||||
DATA_REND_VERSION = (version = {0} {1}
|
||||
DATA_REND_BASE64 = (base64 data - {0} bytes)
|
||||
DATA_REND_CODES = Codes:
|
||||
DATA_REND_GLN = Global Location Number
|
||||
DATA_REND_DETAILS = (Details: {0} code
|
||||
DATA_REND_PER = per
|
||||
DATA_REND_EXCEPTION = Exception
|
||||
DIAG_REP_REND_PER = Performer
|
||||
DIAG_REP_REND_IDENTIFIER = Identifier
|
||||
DIAG_REP_REND_REQUEST = Request
|
||||
PROF_DRIV_GEN_NARR = Generated Narrative: {0} {1}
|
||||
PROF_DRIV_ERR_GEN_NARR = Error Generating Narrative for
|
||||
QUEST_UNKNOWN_MODE = Unknown QuestionnaireResponse Renderer Mode
|
||||
QUEST_ANSWER = Answer
|
||||
QUEST_RESP_ROOT = QuestionnaireResponseRoot
|
||||
QUEST_RESP = QuestionnaireResponse
|
||||
QUEST_QUESTION = Questionnaire:
|
||||
QUEST_NONE_SPEC = None specified
|
||||
QUEST_GROUP = Group
|
||||
QUEST_ITEM = Item
|
||||
QUEST_TRY_QUEST = Try this QuestionnaireResponse out:
|
||||
QUEST_DISPLAY_CAT = Display Category
|
||||
QUEST_NOT_DONE = Not done yet
|
||||
RES_REND_VER = (version
|
||||
RES_REND_VERSION = Version
|
||||
RES_REND_UPDATED = Updated
|
||||
RES_REND_LANGUAGE = (Language
|
||||
RES_REND_SPEC_RULES = Special rules apply:
|
||||
RES_REND_INFO_SOURCE = Information Source:
|
||||
RES_REND_PROFILE = Profile
|
||||
RES_REND_SECURITY_LABEL = Security Label
|
||||
SEARCH_PAR_REND_RES = Resource
|
||||
SEARCH_PAR_REND_TARGET = Target Resources
|
||||
STRUC_DEF_REND_UNABLE_RES = Unable to resolve StructureDefinition {0} resolving content reference {1}
|
||||
STRUC_DEF_CANT_FIND = getElementByName: can't find {0} in {1} from {2}
|
||||
STRUC_DEF_ALL_SLICES = :All Slices
|
||||
STRUC_DEF_ELE_AFFECTED = This element has or is affected by constraints ( {0} {1}
|
||||
STRUC_DEF_STAND_STATUS = Standards Status =
|
||||
STRUC_DEF_BLACK = black
|
||||
STRUC_DEF_ABSTRACT = This is an abstract
|
||||
STRUC_DEF_CHILD = Child
|
||||
STRUC_DEF_SINGLE_JSON_OBJECTS = JSON: Represented as a single JSON Object with named properties using the value of the {0} child as the key
|
||||
STRUC_DEF_TYPE_SPEC = Type Specifier
|
||||
STRUC_DEF_CHOICE_DATA_TYPE = Choice of Data Types
|
||||
STRUC_DEF_FURTHER_INFO = for further information about how to use [x]
|
||||
STRUC_DEF_PRIM_TYPE_VALUE = This primitive type must have a value (the value must be present, and cannot be replaced by an extension)
|
||||
STRUC_DEF_PRIM_TYPE_PRESENT = This primitive type may be present, or absent if replaced by one of the following extensions:
|
||||
STRUC_DEF_PRIM_ELE = This primitive element may be present, or absent, or replaced by an extension
|
||||
VALUE_SET_CODE_SELEC = This value set cannot be fully expanded, but a selection ( {0} codes) of the whole set of codes is shown here.
|
||||
VALUE_SET_HAS = This value set has
|
||||
VALUE_SET_CONTAINS = This value set contains
|
||||
VALUE_SET_AT_LEAST = at least
|
||||
VALUE_SET_NUMBER_CONCEPTS = This value set expansion contains {0} concepts.
|
||||
VALUE_SET_VERSION = version
|
||||
VALUE_SET_NO_VERSION = (no version) (
|
||||
VALUE_SET_NO_VER = (no version)
|
||||
VALUE_SET_ALL_CODES_DEF = all codes defined in
|
||||
VALUE_SET_THESE_CODES_DEF = these codes as defined in
|
||||
VALUE_SET_CODES_FROM = codes from
|
||||
VALUE_SET_WHERE = where
|
||||
VALUE_SET_AND = and
|
||||
VALUE_SET_DOESNT_EXIST = doesn't exist
|
||||
VALUE_SET_SNOMED_ADD = SNOMED CT {0} edition {1}
|
||||
VALUE_SET_SNOMED = SNOMED CT {0} edition
|
||||
VALUE_SET_LOINCV = Loinc v
|
||||
CANON_REND_URL = Defining URL
|
||||
CANON_REND_VER = Version
|
||||
CANON_REND_NAME = Name
|
||||
CANON_REND_TITLE = Title
|
||||
CANON_REND_STATUS = Status
|
||||
CANON_REND_DEFINITION = Definition
|
||||
CANON_REND_PUBLISHER = Publisher
|
||||
CANON_REND_COMMITTEE = Committee
|
||||
CANON_REND_COPYRIGHT = Copyright
|
||||
CANON_REND_MATURITY = Maturity
|
||||
CANON_REND_SOURCE_RES = Source Resource
|
||||
CANON_REND_XML = XML
|
||||
CANON_REND_JSON = JSON
|
||||
CANON_REND_TURTLE = Turtle
|
||||
CODE_SYS_CONTENT = Content
|
||||
CODE_SYS_OID = OID
|
||||
CODE_SYS_VALUE_SET = Value Set
|
||||
CODE_SYS_COMPLETE = All the concepts defined by the code system are included in the code system resource
|
||||
CODE_SYS_NOTPRESENT = None of the concepts defined by the code system are included in the code system resource
|
||||
CODE_SYS_EXAMPLE = A few representative concepts are included in the code system resource
|
||||
CODE_SYS_FRAGMENT = A subset of the code system concepts are included in the code system resource
|
||||
CODE_SYS_SUPPLEMENT = This code system resource is a supplement to
|
||||
CODE_SYS_CODE_NOT_HERE = This CodeSystem is not used here; it may be used elsewhere (e.g. specifications and/or implementations that use this content)
|
||||
CODE_SYS_FOR_OID = for OID based terminology systems
|
||||
CODE_SYS_THE_VALUE_SET = is the value set for all codes in this code system
|
||||
STRUC_DEF_NO_SUMMARY = No Summary, as this profile has no differential
|
||||
STRUC_DEF_ELEMENT = element
|
||||
STRUC_DEF_STRUCTURES = Structures
|
||||
STRUC_DEF_EXTENSIONS = Extensions
|
||||
STRUC_DEF_SLIC = Slices
|
||||
STRUC_DEF_THIS_REFERS = This structure refers to these other structures
|
||||
STRUC_DEF_REFERS_EXT = This structure refers to these extensions
|
||||
STRUC_DEF_MATURITY = Maturity
|
||||
STRUC_DEF_MODIF = Modifier
|
||||
STRUC_DEF_SNOMED_CT = SNOMED CT
|
||||
STRUC_DEF_TERM_BIND = Terminology Bindings (Differential)
|
||||
STRUC_DEF_PATH = Path
|
||||
STRUC_DEF_TERM_BINDS = Terminology Bindings
|
||||
STRUC_DEF_URI = URI
|
||||
STRUC_DEF_MISSING_LINK = missing link
|
||||
STRUC_DEF_CONSTRAINTS = Constraints
|
||||
STRUC_DEF_GRADE = Grade
|
||||
STRUC_DEF_NO_MAPPINGS = No Mappings
|
||||
STRUC_DEF_ALL_MAP_KEY = All Mappings are Empty
|
||||
STRUC_DEF_PROFILE_BUILDS = This profile builds on
|
||||
STRUC_DEF_DERIVED_PROFILE = In this IG, the following structures are derived from this profile:
|
||||
STRUC_DEF_REFER_PROFILE = In this IG, the following structures refer to this profile:
|
||||
STRUC_DEF_MOD_ELEMENT = This element is a modifier element
|
||||
STRUC_DEF_ELE_MUST_SUPP = This element must be supported
|
||||
STRUC_DEF_ELE_INCLUDED = This element is included in summaries
|
||||
STRUC_DEF_AFFECT_CONSTRAINTS = "This element has or is affected by constraints (
|
||||
STRUC_DEF_CONFORMANCE = Conformance
|
||||
STRUC_DEF_VALUESET_CODE = ValueSet / Code
|
||||
STRUC_DEF_VALUESET = ValueSet
|
||||
STRUC_DEF_ID = Id
|
||||
STRUC_DEF_PATHS = Path(s)
|
||||
STRUC_DEF_DETAILS = Details
|
||||
VALUE_SET_OID = OID
|
||||
VALUE_SET_OID_TERM_SYS = for OID based terminology systems
|
||||
VALUE_SET_INCLUDED_INTO = Included into
|
||||
VALUE_SET_EXCLUDED_FROM = Excluded from
|
||||
VALUE_SET_USED_ELSEWHERE = This value set is not used here; it may be used elsewhere (e.g. specifications and/or implementations that use this content)
|
||||
TEXT_ICON_REFERENCE = Reference to another Resource
|
||||
TEXT_ICON_PRIMITIVE = Primitive Data Type
|
||||
TEXT_ICON_KEY = JSON Key Value
|
||||
TEXT_ICON_DATATYPE = Data Type
|
||||
TEXT_ICON_RESOURCE = Resource
|
||||
TEXT_ICON_ELEMENT = Element
|
||||
TEXT_ICON_OBJECT_BOX = Object
|
||||
TEXT_ICON_REUSE = Reference to another Element
|
||||
TEXT_ICON_EXTENSION = Extension
|
||||
TEXT_ICON_CHOICE = Choice of Types
|
||||
TEXT_ICON_SLICE = Slice Definition
|
||||
TEXT_ICON_SLICE_ITEM = Slice Item
|
||||
TEXT_ICON_FIXED = Fixed Value
|
||||
TEXT_ICON_EXTENSION_SIMPLE = Simple Extension
|
||||
TEXT_ICON_PROFILE = Profile
|
||||
TEXT_ICON_EXTENSION_COMPLEX = Complex Extension
|
||||
MAP_DEFAULT_COMMENT = This element was not defined prior to R5
|
||||
VS_ABSTRACT_CODE_HINT = This code is not selectable ('Abstract')
|
||||
TERM_REND_COPY = Copy {0} Format to clipboard
|
||||
TEST_PLAN_CASE = Test Case
|
||||
TEST_PLAN_CASE_SEQ = Test Case - Sequence {0}
|
||||
|
|
Loading…
Reference in New Issue