i18n for rendering phrases (step 1) #1592

This commit is contained in:
Grahame Grieve 2024-04-25 22:01:04 +10:00
parent a28ba7ee2e
commit 316161e3a7
33 changed files with 2553 additions and 1032 deletions

View File

@ -33,13 +33,13 @@ public class ActorDefinitionRenderer extends ResourceRenderer {
public boolean render(XhtmlNode x, ActorDefinition acd) throws FHIRFormatError, DefinitionException, IOException {
XhtmlNode tbl = x.table("grid");
XhtmlNode tr = tbl.tr();
tr.td().b().tx(/*!#*/"Actor: "+acd.getName());
tr.td().b().tx(context.formatMessage(RenderingContext.ACTOR_DEF_ACT, acd.getName()) + " ");
tr.td().tx(acd.getTitle());
tr.td().tx(/*!#*/"Type: " + acd.getType().toCode());
tr.td().tx(context.formatMessage(RenderingContext.ACTOR_DEF_TYP, acd.getType().toCode()) + " ");
XhtmlNode td = tbl.tr().td().colspan("3");
addMarkdown(td, acd.getDocumentation());
if (acd.hasReference()) {
tbl.tr().td().tx(/*!#*/"References:");
tbl.tr().td().tx(context.formatMessage(RenderingContext.ACTOR_DEF_REF));
td = tr.td().colspan("2");
boolean first = true;
for (UrlType t : acd.getReference()) {
@ -48,7 +48,7 @@ public class ActorDefinitionRenderer extends ResourceRenderer {
}
}
if (acd.hasCapabilities()) {
tbl.tr().td().tx(/*!#*/"Capabilities:");
tbl.tr().td().tx(context.formatMessage(RenderingContext.ACTOR_DEF_CAP));
td = tr.td().colspan("2");
CapabilityStatement cs = context.getWorker().fetchResource(CapabilityStatement.class, acd.getCapabilities(), acd);
if (cs != null) {
@ -58,7 +58,7 @@ public class ActorDefinitionRenderer extends ResourceRenderer {
}
}
if (acd.hasDerivedFrom()) {
tbl.tr().td().tx(/*!#*/"Derived from:");
tbl.tr().td().tx(context.formatMessage(RenderingContext.ACTOR_DEF_DER));
td = tr.td().colspan("2");
boolean first = true;
for (UrlType t : acd.getReference()) {

View File

@ -231,16 +231,16 @@ public class AdditionalBindingsRenderer {
XhtmlNode tr = new XhtmlNode(NodeType.Element, "tr");
children.add(tr);
tr.td().style("font-size: 11px").b().tx(/*!#*/"Additional Bindings");
tr.td().style("font-size: 11px").tx(/*!#*/"Purpose");
tr.td().style("font-size: 11px").b().tx(context.formatMessage(RenderingContext.ADD_BIND_ADD_BIND));
tr.td().style("font-size: 11px").tx(context.formatMessage(RenderingContext.ADD_BIND_PUR));
if (usage) {
tr.td().style("font-size: 11px").tx(/*!#*/"Usage");
tr.td().style("font-size: 11px").tx(context.formatMessage(RenderingContext.ADD_BIND_USE));
}
if (any) {
tr.td().style("font-size: 11px").tx(/*!#*/"Any");
tr.td().style("font-size: 11px").tx(context.formatMessage(RenderingContext.ADD_BIND_ANY));
}
if (doco) {
tr.td().style("font-size: 11px").tx(/*!#*/"Documentation");
tr.td().style("font-size: 11px").tx(context.formatMessage(RenderingContext.ADD_BIND_DOC));
}
for (AdditionalBindingDetail binding : bindings) {
tr = new XhtmlNode(NodeType.Element, "tr");
@ -338,54 +338,54 @@ public class AdditionalBindingsRenderer {
boolean r5 = context == null || context.getWorker() == null ? false : VersionUtilities.isR5Plus(context.getWorker().getVersion());
switch (purpose) {
case "maximum":
td.ah(r5 ? corePath+"valueset-additional-binding-purpose.html#additional-binding-purpose-maximum" : corePath+"extension-elementdefinition-maxvalueset.html", /*!#*/"A required binding, for use when the binding strength is 'extensible' or 'preferred'").tx(/*!#*/"Max Binding");
td.ah(r5 ? corePath+"valueset-additional-binding-purpose.html#additional-binding-purpose-maximum" : corePath+"extension-elementdefinition-maxvalueset.html", context.formatMessage(RenderingContext.ADD_BIND_EXT_PREF)).tx(context.formatMessage(RenderingContext.ADD_BIND_MAX));
break;
case "minimum":
td.ah(r5 ? corePath+"valueset-additional-binding-purpose.html#additional-binding-purpose-minimum" : corePath+"extension-elementdefinition-minvalueset.html", /*!#*/"The minimum allowable value set - any conformant system SHALL support all these codes").tx(/*!#*/"Min Binding");
td.ah(r5 ? corePath+"valueset-additional-binding-purpose.html#additional-binding-purpose-minimum" : corePath+"extension-elementdefinition-minvalueset.html", context.formatMessage(RenderingContext.ADD_BIND_MIN_ALLOW)).tx(context.formatMessage(RenderingContext.ADD_BIND_MIN));
break;
case "required" :
td.ah(r5 ? corePath+"valueset-additional-binding-purpose.html#additional-binding-purpose-required" : corePath+"terminologies.html#strength", /*!#*/"Validators will check this binding (strength = required)").tx(/*!#*/"Required Binding");
td.ah(r5 ? corePath+"valueset-additional-binding-purpose.html#additional-binding-purpose-required" : corePath+"terminologies.html#strength", context.formatMessage(RenderingContext.ADD_BIND_VALID_REQ)).tx(context.formatMessage(RenderingContext.ADD_BIND_REQ_BIND));
break;
case "extensible" :
td.ah(r5 ? corePath+"valueset-additional-binding-purpose.html#additional-binding-purpose-extensible" : corePath+"terminologies.html#strength", /*!#*/"Validators will check this binding (strength = extensible)").tx(/*!#*/"Extensible Binding");
td.ah(r5 ? corePath+"valueset-additional-binding-purpose.html#additional-binding-purpose-extensible" : corePath+"terminologies.html#strength", context.formatMessage(RenderingContext.ADD_BIND_VALID_EXT)).tx(context.formatMessage(RenderingContext.ADD_BIND_EX_BIND));
break;
case "current" :
if (r5) {
td.ah(r5 ? corePath+"valueset-additional-binding-purpose.html#additional-binding-purpose-current" : corePath+"terminologies.html#strength", /*!#*/"New records are required to use this value set, but legacy records may use other codes").tx(/*!#*/"Current Binding");
td.ah(r5 ? corePath+"valueset-additional-binding-purpose.html#additional-binding-purpose-current" : corePath+"terminologies.html#strength", context.formatMessage(RenderingContext.ADD_BIND_NEW_REC)).tx(context.formatMessage(RenderingContext.ADD_BIND_CURR_BIND));
} else {
td.span(null, /*!#*/"New records are required to use this value set, but legacy records may use other codes").tx(/*!#*/"Current");
td.span(null, context.formatMessage(RenderingContext.ADD_BIND_NEW_REC)).tx(context.formatMessage(RenderingContext.ADD_BIND_REQUIRED));
}
break;
case "preferred" :
if (r5) {
td.ah(r5 ? corePath+"valueset-additional-binding-purpose.html#additional-binding-purpose-preferred" : corePath+"terminologies.html#strength", /*!#*/"This is the value set that is recommended (documentation should explain why)").tx(/*!#*/"Preferred Binding");
td.ah(r5 ? corePath+"valueset-additional-binding-purpose.html#additional-binding-purpose-preferred" : corePath+"terminologies.html#strength", context.formatMessage(RenderingContext.ADD_BIND_RECOM_VALUE_SET)).tx(context.formatMessage(RenderingContext.ADD_BIND_PREF_BIND));
} else {
td.span(null, /*!#*/"This is the value set that is recommended (documentation should explain why)").tx(/*!#*/"Recommended");
td.span(null, context.formatMessage(RenderingContext.ADD_BIND_RECOM_VALUE_SET)).tx(context.formatMessage(RenderingContext.ADD_BIND_RECOMMENDED));
}
break;
case "ui" :
if (r5) {
td.ah(r5 ? corePath+"valueset-additional-binding-purpose.html#additional-binding-purpose-ui" : corePath+"terminologies.html#strength", /*!#*/"This value set is provided to user look up in a given context").tx(/*!#*/"UI Binding");
td.ah(r5 ? corePath+"valueset-additional-binding-purpose.html#additional-binding-purpose-ui" : corePath+"terminologies.html#strength", context.formatMessage(RenderingContext.ADD_BIND_GIVEN_CONT)).tx(context.formatMessage(RenderingContext.ADD_BIND_UI_BIND));
} else {
td.span(null, /*!#*/"This value set is provided to user look up in a given context").tx(/*!#*/"UI");
td.span(null, context.formatMessage(RenderingContext.ADD_BIND_GIVEN_CONT)).tx(context.formatMessage(RenderingContext.ADD_BIND_UI));
}
break;
case "starter" :
if (r5) {
td.ah(r5 ? corePath+"valueset-additional-binding-purpose.html#additional-binding-purpose-starter" : corePath+"terminologies.html#strength", "This value set is a good set of codes to start with when designing your system").tx("Starter Set");
} else {
td.span(null, /*!#*/"This value set is a good set of codes to start with when designing your system").tx(/*!#*/"Starter");
td.span(null, context.formatMessage(RenderingContext.ADD_BIND_DESIG_SYS)).tx(context.formatMessage(RenderingContext.ADD_BIND_STARTER));
}
break;
case "component" :
if (r5) {
td.ah(r5 ? corePath+"valueset-additional-binding-purpose.html#additional-binding-purpose-component" : corePath+"terminologies.html#strength", "This value set is a component of the base value set").tx("Component");
} else {
td.span(null, /*!#*/"This value set is a component of the base value set").tx(/*!#*/"Component");
td.span(null, context.formatMessage(RenderingContext.ADD_BIND_VALUE_COMP)).tx(context.formatMessage(RenderingContext.ADD_BIND_COMPONENT));
}
break;
default:
td.span(null, /*!#*/"Unknown code for purpose").tx(purpose);
td.span(null, context.formatMessage(RenderingContext.ADD_BIND_UNKNOWN_PUR)).tx(purpose);
}
}
@ -430,7 +430,7 @@ public class AdditionalBindingsRenderer {
children.tx(" (");
boolean ffirst = !b.getAny();
if (b.getAny()) {
children.tx(/*!#*/"any repeat");
children.tx(context.formatMessage(RenderingContext.ADD_BIND_ANY_REP));
}
for (UsageContext uc : b.getUsage()) {
if (ffirst) ffirst = false; else children.tx(",");

View File

@ -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");
}
}

View File

@ -68,7 +68,7 @@ public class BundleRenderer extends ResourceRenderer {
List<BaseWrapper> entries = b.children("entry");
if ("document".equals(b.get("type").primitiveValue())) {
if (entries.isEmpty() || (entries.get(0).has("resource") && !"Composition".equals(entries.get(0).get("resource").fhirType())))
throw new FHIRException(/*!#*/"Invalid document '"+b.getId()+"' - first entry is not a Composition ('"+entries.get(0).get("resource").fhirType()+"')");
throw new FHIRException(context.formatMessage(RenderingContext.BUND_REND_INVALID_DOC, b.getId(), entries.get(0).get("resource").fhirType()+"')"));
return renderDocument(x, b, entries);
} else if ("collection".equals(b.get("type").primitiveValue()) && allEntriesAreHistoryProvenance(entries)) {
// nothing
@ -114,7 +114,7 @@ public class BundleRenderer extends ResourceRenderer {
xn = rr.render(rw);
} catch (Exception e) {
xn = new XhtmlNode();
xn.para().b().tx(/*!#*/"Exception generating narrative: "+e.getMessage());
xn.para().b().tx(context.formatMessage(RenderingContext.BUNDLE_REV_EXCP, e.getMessage()) + " ");
}
}
root.blockquote().para().addChildren(xn);
@ -288,7 +288,7 @@ public class BundleRenderer extends ResourceRenderer {
XhtmlNode x = new XhtmlNode(NodeType.Element, "div");
if (b.getType() == BundleType.DOCUMENT) {
if (!b.hasEntry() || !(b.getEntryFirstRep().hasResource() && b.getEntryFirstRep().getResource() instanceof Composition)) {
throw new FHIRException(/*!#*/"Invalid document - first entry is not a Composition");
throw new FHIRException(context.formatMessage(RenderingContext.BUNDLE_REV_INV_DOC));
}
renderDocument(x, b);
start = 1;
@ -352,7 +352,7 @@ public class BundleRenderer extends ResourceRenderer {
rr.setRcontext(new ResourceContext(rcontext, be.getResource()));
xn = rr.build(be.getResource());
} catch (Exception e) {
xn = makeExceptionXhtml(e, /*!#*/"generating narrative");
xn = makeExceptionXhtml(e, context.formatMessage(RenderingContext.BUND_REND_GEN_NARR));
}
}
x.blockquote().para().getChildNodes().addAll(checkInternalLinks(b, xn.getChildNodes()));

View File

@ -289,18 +289,17 @@ public class CapabilityStatementRenderer extends ResourceRenderer {
x.h(2,"title").addText(conf.getTitle());
XhtmlNode uList = x.ul();
uList.li().addText(/*!#*/"Implementation Guide Version: " + igVersion);
uList.li().addText(/*!#*/"FHIR Version: " + currentVersion.toCode());
uList.li().addText(context.formatMessage(RenderingContext.CAPABILITY_IMP_VER, igVersion) + " ");
uList.li().addText(context.formatMessage(RenderingContext.CAPABILITY_FHIR_VER, currentVersion.toCode()) + " ");
addSupportedFormats(uList, conf);
uList.li().addText(/*!#*/"Published on: " + displayDateTime(conf.getDateElement()));
uList.li().addText(/*!#*/"Published by: " + conf.getPublisherElement().asStringValue());
uList.li().addText(context.formatMessage(RenderingContext.CAPABILITY_PUB_ON, displayDateTime(conf.getDateElement()) + " "));
uList.li().addText(context.formatMessage(RenderingContext.CAPABILITY_PUB_BY, conf.getPublisherElement().asStringValue()) + " ");
XhtmlNode block = x.addTag("blockquote").attribute("class","impl-note");
block.addTag("p").addTag("strong").addText(/*!#*/"Note to Implementers: FHIR Capabilities");
block.addTag("p").addText(/*!#*/"Any FHIR capability may be 'allowed' by the system unless explicitly marked as \"SHALL NOT\". A few items are marked as MAY in the Implementation Guide to highlight their potential relevance to the use case.");
block.addTag("p").addTag("strong").addText(context.formatMessage(RenderingContext.CAPABILITY_NOTE_CAP));
block.addTag("p").addText(context.formatMessage(RenderingContext.CAPABILTY_ALLOW_CAP));
addSupportedCSs(x, conf);
@ -309,11 +308,11 @@ public class CapabilityStatementRenderer extends ResourceRenderer {
int restNum = conf.getRest().size();
int nextLevel = 3;
if (restNum > 0) {
x.h(2,"rest").addText(/*!#*/"FHIR RESTful Capabilities");
x.h(2,"rest").addText((context.formatMessage(RenderingContext.CAPABILITY_REST_CAPS)));
int count=1;
for (CapabilityStatementRestComponent rest : conf.getRest()) {
if (restNum > 1) {
x.h(3,"rest"+Integer.toString(count)).addText(/*!#*/"REST Configuration " + Integer.toString(count));
x.h(3,"rest"+Integer.toString(count)).addText(context.formatMessage(RenderingContext.CAPABILITY_REST_CONFIG, Integer.toString(count)) + " ");
nextLevel = 4;
}
addRestConfigPanel(x, rest, nextLevel, count);
@ -331,8 +330,8 @@ public class CapabilityStatementRenderer extends ResourceRenderer {
hasUpdates = hasUpdates || hasOp(r, TypeRestfulInteraction.HISTORYINSTANCE);
}
if (rest.getResource().size() >0) {
x.h(nextLevel,"resourcesCap" + Integer.toString(count)).addText(/*!#*/"Capabilities by Resource/Profile");
x.h(nextLevel+1,"resourcesSummary" + Integer.toString(count)).addText(/*!#*/"Summary");
x.h(nextLevel,"resourcesCap" + Integer.toString(count)).addText(context.formatMessage(RenderingContext.CAPABILITY_RES_PRO));
x.h(nextLevel+1,"resourcesSummary" + Integer.toString(count)).addText(context.formatMessage(RenderingContext.CAPABILITY_SUMM));
addSummaryIntro(x);
addSummaryTable(x, rest, hasVRead, hasPatch, hasDelete, hasHistory, hasUpdates, count);
x.addTag("hr");
@ -474,7 +473,7 @@ public class CapabilityStatementRenderer extends ResourceRenderer {
}
XhtmlNode ul = null;
if (igShalls.size() > 0) {
x.h(3,"shallIGs").addText(/*!#*/"SHALL Support the Following Implementation Guides");
x.h(3,"shallIGs").addText(context.formatMessage(RenderingContext.CAPABILTY_SHALL_SUPP));
ul = x.ul();
for (String url : igShalls) {
addResourceLink(ul.li(), url, url);
@ -482,7 +481,7 @@ public class CapabilityStatementRenderer extends ResourceRenderer {
}
}
if (igShoulds.size() > 0) {
x.h(3,"shouldIGs").addText(/*!#*/"SHOULD Support the Following Implementation Guides");
x.h(3,"shouldIGs").addText(context.formatMessage(RenderingContext.CAPABILITY_SHOULD_SUPP));
ul = x.ul();
for (String url : igShoulds) {
addResourceLink(ul.li(), url, url);
@ -490,7 +489,7 @@ public class CapabilityStatementRenderer extends ResourceRenderer {
}
}
if (igMays.size() > 0) {
x.h(3,"shouldIGs").addText(/*!#*/"SHOULD Support the Following Implementation Guides");
x.h(3,"shouldIGs").addText(context.formatMessage(RenderingContext.CAPABILITY_SHOULD_SUPP));
ul = x.ul();
for (String url : igMays) {
addResourceLink(ul.li(), url, url);
@ -503,7 +502,7 @@ public class CapabilityStatementRenderer extends ResourceRenderer {
private void addSupportedFormats(XhtmlNode uList, CapabilityStatement conf) {
XhtmlNode lItem = uList.li();
lItem.addText(/*!#*/"Supported Formats: ");
lItem.addText(context.formatMessage(RenderingContext.CAPABILITY_SUPP_FORM) + " ");
Boolean first = true;
String capExpectation = null;
for (CodeType c : conf.getFormat()) {
@ -513,13 +512,13 @@ public class CapabilityStatementRenderer extends ResourceRenderer {
capExpectation = getExtValueCode(c.getExtensionByUrl(EXPECTATION));
if (!Utilities.noString(capExpectation)) {
lItem.addTag("strong").addText(capExpectation);
lItem.addText(" "+/*!#*/"support ");
lItem.addText(" "+ (context.formatMessage(RenderingContext.CAPABILITY_SUPP) + " "));
}
lItem.code().addText(c.getCode());
first = false;
}
lItem = uList.li();
lItem.addText(/*!#*/"Supported Patch Formats: ");
lItem.addText(context.formatMessage(RenderingContext.CAPABILITY_SUPP_PATCH_FORM) + " ");
first=true;
for (CodeType c : conf.getPatchFormat()) {
if (!first) {
@ -528,7 +527,7 @@ public class CapabilityStatementRenderer extends ResourceRenderer {
capExpectation = getExtValueCode(c.getExtensionByUrl(EXPECTATION));
if (!Utilities.noString(capExpectation)) {
lItem.addTag("strong").addText(capExpectation);
lItem.addText(/*!#*/" support ");
lItem.addText(context.formatMessage(RenderingContext.CAPABILITY_SUPP) + " ");
}
lItem.code().addText(c.getCode());
first = false;
@ -565,16 +564,16 @@ public class CapabilityStatementRenderer extends ResourceRenderer {
addMarkdown(body.blockquote(),mdText);
}
}
body.div().attribute("class","lead").addTag("em").addText(/*!#*/"Summary of System-wide Interactions");
body.div().attribute("class","lead").addTag("em").addText(context.formatMessage(RenderingContext.CAPABILITY_SUMM_SYS_INT));
addSystemInteractions(body, rest.getInteraction());
}
private String getCorsText(boolean on) {
if (on) {
return /*!#*/"Enable CORS: yes";
return context.formatMessage(RenderingContext.CAPABILITY_CORS_YES);
}
return /*!#*/"Enable CORS: no";
return context.formatMessage(RenderingContext.CAPABILITY_CORS_NO);
}
private List<String> getSecServices(List<CodeableConcept> services)
@ -645,20 +644,20 @@ public class CapabilityStatementRenderer extends ResourceRenderer {
for (Map<String,String> interactionMap : interactions) {
item = uList.li();
if (Utilities.noString(verb)) {
item.addText(/*!#*/"Supports the ");
item.addText(context.formatMessage(RenderingContext.CAPABILITY_SUPP_THE) + " ");
}
else {
item.addTag("strong").addText(verb);
item.addText(/*!#*/" support the ");
item.addText(context.formatMessage(RenderingContext.CAPABILITY_SUPP_THE) + " ");
}
interaction = interactionMap.keySet().toArray()[0].toString();
item.code(interaction);
documentation = interactionMap.get(interaction);
if (Utilities.noString(documentation)) {
item.addText(/*!#*/" interaction.");
item.addText(context.formatMessage(RenderingContext.CAPABILITY_INT));
}
else {
item.addText(/*!#*/" interaction described as follows:");
item.addText(context.formatMessage(RenderingContext.CAPABILITY_INT_DESC));
try {
addMarkdown(item, documentation);
} catch (FHIRFormatError e) {
@ -679,11 +678,11 @@ public class CapabilityStatementRenderer extends ResourceRenderer {
if (interactions.size() == 0) return;
XhtmlNode item = uList.li();
if (Utilities.noString(verb)) {
item.addText(/*!#*/"Supports ");
item.addText(context.formatMessage(RenderingContext.CAPABILITY_SUPPS) + " ");
}
else {
item.addTag("strong").addText(verb);
item.addText(/*!#*/" support ");
item.addText(context.formatMessage(RenderingContext.CAPABILITY_SUPP) + " ");
}
addSeparatedListOfCodes(item, interactions, ",");
item.addText(".");
@ -692,11 +691,11 @@ public class CapabilityStatementRenderer extends ResourceRenderer {
private void addSummaryIntro(XhtmlNode x) {
XhtmlNode uList = null;
XhtmlNode lItem = null;
x.para().addText(/*!#*/"The summary table lists the resources that are part of this configuration, and for each resource it lists:");
x.para().addText(context.formatMessage(RenderingContext.CAPABILITY_SUMM_RES));
uList=x.ul();
uList.li().addText(/*!#*/"The relevant profiles (if any)");
uList.li().addText(context.formatMessage(RenderingContext.CAPABILITY_REV_PROF));
lItem = uList.li();
lItem.addText(/*!#*/"The interactions supported by each resource (");
lItem.addText(context.formatMessage(RenderingContext.CAPABILITY_INTER_SUPP));
lItem.b().addTag("span").attribute("class","bg-info").addText("R");
lItem.addText("ead, ");
lItem.b().addTag("span").attribute("class","bg-info").addText("S");
@ -718,40 +717,40 @@ public class CapabilityStatementRenderer extends ResourceRenderer {
lItem.b().addTag("span").attribute("class","bg-info").addText("H");
lItem.addText("istory on ");
lItem.b().addTag("span").attribute("class","bg-info").addText("T");
lItem.addText(/*!#*/"ype are only present if at least one of the resources has support for them.");
uList.li().addTag("span").addText(/*!#*/"The required, recommended, and some optional search parameters (if any). ");
lItem.addText(context.formatMessage(RenderingContext.CAPABILITY_TYP_PRES));
uList.li().addTag("span").addText(context.formatMessage(RenderingContext.CAPABILITY_SEARCH_PAR) + " ");
lItem = uList.li();
lItem.addText(/*!#*/"The linked resources enabled for ");
lItem.addText(context.formatMessage(RenderingContext.CAPABILITY_RES_ENB) + " ");
lItem.code().addText("_include");
lItem = uList.li();
lItem.addText(/*!#*/"The other resources enabled for ");
lItem.addText(context.formatMessage(RenderingContext.CAPABILITY_OTH_RES_ENB) + " ");
lItem.code().addText("_revinclude");
uList.li().addText(/*!#*/"The operations on the resource (if any)");
uList.li().addText(context.formatMessage(RenderingContext.CAPABILITY_RES_OPER));
}
private void addSummaryTable(XhtmlNode x, CapabilityStatement.CapabilityStatementRestComponent rest, boolean hasVRead, boolean hasPatch, boolean hasDelete, boolean hasHistory, boolean hasUpdates, int count) throws IOException {
XhtmlNode t = x.div().attribute("class","table-responsive").table("table table-condensed table-hover");
XhtmlNode tr = t.addTag("thead").tr();
tr.th().b().tx(/*!#*/"Resource Type");
tr.th().b().tx(/*!#*/"Profile");
tr.th().attribute("class", "text-center").b().attribute("title", /*!#*/"GET a resource (read interaction)").tx("R");
tr.th().b().tx(context.formatMessage(RenderingContext.CAPABILITY_RES_TYP));
tr.th().b().tx(context.formatMessage(RenderingContext.CAPABILITY_PROF));
tr.th().attribute("class", "text-center").b().attribute("title", context.formatMessage(RenderingContext.CAPABILITY_READ_INT)).tx("R");
if (hasVRead)
tr.th().attribute("class", "text-center").b().attribute("title", /*!#*/"GET past versions of resources (vread interaction)").tx("V-R");
tr.th().attribute("class", "text-center").b().attribute("title", /*!#*/"GET all set of resources of the type (search interaction)").tx("S");
tr.th().attribute("class", "text-center").b().attribute("title", /*!#*/"PUT a new resource version (update interaction)").tx("U");
tr.th().attribute("class", "text-center").b().attribute("title", context.formatMessage(RenderingContext.CAPABILITY_VREAD_INT)).tx("V-R");
tr.th().attribute("class", "text-center").b().attribute("title", context.formatMessage(RenderingContext.CAPABILITY_SEARCH_INT)).tx("S");
tr.th().attribute("class", "text-center").b().attribute("title", context.formatMessage(RenderingContext.CAPABILITY_UPDATE_INT)).tx("U");
if (hasPatch)
tr.th().attribute("class", "text-center").b().attribute("title", /*!#*/"PATCH a new resource version (patch interaction)").tx("P");
tr.th().attribute("class", "text-center").b().attribute("title", /*!#*/"POST a new resource (create interaction)").tx("C");
tr.th().attribute("class", "text-center").b().attribute("title", context.formatMessage(RenderingContext.CAPABILITY_PATCH_INT)).tx("P");
tr.th().attribute("class", "text-center").b().attribute("title", context.formatMessage(RenderingContext.CAPABILITY_CREATE_INT)).tx("C");
if (hasDelete)
tr.th().attribute("class", "text-center").b().attribute("title", /*!#*/"DELETE a resource (delete interaction)").tx("D");
tr.th().attribute("class", "text-center").b().attribute("title", context.formatMessage(RenderingContext.CAPABILITY_DELETE_INT)).tx("D");
if (hasUpdates)
tr.th().attribute("class", "text-center").b().attribute("title", /*!#*/"GET changes to a resource (history interaction on instance)").tx("H-I");
tr.th().attribute("class", "text-center").b().attribute("title", context.formatMessage(RenderingContext.CAPABILITY_HISTORY_INT)).tx("H-I");
if (hasHistory)
tr.th().attribute("class", "text-center").b().attribute("title", /*!#*/"GET changes for all resources of the type (history interaction on type)").tx("H-T");
tr.th().b().attribute("title", /*!#*/"Required and recommended search parameters").tx(/*!#*/"Searches");
tr.th().attribute("class", "text-center").b().attribute("title", context.formatMessage(RenderingContext.CAPABILITY_HISTORY_TYPE)).tx("H-T");
tr.th().b().attribute("title", context.formatMessage(RenderingContext.CAPABILITY_REQ_RECOM)).tx(context.formatMessage(RenderingContext.CAPABILITY_SEARCHES));
tr.th().code().b().tx("_include");
tr.th().code().b().tx("_revinclude");
tr.th().b().tx(/*!#*/"Operations");
tr.th().b().tx(context.formatMessage(RenderingContext.CAPABILITY_OP));
XhtmlNode tbody = t.addTag("tbody");
XhtmlNode profCell = null;
@ -776,12 +775,12 @@ public class CapabilityStatementRenderer extends ResourceRenderer {
//profCell.ah(r.getProfile()).addText(r.getProfile());
if (hasSupProf) {
profCell.br();
profCell.addTag("em").addText(/*!#*/"Additional supported profiles:");
profCell.addTag("em").addText(context.formatMessage(RenderingContext.CAPABILITY_ADD_SUPP_PROF));
renderSupportedProfiles(profCell, r);
}
}
else { //Case of only supported profiles
profCell.addText(/*!#*/"Supported profiles:");
profCell.addText(context.formatMessage(RenderingContext.CAPABILITY_SUPP_PROFS));
renderSupportedProfiles(profCell, r);
}
//Show capabilities
@ -841,17 +840,17 @@ public class CapabilityStatementRenderer extends ResourceRenderer {
}
if (r.hasExtension(ToolingExtensions.EXT_PROFILE_MAPPING)) {
profCell.br();
profCell.b().tx(/*!#*/"Profile Mapping");
profCell.b().tx(context.formatMessage(RenderingContext.CAPABILITY_PROF_MAP));
XhtmlNode tbl = profCell.table("grid");
boolean doco = false;
for (Extension ext : r.getExtensionsByUrl(ToolingExtensions.EXT_PROFILE_MAPPING)) {
doco = doco || ext.hasExtension("documentation");
}
XhtmlNode tr = tbl.tr();
tr.th().tx(/*!#*/"Criteria");
tr.th().tx(/*!#*/"Profile");
tr.th().tx(context.formatMessage(RenderingContext.CAPABILITY_CRIT));
tr.th().tx(context.formatMessage(RenderingContext.CAPABILITY_PROF));
if (doco) {
tr.th().tx(/*!#*/"Criteria");
tr.th().tx(context.formatMessage(RenderingContext.CAPABILITY_CRIT));
}
for (Extension ext : r.getExtensionsByUrl(ToolingExtensions.EXT_PROFILE_MAPPING)) {
tr = tbl.tr();
@ -968,7 +967,7 @@ public class CapabilityStatementRenderer extends ResourceRenderer {
}
else {
panelHead = panel.div().attribute("class", "panel-heading").h(nextLevel,r.getType() + countString).attribute("class", "panel-title");
panelHead.span("float: right;","").addText(/*!#*/"Resource Conformance: " + getResourceExpectation(r));
panelHead.span("float: right;","").addText(context.formatMessage(RenderingContext.CAPABILITY_RES_CONF, getResourceExpectation(r)) + " ");
panelHead.addText(r.getType());
body = panel.div().attribute("class", "panel-body").div().attribute("class", "container");
}
@ -982,17 +981,17 @@ public class CapabilityStatementRenderer extends ResourceRenderer {
String refPolicyWidth = "col-lg-3";
if (!Utilities.noString(text)) {
cell = row.div().attribute("class", "col-lg-6");
addLead(cell,/*!#*/"Base System Profile");
addLead(cell,context.formatMessage(RenderingContext.CAPABILITY_BASE_SYS));
cell.br();
addResourceLink(cell, text, text);
cell=row.div().attribute("class", "col-lg-3");
addLead(cell, /*!#*/"Profile Conformance");
addLead(cell, context.formatMessage(RenderingContext.CAPABILITY_PROF_CONF));
cell.br();
cell.b().addText(getProfileExpectation(r.getProfileElement()));
}
else { //No profile, use FHIR Core Resource
cell = row.div().attribute("class", "col-lg-4");
addLead(cell,/*!#*/"Core FHIR Resource");
addLead(cell, context.formatMessage(RenderingContext.CAPABILITY_FHIR));
cell.br();
cell.ah(currentFhirBase + r.getType().toLowerCase() + ".html").addText(r.getType());
pullInteraction = true;
@ -1000,7 +999,7 @@ public class CapabilityStatementRenderer extends ResourceRenderer {
}
cell = row.div().attribute("class", refPolicyWidth);
addLead(cell,/*!#*/"Reference Policy");
addLead(cell,context.formatMessage(RenderingContext.CAPABILITY_REF_PROF));
cell.br();
addSeparatedListOfCodes(cell, getReferencePolicyStrings(r.getReferencePolicy()) , ",");
if (pullInteraction) {
@ -1011,7 +1010,7 @@ public class CapabilityStatementRenderer extends ResourceRenderer {
if (supportedProfiles.size() > 0) {
row = body.div().attribute("class", "row");
cell = row.div().attribute("class", "col-6");
addLead(cell,/*!#*/"Supported Profiles");
addLead(cell, context.formatMessage(RenderingContext.CAPABILITY_SUPP_PROF));
XhtmlNode para = cell.para();
boolean first = true;
for (CanonicalType c : supportedProfiles) {
@ -1036,7 +1035,7 @@ public class CapabilityStatementRenderer extends ResourceRenderer {
if (!Utilities.noString(mdText)) {
row = body.div().attribute("class", "row");
cell = row.div().attribute("class", "col-12");
addLead(cell,/*!#*/"Documentation");
addLead(cell, context.formatMessage(RenderingContext.CAPABILITY_DOC));
addMarkdown(cell.blockquote(), mdText);
}
@ -1060,12 +1059,12 @@ public class CapabilityStatementRenderer extends ResourceRenderer {
XhtmlNode tr;
row = body.div().attribute("class", "row");
cell = row.div().attribute("class", "col-12");
addLead(cell,/*!#*/"Extended Operations");
addLead(cell, context.formatMessage(RenderingContext.CAPABILITY_EXT_OP));
table = cell.table("table table-condensed table-hover");
tr = table.addTag("thead").tr();
tr.th().addText(/*!#*/"Conformance");
tr.th().addText(/*!#*/"Operation");
tr.th().addText(/*!#*/"Documentation");
tr.th().addText(context.formatMessage(RenderingContext.CAPABILITY_CONF));
tr.th().addText(context.formatMessage(RenderingContext.CAPABILITY_OPER));
tr.th().addText(context.formatMessage(RenderingContext.CAPABILITY_DOC));
tbody = table.addTag("tbody");
addOps(tbody, map, "supported");
addOps(tbody, map, "SHALL");
@ -1121,7 +1120,7 @@ public class CapabilityStatementRenderer extends ResourceRenderer {
}
}
XhtmlNode cell = row.div().attribute("class", widthString);
addLead(cell, /*!#*/"Interaction summary");
addLead(cell, context.formatMessage(RenderingContext.CAPABILITY_INT_SUMM));
cell.br();
XhtmlNode ul = cell.ul();
addInteractionSummaryList(ul, "SHALL", shalls);
@ -1186,13 +1185,13 @@ public class CapabilityStatementRenderer extends ResourceRenderer {
XhtmlNode tr;
row = body.div().attribute("class", "row");
cell = row.div().attribute("class", "col-lg-7");
addLead(cell,/*!#*/"Search Parameters");
addLead(cell, context.formatMessage(RenderingContext.CAPABILITY_SEARCH_PARS));
table = cell.table("table table-condensed table-hover");
tr = table.addTag("thead").tr();
tr.th().addText(/*!#*/"Conformance");
tr.th().addText(/*!#*/"Parameter");
tr.th().addText(/*!#*/"Type");
tr.th().addText(/*!#*/"Documentation");
tr.th().addText(context.formatMessage(RenderingContext.CAPABILITY_CONF));
tr.th().addText(context.formatMessage(RenderingContext.CAPABILITY_PAR));
tr.th().addText(context.formatMessage(RenderingContext.CAPABILITY_TYP));
tr.th().addText(context.formatMessage(RenderingContext.CAPABILITY_DOC));
tbody = table.addTag("tbody");
Map<String,List<SingleParam>> map = sParams.getIndbyExp();
addIndRows(tbody, map, "supported");
@ -1202,12 +1201,12 @@ public class CapabilityStatementRenderer extends ResourceRenderer {
addIndRows(tbody, map, "SHOULD-NOT");
cell = row.div().attribute("class", "col-lg-5");
if (!isCombinedEmpty(comboMap)) {
addLead(cell,/*!#*/"Combined Search Parameters");
addLead(cell, context.formatMessage(RenderingContext.CAPABILITY_COMB_SEARCH_PAR));
table = cell.table("table table-condensed table-hover");
tr = table.addTag("thead").tr();
tr.th().addText(/*!#*/"Conformance");
tr.th().addText(/*!#*/"Parameters");
tr.th().addText(/*!#*/"Types");
tr.th().addText(context.formatMessage(RenderingContext.CAPABILITY_CONF));
tr.th().addText(context.formatMessage(RenderingContext.CAPABILITY_PARS));
tr.th().addText(context.formatMessage(RenderingContext.CAPABILITY_TYPS));
tbody = table.addTag("tbody");
addComboRows(tbody, comboMap, "supported");
addComboRows(tbody, comboMap, "SHALL");

View File

@ -183,17 +183,17 @@ public class CodeSystemRenderer extends TerminologyRenderer {
boolean designations = CodeSystemUtilities.hasDesignations(cs);
String features;
if (properties && designations) {
features = /*!#*/"displays and properties";
features = (context.formatMessage(RenderingContext.CODE_SYS_DISP_PROP));
} else if (properties) {
features = /*!#*/"properties";
features = (context.formatMessage(RenderingContext.CODE_SYS_PROP));
} else if (designations) {
features = /*!#*/"displays";
features = (context.formatMessage(RenderingContext.CODE_SYS_DISP));
} else {
features = /*!#*/"features"; // ?
features = (context.formatMessage(RenderingContext.CODE_SYS_FEAT)); // ?
}
return formatMessage(RenderingContext.CODESYSTEM_CONTENT_SUPPLEMENT, features);
default:
throw new FHIRException(/*!#*/"Unknown CodeSystemContentMode mode");
throw new FHIRException(context.formatMessage(RenderingContext.CODE_SYS_UNKN_MODE));
}
}
@ -259,10 +259,10 @@ public class CodeSystemRenderer extends TerminologyRenderer {
}
if (langs.size() >= 2) {
Collections.sort(langs);
x.para().b().tx(/*!#*/"Additional Language Displays");
x.para().b().tx(context.formatMessage(RenderingContext.CODE_SYS_ADD_LANG));
t = x.table("codes");
XhtmlNode tr = t.tr();
tr.td().b().tx(/*!#*/"Code");
tr.td().b().tx(context.formatMessage(RenderingContext.CODE_SYS_CODE));
for (String lang : langs)
tr.td().b().addText(describeLang(lang));
for (ConceptDefinitionComponent c : cs.getConcept()) {
@ -275,11 +275,11 @@ public class CodeSystemRenderer extends TerminologyRenderer {
private void makeHierarchyParam(XhtmlNode x, CodeSystem cs, Enumeration<CodeSystemHierarchyMeaning> hm) {
if (hm.hasValue()) {
String s = hm.getValue().getDisplay();
renderStatus(hm, x).tx(" "+/*!#*/"in a "+s+" hierarchy");
renderStatus(hm, x).tx(" "+context.formatMessage(RenderingContext.CODE_SYS_IN_A_HIERARCHY, s));
} else if (VersionComparisonAnnotation.hasDeleted(cs, "hierarchyMeaning")) {
makeHierarchyParam(x, null, (Enumeration<CodeSystemHierarchyMeaning>) VersionComparisonAnnotation.getDeleted(cs, "hierarchyMeaning").get(0));
} else if (CodeSystemUtilities.hasHierarchy(cs)) {
x.tx(" "+/*!#*/"in an undefined hierarchy");
x.tx(" "+ (context.formatMessage(RenderingContext.CODE_SYS_UNDEF_HIER)));
} else {
x.tx("");
}
@ -310,7 +310,7 @@ public class CodeSystemRenderer extends TerminologyRenderer {
private void addCopyColumn(XhtmlNode tr) {
if (context.isCopyButton()) {
tr.td().b().tx(/*!#*/"Copy");
tr.td().b().tx(context.formatMessage(RenderingContext.CODE_SYS_COPY));
}
}

View File

@ -314,23 +314,23 @@ public class ConceptMapRenderer extends TerminologyRenderer {
}
XhtmlNode p = x.para();
p.tx(/*!#*/"Mapping from ");
p.tx(context.formatMessage(RenderingContext.CONC_MAP_FROM) + " ");
if (cm.hasSourceScope())
AddVsRef(cm.getSourceScope().primitiveValue(), p, cm);
else
p.tx(/*!#*/"(not specified)");
p.tx(" "+/*!#*/"to ");
p.tx(context.formatMessage(RenderingContext.CONC_MAP_NOT_SPEC));
p.tx(" "+ (context.formatMessage(RenderingContext.CONC_MAP_TO) + " "));
if (cm.hasTargetScope())
AddVsRef(cm.getTargetScope().primitiveValue(), p, cm);
else
p.tx(/*!#*/"(not specified)");
p.tx(context.formatMessage(RenderingContext.CONC_MAP_NOT_SPEC));
p = x.para();
if (cm.getExperimental())
p.addText(Utilities.capitalize(cm.getStatus().toString())+" "+/*!#*/"(not intended for production usage). ");
p.addText(Utilities.capitalize(cm.getStatus().toString())+" "+ (context.formatMessage(RenderingContext.CONC_MAP_NO_PROD_USE) + " "));
else
p.addText(Utilities.capitalize(cm.getStatus().toString())+". ");
p.tx(/*!#*/"Published on "+(cm.hasDate() ? display(cm.getDateElement()) : "?ngen-10?")+" by "+cm.getPublisher());
p.tx(context.formatMessage(RenderingContext.CONC_MAP_PUB_ON, (cm.hasDate() ? display(cm.getDateElement()) : "?ngen-10?")+" by "+cm.getPublisher()) + " ");
if (!cm.getContact().isEmpty()) {
p.tx(" (");
boolean firsti = true;
@ -400,18 +400,18 @@ public class ConceptMapRenderer extends TerminologyRenderer {
x.hr();
}
XhtmlNode pp = x.para();
pp.b().tx(/*!#*/"Group "+gc);
pp.tx(" "+/*!#*/"Mapping from ");
pp.b().tx(context.formatMessage(RenderingContext.CONC_MAP_GRP, gc) + " ");
pp.tx(context.formatMessage(RenderingContext.CONC_MAP_FROM) + " ");
if (grp.hasSource()) {
renderCanonical(cm, pp, grp.getSource());
} else {
pp.code(/*!#*/"unspecified code system");
pp.code(context.formatMessage(RenderingContext.CONC_MAP_CODE_SYS_UNSPEC));
}
pp.tx(" to ");
if (grp.hasTarget()) {
renderCanonical(cm, pp, grp.getTarget());
} else {
pp.code(/*!#*/"unspecified code system");
pp.code(context.formatMessage(RenderingContext.CONC_MAP_CODE_SYS_UNSPEC));
}
String display;
@ -419,11 +419,11 @@ public class ConceptMapRenderer extends TerminologyRenderer {
// simple
XhtmlNode tbl = x.table( "grid");
XhtmlNode tr = tbl.tr();
tr.td().b().tx(/*!#*/"Source Code");
tr.td().b().tx(/*!#*/"Relationship");
tr.td().b().tx(/*!#*/"Target Code");
tr.td().b().tx(context.formatMessage(RenderingContext.CONC_MAP_SOURCE));
tr.td().b().tx(context.formatMessage(RenderingContext.CONC_MAP_REL));
tr.td().b().tx(context.formatMessage(RenderingContext.CONC_MAP_TRGT));
if (comment)
tr.td().b().tx(/*!#*/"Comment");
tr.td().b().tx(context.formatMessage(RenderingContext.CONC_MAP_CMNT));
for (SourceElementComponent ccl : grp.getElement()) {
tr = tbl.tr();
XhtmlNode td = tr.td();
@ -470,21 +470,21 @@ public class ConceptMapRenderer extends TerminologyRenderer {
XhtmlNode tbl = x.table( "grid");
XhtmlNode tr = tbl.tr();
XhtmlNode td;
tr.td().colspan(Integer.toString(1+sources.size())).b().tx(/*!#*/"Source Concept Details");
tr.td().colspan(Integer.toString(1+sources.size())).b().tx(context.formatMessage(RenderingContext.CONC_MAP_SRC_DET));
if (hasRelationships) {
tr.td().b().tx(/*!#*/"Relationship");
tr.td().b().tx(context.formatMessage(RenderingContext.CONC_MAP_REL));
}
tr.td().colspan(Integer.toString(1+targets.size())).b().tx(/*!#*/"Target Concept Details");
tr.td().colspan(Integer.toString(1+targets.size())).b().tx(context.formatMessage(RenderingContext.CONC_MAP_TRGT_DET));
if (comment) {
tr.td().b().tx(/*!#*/"Comment");
tr.td().b().tx(context.formatMessage(RenderingContext.CONC_MAP_CMNT));
}
tr.td().colspan(Integer.toString(1+targets.size())).b().tx(/*!#*/"Properties");
tr.td().colspan(Integer.toString(1+targets.size())).b().tx(context.formatMessage(RenderingContext.CONC_MAP_PROP));
tr = tbl.tr();
if (sources.get("code").size() == 1) {
String url = sources.get("code").iterator().next();
renderCSDetailsLink(tr, url, true);
} else
tr.td().b().tx(/*!#*/"Code");
tr.td().b().tx(context.formatMessage(RenderingContext.CONC_MAP_CODE));
for (String s : sources.keySet()) {
if (s != null && !s.equals("code")) {
if (sources.get(s).size() == 1) {
@ -501,7 +501,7 @@ public class ConceptMapRenderer extends TerminologyRenderer {
String url = targets.get("code").iterator().next();
renderCSDetailsLink(tr, url, true);
} else
tr.td().b().tx(/*!#*/"Code");
tr.td().b().tx(context.formatMessage(RenderingContext.CONC_MAP_CODE));
for (String s : targets.keySet()) {
if (s != null && !s.equals("code")) {
if (targets.get(s).size() == 1) {
@ -698,8 +698,8 @@ public class ConceptMapRenderer extends TerminologyRenderer {
if (span2) {
td.colspan("2");
}
td.b().tx(/*!#*/"Codes");
td.tx(" "+/*!#*/"from ");
td.b().tx(context.formatMessage(RenderingContext.CONC_MAP_CODES));
td.tx(" " + (context.formatMessage(RenderingContext.CONC_MAP_FRM) + " "));
if (cs == null)
td.tx(url);
else

View File

@ -186,7 +186,7 @@ public class DataRenderer extends Renderer implements CodeResolver {
url = p.getUserString("filename");
}
} else {
throw new DefinitionException(/*!#*/"Unable to resolve markdown link "+link);
throw new DefinitionException(context.formatMessage(RenderingContext.DATA_REND_MKDWN_LNK, link) + " ");
}
text = left+"["+link+"]("+url+(path == null ? "" : "#"+path)+")"+right;
@ -271,38 +271,38 @@ public class DataRenderer extends Renderer implements CodeResolver {
public static String describeSystem(String system) {
if (system == null)
return /*!#*/"[not stated]";
return /*!#*/ "[not stated]";
if (system.equals("http://loinc.org"))
return /*!#*/"LOINC";
return /*!#*/ "LOINC";
if (system.startsWith("http://snomed.info"))
return /*!#*/"SNOMED CT";
return /*!#*/ "SNOWMED CT";
if (system.equals("http://www.nlm.nih.gov/research/umls/rxnorm"))
return /*!#*/"RxNorm";
return /*!#*/ "RxNorm";
if (system.equals("http://hl7.org/fhir/sid/icd-9"))
return /*!#*/"ICD-9";
return /*!#*/ "ICD-9";
if (system.equals("http://dicom.nema.org/resources/ontology/DCM"))
return /*!#*/"DICOM";
return /*!#*/ "DICOM";
if (system.equals("http://unitsofmeasure.org"))
return /*!#*/"UCUM";
return /*!#*/ "UCUM";
return system;
}
public String displaySystem(String system) {
if (system == null)
return /*!#*/"[not stated]";
return (context.formatMessage(RenderingContext.DATA_REND_NOT_STAT));
if (system.equals("http://loinc.org"))
return /*!#*/"LOINC";
return (context.formatMessage(RenderingContext.DATA_REND_LOINC));
if (system.startsWith("http://snomed.info"))
return /*!#*/"SNOMED CT";
return (context.formatMessage(RenderingContext.DATA_REND_SNOWMED));
if (system.equals("http://www.nlm.nih.gov/research/umls/rxnorm"))
return /*!#*/"RxNorm";
return (context.formatMessage(RenderingContext.DATA_REND_RXNORM));
if (system.equals("http://hl7.org/fhir/sid/icd-9"))
return /*!#*/"ICD-9";
return (context.formatMessage(RenderingContext.DATA_REND_ICD));
if (system.equals("http://dicom.nema.org/resources/ontology/DCM"))
return /*!#*/"DICOM";
return (context.formatMessage(RenderingContext.DATA_REND_DICOM));
if (system.equals("http://unitsofmeasure.org"))
return /*!#*/"UCUM";
return (context.formatMessage(RenderingContext.DATA_REND_UCUM));
CodeSystem cs = context.getContext().fetchCodeSystem(system);
if (cs != null) {
@ -326,7 +326,7 @@ public class DataRenderer extends Renderer implements CodeResolver {
if (system.contains("/")) {
return system.substring(system.lastIndexOf("/")+1);
} else {
return /*!#*/"unknown";
return (context.formatMessage(RenderingContext.DATA_REND_UNKNWN));
}
}
@ -488,7 +488,7 @@ public class DataRenderer extends Renderer implements CodeResolver {
} else {
// somehow have to do better than this
XhtmlNode li = ul.li();
li.b().tx(/*!#*/"WARNING: Unrenderable Modifier Extension!");
li.b().tx(context.formatMessage(RenderingContext.DATA_REND_UNRD_EX));
}
}
for (Extension ext : element.getExtension()) {
@ -538,7 +538,7 @@ public class DataRenderer extends Renderer implements CodeResolver {
render(div, ext.getValue());
} else {
// somehow have to do better than this
div.b().tx(/*!#*/"WARNING: Unrenderable Modifier Extension!");
div.b().tx(context.formatMessage(RenderingContext.DATA_REND_UNRD_EX));
}
}
for (Extension ext : element.getExtension()) {
@ -569,7 +569,7 @@ public class DataRenderer extends Renderer implements CodeResolver {
if (b instanceof DataType) {
return display((DataType) b);
} else {
return /*!#*/"No display for "+b.fhirType();
return (context.formatMessage(RenderingContext.DATA_REND_NO_DISP, b.fhirType()) + " ");
}
}
@ -607,7 +607,7 @@ public class DataRenderer extends Renderer implements CodeResolver {
} else if (type.isPrimitive()) {
return context.getTranslated((PrimitiveType<?>) type);
} else {
return /*!#*/"No display for "+type.fhirType();
return (context.formatMessage(RenderingContext.DATA_REND_NO_DISP, type.fhirType()) + " ");
}
}
@ -689,7 +689,7 @@ public class DataRenderer extends Renderer implements CodeResolver {
}
public String display(BaseWrapper type) {
return /*!#*/"to do";
return (context.formatMessage(RenderingContext.DATA_REND_TO_DO));
}
public void render(XhtmlNode x, BaseWrapper type) throws FHIRFormatError, DefinitionException, IOException {
@ -697,7 +697,7 @@ public class DataRenderer extends Renderer implements CodeResolver {
try {
base = type.getBase();
} catch (FHIRException | IOException e) {
x.tx(/*!#*/"Error: " + e.getMessage()); // this shouldn't happen - it's an error in the library itself
x.tx(context.formatMessage(RenderingContext.DATA_REND_ERROR, e.getMessage()) + " "); // this shouldn't happen - it's an error in the library itself
return;
}
if (base instanceof DataType) {
@ -711,7 +711,7 @@ public class DataRenderer extends Renderer implements CodeResolver {
if (b instanceof DataType) {
render(x, (DataType) b);
} else {
x.tx(/*!#*/"No display for "+b.fhirType());
x.tx(context.formatMessage(RenderingContext.DATA_REND_NO_DISP, b.fhirType()) + " ");
}
}
@ -767,7 +767,7 @@ public class DataRenderer extends Renderer implements CodeResolver {
} else if (type.isPrimitive()) {
x.tx(context.getTranslated((PrimitiveType<?>) type));
} else {
x.tx(/*!#*/"No display for "+type.fhirType());
x.tx(context.formatMessage(RenderingContext.DATA_REND_NO_DISP, type.fhirType()) + " ");
}
}
@ -869,7 +869,7 @@ public class DataRenderer extends Renderer implements CodeResolver {
}
if (a.hasAuthor()) {
b.append(/*!#*/"By ");
b.append(context.formatMessage(RenderingContext.DATA_REND_BY) + " ");
if (a.hasAuthorReference()) {
b.append(a.getAuthorReference().getReference());
} else if (a.hasAuthorStringType()) {
@ -1305,7 +1305,7 @@ public class DataRenderer extends Renderer implements CodeResolver {
x.nbsp();
x.tx("(");
if (ii.hasUse()) {
x.tx(/*!#*/"use:");
x.tx(context.formatMessage(RenderingContext.DATA_REND_USE));
x.nbsp();
x.tx(ii.getUse().toCode());
}
@ -1314,7 +1314,7 @@ public class DataRenderer extends Renderer implements CodeResolver {
x.nbsp();
}
if (ii.hasPeriod()) {
x.tx(/*!#*/"period:");
x.tx(context.formatMessage(RenderingContext.DATA_REND_PERIOD));
x.nbsp();
x.tx(displayPeriod(ii.getPeriod()));
}
@ -1463,7 +1463,7 @@ public class DataRenderer extends Renderer implements CodeResolver {
}
c.code().tx(expr.getExpression());
} else if (expr.hasReference()) {
p.ah(expr.getReference()).tx(/*!#*/"source");
p.ah(expr.getReference()).tx(context.formatMessage(RenderingContext.DATA_REND_SOURCE));
}
if (expr.hasName() || expr.hasDescription()) {
p.tx("(");
@ -1524,9 +1524,9 @@ public class DataRenderer extends Renderer implements CodeResolver {
protected void displayContactPoint(XhtmlNode p, ContactPoint c) {
if (c != null) {
if (c.getSystem() == ContactPointSystem.PHONE) {
p.tx(/*!#*/"Phone: "+c.getValue());
p.tx(context.formatMessage(RenderingContext.DATA_REND_PHONE, c.getValue()) + " ");
} else if (c.getSystem() == ContactPointSystem.FAX) {
p.tx(/*!#*/"Fax: "+c.getValue());
p.tx(context.formatMessage(RenderingContext.DATA_REND_FAX, c.getValue()) + " ");
} else if (c.getSystem() == ContactPointSystem.EMAIL) {
p.tx(c.getValue());
} else if (c.getSystem() == ContactPointSystem.URL) {
@ -1541,9 +1541,9 @@ public class DataRenderer extends Renderer implements CodeResolver {
protected void addTelecom(XhtmlNode p, ContactPoint c) {
if (c.getSystem() == ContactPointSystem.PHONE) {
p.tx(/*!#*/"Phone: "+c.getValue());
p.tx(context.formatMessage(RenderingContext.DATA_REND_PHONE, c.getValue()) + " ");
} else if (c.getSystem() == ContactPointSystem.FAX) {
p.tx(/*!#*/"Fax: "+c.getValue());
p.tx(context.formatMessage(RenderingContext.DATA_REND_FAX, c.getValue()) + " ");
} else if (c.getSystem() == ContactPointSystem.EMAIL) {
p.ah("mailto:"+c.getValue()).addText(c.getValue());
} else if (c.getSystem() == ContactPointSystem.URL) {
@ -1658,31 +1658,31 @@ public class DataRenderer extends Renderer implements CodeResolver {
public void renderTriggerDefinition(XhtmlNode x, TriggerDefinition td) throws FHIRFormatError, DefinitionException, IOException {
if (x.isPara()) {
x.b().tx(/*!#*/"Type");
x.b().tx(context.formatMessage(RenderingContext.DATA_REND_TYPE));
x.tx(": ");
x.tx(td.getType().getDisplay());
if (td.hasName()) {
x.tx(", ");
x.b().tx(/*!#*/"Name");
x.b().tx(context.formatMessage(RenderingContext.DATA_REND_NAME));
x.tx(": ");
x.tx(context.getTranslated(td.getNameElement()));
}
if (td.hasCode()) {
x.tx(", ");
x.b().tx(/*!#*/"Code");
x.b().tx(context.formatMessage(RenderingContext.DATA_REND_CODE));
x.tx(": ");
renderCodeableConcept(x, td.getCode());
}
if (td.hasTiming()) {
x.tx(", ");
x.b().tx(/*!#*/"Timing");
x.b().tx(context.formatMessage(RenderingContext.DATA_REND_TIMING));
x.tx(": ");
render(x, td.getTiming());
}
if (td.hasCondition()) {
x.tx(", ");
x.b().tx(/*!#*/"Condition");
x.b().tx(context.formatMessage(RenderingContext.DATA_REND_COND));
x.tx(": ");
renderExpression(x, td.getCondition());
}
@ -1690,27 +1690,27 @@ public class DataRenderer extends Renderer implements CodeResolver {
XhtmlNode tbl = x.table("grid");
XhtmlNode tr = tbl.tr();
tr.td().b().tx(/*!#*/"Type");
tr.td().b().tx(context.formatMessage(RenderingContext.DATA_REND_TYPE));
tr.td().tx(td.getType().getDisplay());
if (td.hasName()) {
tr = tbl.tr();
tr.td().b().tx(/*!#*/"Name");
tr.td().b().tx(context.formatMessage(RenderingContext.DATA_REND_NAME));
tr.td().tx(context.getTranslated(td.getNameElement()));
}
if (td.hasCode()) {
tr = tbl.tr();
tr.td().b().tx(/*!#*/"Code");
tr.td().b().tx(context.formatMessage(RenderingContext.DATA_REND_CODE));
renderCodeableConcept(tr.td(), td.getCode());
}
if (td.hasTiming()) {
tr = tbl.tr();
tr.td().b().tx(/*!#*/"Timing");
tr.td().b().tx(context.formatMessage(RenderingContext.DATA_REND_TIMING));
render(tr.td(), td.getTiming());
}
if (td.hasCondition()) {
tr = tbl.tr();
tr.td().b().tx(/*!#*/"Condition");
tr.td().b().tx(context.formatMessage(RenderingContext.DATA_REND_COND));
renderExpression(tr.td(), td.getCondition());
}
}
@ -1720,7 +1720,7 @@ public class DataRenderer extends Renderer implements CodeResolver {
XhtmlNode tbl = x.table("grid");
XhtmlNode tr = tbl.tr();
XhtmlNode td = tr.td().colspan("2");
td.b().tx(/*!#*/"Type");
td.b().tx(context.formatMessage(RenderingContext.DATA_REND_TYPE));
td.tx(": ");
StructureDefinition sd = context.getWorker().fetchTypeDefinition(dr.getType().toCode());
if (sd != null && sd.hasWebPath()) {
@ -1745,7 +1745,7 @@ public class DataRenderer extends Renderer implements CodeResolver {
if (dr.hasSubject()) {
tr = tbl.tr();
td = tr.td().colspan("2");
td.b().tx(/*!#*/"Subject");
td.b().tx(context.formatMessage(RenderingContext.DATA_REND_SUB));
if (dr.hasSubjectReference()) {
renderReference(td, dr.getSubjectReference());
} else {
@ -1754,24 +1754,24 @@ public class DataRenderer extends Renderer implements CodeResolver {
}
if (dr.hasCodeFilter() || dr.hasDateFilter()) {
tr = tbl.tr().backgroundColor("#efefef");
tr.td().tx(/*!#*/"Filter");
tr.td().tx(/*!#*/"Value");
tr.td().tx(context.formatMessage(RenderingContext.DATA_REND_FILT));
tr.td().tx(context.formatMessage(RenderingContext.DATA_REND_VALUE));
}
for (DataRequirementCodeFilterComponent cf : dr.getCodeFilter()) {
tr = tbl.tr();
if (cf.hasPath()) {
tr.td().tx(cf.getPath());
} else {
tr.td().tx(/*!#*/"Search on " +cf.getSearchParam());
tr.td().tx(context.formatMessage(RenderingContext.DATA_REND_SEARCH, cf.getSearchParam()) + " ");
}
if (cf.hasValueSet()) {
td = tr.td();
td.tx(/*!#*/"In ValueSet ");
td.tx(context.formatMessage(RenderingContext.DATA_REND_VALUESET) + " ");
render(td, cf.getValueSetElement());
} else {
boolean first = true;
td = tr.td();
td.tx(/*!#*/"One of these codes: ");
td.tx(context.formatMessage(RenderingContext.DATA_REND_THESE_CODES) + " ");
for (Coding c : cf.getCode()) {
if (first) first = false; else td.tx(", ");
render(td, c);
@ -1783,7 +1783,7 @@ public class DataRenderer extends Renderer implements CodeResolver {
if (cf.hasPath()) {
tr.td().tx(cf.getPath());
} else {
tr.td().tx(/*!#*/"Search on " +cf.getSearchParam());
tr.td().tx(context.formatMessage(RenderingContext.DATA_REND_SEARCH, cf.getSearchParam()) + " ");
}
render(tr.td(), cf.getValue());
}
@ -1791,7 +1791,7 @@ public class DataRenderer extends Renderer implements CodeResolver {
tr = tbl.tr();
td = tr.td().colspan("2");
if (dr.hasLimit()) {
td.b().tx(/*!#*/"Limit");
td.b().tx(context.formatMessage(RenderingContext.DATA_REND_LIMIT));
td.tx(": ");
td.tx(dr.getLimit());
if (dr.hasSort()) {
@ -1799,7 +1799,7 @@ public class DataRenderer extends Renderer implements CodeResolver {
}
}
if (dr.hasSort()) {
td.b().tx(/*!#*/"Sort");
td.b().tx(context.formatMessage(RenderingContext.DATA_REND_SORT));
td.tx(": ");
boolean first = true;
for (DataRequirementSortComponent p : dr.getSort()) {
@ -1815,7 +1815,7 @@ public class DataRenderer extends Renderer implements CodeResolver {
private String displayTiming(Timing s) throws FHIRException {
CommaSeparatedStringBuilder b = new CommaSeparatedStringBuilder();
if (s.hasCode())
b.append(/*!#*/"Code: "+displayCodeableConcept(s.getCode()));
b.append(context.formatMessage(RenderingContext.DATA_REND_GETCODE, displayCodeableConcept(s.getCode())) + " ");
if (s.getEvent().size() > 0) {
CommaSeparatedStringBuilder c = new CommaSeparatedStringBuilder();
@ -1826,17 +1826,17 @@ public class DataRenderer extends Renderer implements CodeResolver {
c.append("??");
}
}
b.append(/*!#*/"Events: "+ c.toString());
b.append(context.formatMessage(RenderingContext.DATA_REND_EVENTS, c.toString()) + " ");
}
if (s.hasRepeat()) {
TimingRepeatComponent rep = s.getRepeat();
if (rep.hasBoundsPeriod() && rep.getBoundsPeriod().hasStart())
b.append(/*!#*/"Starting "+displayDateTime(rep.getBoundsPeriod().getStartElement()));
b.append(context.formatMessage(RenderingContext.DATA_REND_STARTING, displayDateTime(rep.getBoundsPeriod().getStartElement())) + " ");
if (rep.hasCount())
b.append(/*!#*/"Count "+Integer.toString(rep.getCount())+" times");
b.append(context.formatMessage(RenderingContext.DATA_REND_COUNT, Integer.toString(rep.getCount())) + " " + " times");
if (rep.hasDuration())
b.append(/*!#*/"Duration "+rep.getDuration().toPlainString()+displayTimeUnits(rep.getPeriodUnit()));
b.append(context.formatMessage(RenderingContext.DATA_REND_DURATION, rep.getDuration().toPlainString()+displayTimeUnits(rep.getPeriodUnit())) + " ");
if (rep.hasWhen()) {
String st = "";
@ -1849,7 +1849,7 @@ public class DataRenderer extends Renderer implements CodeResolver {
} else {
String st = "";
if (!rep.hasFrequency() || (!rep.hasFrequencyMax() && rep.getFrequency() == 1) )
st = /*!#*/"Once";
st = context.formatMessage(RenderingContext.DATA_REND_ONCE);
else {
st = Integer.toString(rep.getFrequency());
if (rep.hasFrequencyMax())
@ -1864,7 +1864,7 @@ public class DataRenderer extends Renderer implements CodeResolver {
b.append(st);
}
if (rep.hasBoundsPeriod() && rep.getBoundsPeriod().hasEnd())
b.append(/*!#*/"Until "+displayDateTime(rep.getBoundsPeriod().getEndElement()));
b.append(context.formatMessage(RenderingContext.DATA_REND_UNTIL, displayDateTime(rep.getBoundsPeriod().getEndElement())) + " ");
}
return b.toString();
}
@ -1880,20 +1880,20 @@ public class DataRenderer extends Renderer implements CodeResolver {
private String displayEventCode(EventTiming when) {
switch (when) {
case C: return /*!#*/"at meals";
case CD: return /*!#*/"at lunch";
case CM: return /*!#*/"at breakfast";
case CV: return /*!#*/"at dinner";
case AC: return /*!#*/"before meals";
case ACD: return /*!#*/"before lunch";
case ACM: return /*!#*/"before breakfast";
case ACV: return /*!#*/"before dinner";
case HS: return /*!#*/"before sleeping";
case PC: return /*!#*/"after meals";
case PCD: return /*!#*/"after lunch";
case PCM: return /*!#*/"after breakfast";
case PCV: return /*!#*/"after dinner";
case WAKE: return /*!#*/"after waking";
case C: return (context.formatMessage(RenderingContext.DATA_REND_MEALS));
case CD: return (context.formatMessage(RenderingContext.DATA_REND_ATLUNCH));
case CM: return (context.formatMessage(RenderingContext.DATA_REND_ATBKFST));
case CV: return (context.formatMessage(RenderingContext.DATA_REND_ATDINR));
case AC: return (context.formatMessage(RenderingContext.DATA_REND_BFMEALS));
case ACD: return (context.formatMessage(RenderingContext.DATA_REND_BFLUNCH));
case ACM: return (context.formatMessage(RenderingContext.DATA_REND_BFBKFST));
case ACV: return (context.formatMessage(RenderingContext.DATA_REND_BFDINR));
case HS: return (context.formatMessage(RenderingContext.DATA_REND_BFSLEEP));
case PC: return (context.formatMessage(RenderingContext.DATA_REND_AFTRMEALS));
case PCD: return (context.formatMessage(RenderingContext.DATA_REND_AFTRLUNCH));
case PCM: return (context.formatMessage(RenderingContext.DATA_REND_AFTRBKFST));
case PCV: return (context.formatMessage(RenderingContext.DATA_REND_AFTRDINR));
case WAKE: return (context.formatMessage(RenderingContext.DATA_REND_AFTRWKNG));
default: return "?ngen-6?";
}
}
@ -1921,29 +1921,29 @@ public class DataRenderer extends Renderer implements CodeResolver {
private String displaySampledData(SampledData s) {
CommaSeparatedStringBuilder b = new CommaSeparatedStringBuilder();
if (s.hasOrigin())
b.append(/*!#*/"Origin: "+displayQuantity(s.getOrigin()));
b.append(context.formatMessage(RenderingContext.DATA_REND_ORIGIN, displayQuantity(s.getOrigin())) + " ");
if (s.hasInterval()) {
b.append(/*!#*/"Interval: "+s.getInterval().toString());
b.append(context.formatMessage(RenderingContext.DATA_REND_INT, s.getInterval().toString()) + " ");
if (s.hasIntervalUnit())
b.append(s.getIntervalUnit().toString());
}
if (s.hasFactor())
b.append(/*!#*/"Factor: "+s.getFactor().toString());
b.append(context.formatMessage(RenderingContext.DATA_REND_FACT, s.getFactor().toString()) + " ");
if (s.hasLowerLimit())
b.append(/*!#*/"Lower: "+s.getLowerLimit().toString());
b.append(context.formatMessage(RenderingContext.DATA_REND_LOWER, s.getLowerLimit().toString()) + " ");
if (s.hasUpperLimit())
b.append(/*!#*/"Upper: "+s.getUpperLimit().toString());
b.append(context.formatMessage(RenderingContext.DATA_REND_UP, s.getUpperLimit().toString()) + " ");
if (s.hasDimensions())
b.append(/*!#*/"Dimensions: "+s.getDimensions());
b.append(context.formatMessage(RenderingContext.DATA_REND_DIM, s.getDimensions()) + " ");
if (s.hasData())
b.append(/*!#*/"Data: "+s.getData());
b.append(context.formatMessage(RenderingContext.DATA_REND_DATA, s.getData()) + " ");
return b.toString();
}

View File

@ -62,7 +62,7 @@ public class DiagnosticReportRenderer extends ResourceRenderer {
XhtmlNode tr;
if (dr.has("subject")) {
tr = tbl.tr();
tr.td().tx(/*!#*/"Subject");
tr.td().tx(context.formatMessage(RenderingContext.DIAG_REP_REND_SUB));
populateSubjectSummary(tr.td(), getProperty(dr, "subject").value());
}
@ -71,13 +71,13 @@ public class DiagnosticReportRenderer extends ResourceRenderer {
if (dr.has("effective[x]")) {
tr = tbl.tr();
tr.td().tx(/*!#*/"When For");
tr.td().tx(context.formatMessage(RenderingContext.DIAG_REP_REND_WHEN));
eff = (DataType) getProperty(dr, "effective[x]").value().getBase();
render(tr.td(), eff);
}
if (dr.has("issued")) {
tr = tbl.tr();
tr.td().tx(/*!#*/"Reported");
tr.td().tx(context.formatMessage(RenderingContext.DIAG_REP_REND_REP));
eff = (DataType) getProperty(dr, "issued").value().getBase();
render(tr.td(), getProperty(dr, "issued").value());
}
@ -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(/*!#*/ "Performer", pw.getValues().size()));
XhtmlNode tdr = tr.td();
for (BaseWrapper v : pw.getValues()) {
tdr.tx(" ");
@ -115,7 +115,7 @@ public class DiagnosticReportRenderer extends ResourceRenderer {
}
x.para().b().tx(/*!#*/"Report Details");
x.para().b().tx(context.formatMessage(RenderingContext.DIAG_REP_REND_REPDET));
pw = getProperty(dr, "result");
if (valued(pw)) {
@ -138,7 +138,7 @@ public class DiagnosticReportRenderer extends ResourceRenderer {
}
if (valued(pw)) {
XhtmlNode p = x.para();
p.b().tx(/*!#*/"Coded Conclusions :");
p.b().tx(context.formatMessage(RenderingContext.DIAG_REP_REND_CODECON));
XhtmlNode ul = x.ul();
for (BaseWrapper v : pw.getValues()) {
render(ul.li(), v);
@ -174,11 +174,11 @@ public class DiagnosticReportRenderer extends ResourceRenderer {
private void populateSubjectSummary(XhtmlNode container, BaseWrapper subject) throws UnsupportedEncodingException, FHIRException, IOException, EOperationOutcome {
ResourceWrapper r = fetchResource(subject);
if (r == null)
container.tx(/*!#*/"Unable to get Patient Details");
container.tx(context.formatMessage(RenderingContext.DIAG_REP_REND_UNABLE));
else if (r.getName().equals("Patient"))
generatePatientSummary(container, r);
else
container.tx(/*!#*/"Not done yet");
container.tx(context.formatMessage(RenderingContext.DIAG_REP_REND_NOTDONE));
}
private void generatePatientSummary(XhtmlNode c, ResourceWrapper r) throws FHIRFormatError, DefinitionException, FHIRException, IOException, EOperationOutcome {
@ -218,22 +218,22 @@ public class DiagnosticReportRenderer extends ResourceRenderer {
if (issued) cs++;
if (effectiveTime) cs++;
XhtmlNode tr = tbl.tr();
tr.td().b().tx(/*!#*/"Code");
tr.td().b().tx(/*!#*/"Value");
tr.td().b().tx(context.formatMessage(RenderingContext.DIAG_REP_REND_CODE));
tr.td().b().tx(context.formatMessage(RenderingContext.DIAG_REP_REND_VALUE));
if (refRange) {
tr.td().b().tx(/*!#*/"Reference Range");
tr.td().b().tx(context.formatMessage(RenderingContext.DIAG_REP_REND_REFRAN));
}
if (flags) {
tr.td().b().tx(/*!#*/"Flags");
tr.td().b().tx(context.formatMessage(RenderingContext.DIAG_REP_REND_FLAG));
}
if (note) {
tr.td().b().tx(/*!#*/"Note");
tr.td().b().tx(context.formatMessage(RenderingContext.DIAG_REP_REND_NOTE));
}
if (effectiveTime) {
tr.td().b().tx(/*!#*/"When For");
tr.td().b().tx(context.formatMessage(RenderingContext.DIAG_REP_REND_WHEN));
}
if (issued) {
tr.td().b().tx(/*!#*/"Reported");
tr.td().b().tx(context.formatMessage(RenderingContext.DIAG_REP_REND_REP));
}
for (ObservationNode o : observations) {
addObservationToTable(tbl, o, 0, Integer.toString(cs), refRange, flags, note, effectiveTime, issued, eff, iss);
@ -340,13 +340,13 @@ public class DiagnosticReportRenderer extends ResourceRenderer {
XhtmlNode tr = tbl.tr();
if (o.obs != null && o.obs.getReference() == null) {
XhtmlNode td = tr.td().colspan(cs);
td.i().tx(/*!#*/"This Observation could not be resolved");
td.i().tx(context.formatMessage(RenderingContext.DIAG_REP_REND_NOTRES));
} else {
if (o.obs != null && o.obs.getResource() != null) {
addObservationToTable(tr, o.obs.getResource(), i, o.obs.getReference(), refRange, flags, note, effectiveTime, issued, eff, iss);
} else {
XhtmlNode td = tr.td().colspan(cs);
td.i().tx(/*!#*/"Observation");
td.i().tx(context.formatMessage(RenderingContext.DIAG_REP_REND_OBS));
}
if (o.contained != null) {
for (ObservationNode c : o.contained) {
@ -380,7 +380,7 @@ public class DiagnosticReportRenderer extends ResourceRenderer {
pw = getProperty(obs, "dataAbsentReason");
if (valued(pw)) {
XhtmlNode span = td.span("color: maroon", "Error");
span.tx(/*!#*/"Error: ");
span.tx(context.formatMessage(RenderingContext.DIAG_REP_REND_ERR) + " ");
render(span.b(), pw.value());
}
}
@ -421,7 +421,7 @@ public class DiagnosticReportRenderer extends ResourceRenderer {
PropertyWrapper pwrA = getProperty(v, "age");
if (valued(pwr) || valued(pwrA)) {
boolean firstA = true;
td.tx(" "+/*!#*/"for ");
td.tx(" "+ (context.formatMessage(RenderingContext.DIAG_REP_REND_FOR)) + " ");
if (valued(pwr)) {
for (BaseWrapper va : pwr.getValues()) {
if (firstA) firstA = false; else td.tx(", ");
@ -430,7 +430,7 @@ public class DiagnosticReportRenderer extends ResourceRenderer {
}
if (valued(pwrA)) {
if (firstA) firstA = false; else td.tx(", ");
td.tx(/*!#*/"Age ");
td.tx(context.formatMessage(RenderingContext.DIAG_REP_REND_AGE) + " ");
render(td, pwrA.value());
}
}

View File

@ -43,11 +43,11 @@ public class ExampleScenarioRenderer extends TerminologyRenderer {
case PROCESSES:
return renderProcesses(x, scen);
default:
throw new FHIRException(/*!#*/"Unknown ExampleScenario Renderer Mode " + context.getScenarioMode());
throw new FHIRException(context.formatMessage(RenderingContext.EX_SCEN_UN, context.getScenarioMode()) + " ");
}
}
} catch (Exception e) {
throw new FHIRException(/*!#*/"Error rendering ExampleScenario " + scen.getUrl(), e);
throw new FHIRException(context.formatMessage(RenderingContext.EX_SCEN_ERR_REN, scen.getUrl(), e) + " ");
}
}
@ -105,7 +105,7 @@ public class ExampleScenarioRenderer extends TerminologyRenderer {
for (ExampleScenarioProcessStepComponent step: process.getStep()) {
plantUml += toPlantUml(step, stepPrefix(prefix, step, stepCount), scen, actorsActive, actorKeys);
if (step.getPause())
plantUml += /*!#*/"... time passes ...\n";
plantUml += context.formatMessage(RenderingContext.EX_SCEN_TIME);
stepCount++;
}
@ -211,9 +211,9 @@ public class ExampleScenarioRenderer extends TerminologyRenderer {
public boolean renderActors(XhtmlNode x, ExampleScenario scen) throws IOException {
XhtmlNode tbl = x.table("table-striped table-bordered");
XhtmlNode thead = tbl.tr();
thead.th().addText(/*!#*/"Name");
thead.th().addText(/*!#*/"Type");
thead.th().addText(/*!#*/"Description");
thead.th().addText(context.formatMessage(RenderingContext.EX_SCEN_NAME));
thead.th().addText(context.formatMessage(RenderingContext.EX_SCEN_TYPE));
thead.th().addText(context.formatMessage(RenderingContext.EX_SCEN_DESC));
for (ExampleScenarioActorComponent actor : scen.getActor()) {
XhtmlNode tr = tbl.tr();
XhtmlNode nameCell = tr.td();
@ -228,10 +228,10 @@ public class ExampleScenarioRenderer extends TerminologyRenderer {
public boolean renderInstances(XhtmlNode x, ExampleScenario scen) throws IOException {
XhtmlNode tbl = x.table("table-striped table-bordered");
XhtmlNode thead = tbl.tr();
thead.th().addText(/*!#*/"Name");
thead.th().addText(/*!#*/"Type");
thead.th().addText(/*!#*/"Content");
thead.th().addText(/*!#*/"Description");
thead.th().addText(context.formatMessage(RenderingContext.EX_SCEN_NAME));
thead.th().addText(context.formatMessage(RenderingContext.EX_SCEN_TYPE));
thead.th().addText(context.formatMessage(RenderingContext.EX_SCEN_CONT));
thead.th().addText(context.formatMessage(RenderingContext.EX_SCEN_DESC));
Map<String, String> instanceNames = new HashMap<String, String>();
for (ExampleScenarioInstanceComponent instance : scen.getInstance()) {
@ -254,7 +254,7 @@ public class ExampleScenarioRenderer extends TerminologyRenderer {
if (!instance.hasStructureVersion() || instance.getStructureType().getSystem().equals("")) {
if (instance.hasStructureVersion())
typeCell.tx(/*!#*/"FHIR version " + instance.getStructureVersion() + " ");
typeCell.tx((context.formatMessage(RenderingContext.EX_SCEN_FVER, instance.getStructureVersion()) + " ") + " ");
if (instance.hasStructureProfile()) {
renderCanonical(scen, typeCell, instance.getStructureProfile().toString());
} else {
@ -262,7 +262,7 @@ public class ExampleScenarioRenderer extends TerminologyRenderer {
}
} else {
render(typeCell, instance.getStructureVersionElement());
typeCell.tx(" "+/*!#*/"version " + instance.getStructureVersion());
typeCell.tx(" "+(context.formatMessage(RenderingContext.EX_SCEN_VER, instance.getStructureVersion())+" "));
if (instance.hasStructureProfile()) {
typeCell.tx(" ");
renderCanonical(scen, typeCell, instance.getStructureProfile().toString());
@ -280,7 +280,7 @@ public class ExampleScenarioRenderer extends TerminologyRenderer {
XhtmlNode descCell = row.td();
addMarkdown(descCell, instance.getDescription());
if (instance.hasContainedInstance()) {
descCell.b().tx(/*!#*/"Contains: ");
descCell.b().tx(context.formatMessage(RenderingContext.EX_SCEN_CONTA) + " ");
int containedCount = 1;
for (ExampleScenarioInstanceContainedInstanceComponent contained: instance.getContainedInstance()) {
String key = "i_" + contained.getInstanceReference();
@ -341,26 +341,26 @@ public class ExampleScenarioRenderer extends TerminologyRenderer {
public void renderProcess(XhtmlNode x, ExampleScenarioProcessComponent process, String prefix, Map<String, ExampleScenarioActorComponent> actors, Map<String, ExampleScenarioInstanceComponent> instances) throws IOException {
XhtmlNode div = x.div();
div.an("p_" + prefix);
div.b().tx(/*!#*/"Process: " + process.getTitle());
div.b().tx(context.formatMessage(RenderingContext.EX_SCEN_PROC, process.getTitle())+" ");
if (process.hasDescription())
addMarkdown(div, process.getDescription());
if (process.hasPreConditions()) {
div.para().b().i().tx(/*!#*/"Pre-conditions:");
div.para().b().i().tx(context.formatMessage(RenderingContext.EX_SCEN_PRECON));
addMarkdown(div, process.getPreConditions());
}
if (process.hasPostConditions()) {
div.para().b().i().tx(/*!#*/"Post-conditions:");
div.para().b().i().tx(context.formatMessage(RenderingContext.EX_SCEN_POSTCON));
addMarkdown(div, process.getPostConditions());
}
XhtmlNode tbl = div.table("table-striped table-bordered").style("width:100%");
XhtmlNode thead = tbl.tr();
thead.th().addText(/*!#*/"Step");
thead.th().addText(/*!#*/"Name");
thead.th().addText(/*!#*/"Description");
thead.th().addText(/*!#*/"Initator");
thead.th().addText(/*!#*/"Receiver");
thead.th().addText(/*!#*/"Request");
thead.th().addText(/*!#*/"Response");
thead.th().addText(context.formatMessage(RenderingContext.EX_SCEN_STEP));
thead.th().addText(context.formatMessage(RenderingContext.EX_SCEN_NAME));
thead.th().addText(context.formatMessage(RenderingContext.EX_SCEN_DESC));
thead.th().addText(context.formatMessage(RenderingContext.EX_SCEN_IN));
thead.th().addText(context.formatMessage(RenderingContext.EX_SCEN_REC));
thead.th().addText(context.formatMessage(RenderingContext.EX_SCEN_REQ));
thead.th().addText(context.formatMessage(RenderingContext.EX_SCEN_RES));
int stepCount = 1;
for (ExampleScenarioProcessStepComponent step: process.getStep()) {
renderStep(tbl, step, stepPrefix(prefix, step, stepCount), actors, instances);
@ -407,13 +407,13 @@ public class ExampleScenarioRenderer extends TerminologyRenderer {
prefixCell.tx(stepLabel.substring(stepLabel.indexOf(".") + 1));
if (step.hasProcess()) {
XhtmlNode n = row.td().colspan(6);
n.tx(/*!#*/"See subprocess" );
n.tx(context.formatMessage(RenderingContext.EX_SCEN_SEE));
n.ah("#p_" + stepLabel, step.getProcess().getTitle());
n.tx(" "+/*!#*/"below");
n.tx(" "+ context.formatMessage(RenderingContext.EX_SCEN_BEL));
} else if (step.hasWorkflow()) {
XhtmlNode n = row.td().colspan(6);
n.tx(/*!#*/"See other scenario ");
n.tx(context.formatMessage(RenderingContext.EX_SCEN_OTH));
String link = new ContextUtilities(context.getWorker()).getLinkForUrl(context.getLink(KnownLinkType.SPEC), step.getWorkflow());
n.ah(link, step.getProcess().getTitle());
@ -438,7 +438,7 @@ public class ExampleScenarioRenderer extends TerminologyRenderer {
int altNum = 1;
for (ExampleScenarioProcessStepAlternativeComponent alt : step.getAlternative()) {
XhtmlNode altHeading = tbl.tr().colspan(7).td();
altHeading.para().i().tx(/*!#*/"Alternative " + alt.getTitle());
altHeading.para().i().tx(context.formatMessage(RenderingContext.EX_SCEN_ALT, alt.getTitle())+" ");
if (alt.hasDescription())
addMarkdown(altHeading, alt.getDescription());
int stepCount = 1;
@ -458,7 +458,7 @@ public class ExampleScenarioRenderer extends TerminologyRenderer {
return;
ExampleScenarioActorComponent actor = actors.get(actorId);
if (actor==null)
throw new FHIRException(/*!#*/"Unable to find referenced actor " + actorId);
throw new FHIRException(context.formatMessage(RenderingContext.EX_SCEN_UN_ACT, actorId)+" ");
actorCell.ah("#a_" + actor.getKey(), actor.getDescription()).tx(actor.getTitle());
}
@ -468,7 +468,7 @@ public class ExampleScenarioRenderer extends TerminologyRenderer {
return;
ExampleScenarioInstanceComponent instance = instances.get(instanceRef.getInstanceReference());
if (instance==null)
throw new FHIRException(/*!#*/"Unable to find referenced instance " + instanceRef.getInstanceReference());
throw new FHIRException(context.formatMessage(RenderingContext.EX_SCEN_UN_INST, instanceRef.getInstanceReference())+" ");
if (instanceRef.hasVersionReference()) {
ExampleScenarioInstanceVersionComponent theVersion = null;
for (ExampleScenarioInstanceVersionComponent version: instance.getVersion()) {

View File

@ -28,7 +28,7 @@ public class ImplementationGuideRenderer extends ResourceRenderer {
public boolean render(XhtmlNode x, ImplementationGuide ig) throws FHIRFormatError, DefinitionException, IOException {
x.h2().addText(ig.getName());
x.para().tx(/*!#*/"The official URL for this implementation guide is: ");
x.para().tx(context.formatMessage(RenderingContext.IMP_GUIDE_URL)+" ");
x.pre().tx(ig.getUrl());
addMarkdown(x, ig.getDescription());
return true;

View File

@ -49,32 +49,32 @@ public class LibraryRenderer extends ResourceRenderer {
boolean email = hasCT(authors, "email") || hasCT(editors, "email") || hasCT(reviewers, "email") || hasCT(endorsers, "email");
boolean phone = hasCT(authors, "phone") || hasCT(editors, "phone") || hasCT(reviewers, "phone") || hasCT(endorsers, "phone");
boolean url = hasCT(authors, "url") || hasCT(editors, "url") || hasCT(reviewers, "url") || hasCT(endorsers, "url");
x.h2().tx(/*!#*/"Participants");
x.h2().tx(context.formatMessage(RenderingContext.LIB_REND_PAR));
XhtmlNode t = x.table("grid");
if (authors != null) {
for (BaseWrapper cd : authors.getValues()) {
participantRow(t, /*!#*/"Author", cd, email, phone, url);
participantRow(t, (context.formatMessage(RenderingContext.LIB_REND_AUT)), cd, email, phone, url);
}
}
if (authors != null) {
for (BaseWrapper cd : editors.getValues()) {
participantRow(t, /*!#*/"Editor", cd, email, phone, url);
participantRow(t, (context.formatMessage(RenderingContext.LIB_REND_ED)), cd, email, phone, url);
}
}
if (authors != null) {
for (BaseWrapper cd : reviewers.getValues()) {
participantRow(t, /*!#*/"Reviewer", cd, email, phone, url);
participantRow(t, (context.formatMessage(RenderingContext.LIB_REND_REV)), cd, email, phone, url);
}
}
if (authors != null) {
for (BaseWrapper cd : endorsers.getValues()) {
participantRow(t, /*!#*/"Endorser", cd, email, phone, url);
participantRow(t, (context.formatMessage(RenderingContext.LIB_REND_END)), cd, email, phone, url);
}
}
}
PropertyWrapper artifacts = lib.getChildByName("relatedArtifact");
if (artifacts != null && artifacts.hasValues()) {
x.h2().tx(/*!#*/"Related Artifacts");
x.h2().tx(context.formatMessage(RenderingContext.LIB_REND_ART));
XhtmlNode t = x.table("grid");
boolean label = false;
boolean display = false;
@ -90,7 +90,7 @@ public class LibraryRenderer extends ResourceRenderer {
}
PropertyWrapper parameters = lib.getChildByName("parameter");
if (parameters != null && parameters.hasValues()) {
x.h2().tx(/*!#*/"Parameters");
x.h2().tx(context.formatMessage(RenderingContext.LIB_REND_PARA));
XhtmlNode t = x.table("grid");
boolean doco = false;
for (BaseWrapper p : parameters.getValues()) {
@ -102,14 +102,14 @@ public class LibraryRenderer extends ResourceRenderer {
}
PropertyWrapper dataRequirements = lib.getChildByName("dataRequirement");
if (dataRequirements != null && dataRequirements.hasValues()) {
x.h2().tx(/*!#*/"Data Requirements");
x.h2().tx(context.formatMessage(RenderingContext.LIB_REND_REQ));
for (BaseWrapper p : dataRequirements.getValues()) {
renderDataRequirement(x, (DataRequirement) p.getBase());
}
}
PropertyWrapper contents = lib.getChildByName("content");
if (contents != null) {
x.h2().tx(/*!#*/"Contents");
x.h2().tx(context.formatMessage(RenderingContext.LIB_REND_CONT));
boolean isCql = false;
int counter = 0;
for (BaseWrapper p : contents.getValues()) {
@ -151,23 +151,23 @@ public class LibraryRenderer extends ResourceRenderer {
boolean email = hasCT(lib.getAuthor(), "email") || hasCT(lib.getEditor(), "email") || hasCT(lib.getReviewer(), "email") || hasCT(lib.getEndorser(), "email");
boolean phone = hasCT(lib.getAuthor(), "phone") || hasCT(lib.getEditor(), "phone") || hasCT(lib.getReviewer(), "phone") || hasCT(lib.getEndorser(), "phone");
boolean url = hasCT(lib.getAuthor(), "url") || hasCT(lib.getEditor(), "url") || hasCT(lib.getReviewer(), "url") || hasCT(lib.getEndorser(), "url");
x.h2().tx(/*!#*/"Participants");
x.h2().tx(context.formatMessage(RenderingContext.LIB_REND_PAR));
XhtmlNode t = x.table("grid");
for (ContactDetail cd : lib.getAuthor()) {
participantRow(t, /*!#*/"Author", cd, email, phone, url);
participantRow(t, (context.formatMessage(RenderingContext.LIB_REND_AUT)), cd, email, phone, url);
}
for (ContactDetail cd : lib.getEditor()) {
participantRow(t, /*!#*/"Editor", cd, email, phone, url);
participantRow(t, (context.formatMessage(RenderingContext.LIB_REND_ED)), cd, email, phone, url);
}
for (ContactDetail cd : lib.getReviewer()) {
participantRow(t, /*!#*/"Reviewer", cd, email, phone, url);
participantRow(t, (context.formatMessage(RenderingContext.LIB_REND_REV)), cd, email, phone, url);
}
for (ContactDetail cd : lib.getEndorser()) {
participantRow(t, /*!#*/"Endorser", cd, email, phone, url);
participantRow(t, (context.formatMessage(RenderingContext.LIB_REND_END)), cd, email, phone, url);
}
}
if (lib.hasRelatedArtifact()) {
x.h2().tx(/*!#*/"Related Artifacts");
x.h2().tx(context.formatMessage(RenderingContext.LIB_REND_ART));
XhtmlNode t = x.table("grid");
boolean label = false;
boolean display = false;
@ -182,7 +182,7 @@ public class LibraryRenderer extends ResourceRenderer {
}
}
if (lib.hasParameter()) {
x.h2().tx(/*!#*/"Parameters");
x.h2().tx(context.formatMessage(RenderingContext.LIB_REND_PARA));
XhtmlNode t = x.table("grid");
boolean doco = false;
for (ParameterDefinition p : lib.getParameter()) {
@ -193,13 +193,13 @@ public class LibraryRenderer extends ResourceRenderer {
}
}
if (lib.hasDataRequirement()) {
x.h2().tx(/*!#*/"Data Requirements");
x.h2().tx(context.formatMessage(RenderingContext.LIB_REND_REQ));
for (DataRequirement p : lib.getDataRequirement()) {
renderDataRequirement(x, p);
}
}
if (lib.hasContent()) {
x.h2().tx(/*!#*/"Contents");
x.h2().tx(context.formatMessage(RenderingContext.LIB_REND_CONT));
boolean isCql = false;
int counter = 0;
for (Attachment att : lib.getContent()) {
@ -356,7 +356,7 @@ public class LibraryRenderer extends ResourceRenderer {
p.tx(att.getTitle());
p.tx(": ");
}
p.code().tx(/*!#*/"No Content");
p.code().tx(context.formatMessage(RenderingContext.LIB_REND_NOCONT));
p.tx(" (");
p.code().tx(att.getContentType());
p.tx(lang(att));
@ -405,10 +405,10 @@ public class LibraryRenderer extends ResourceRenderer {
p.tx(att.getTitle());
p.tx(": ");
}
p.code().tx(/*!#*/"Content not shown - (");
p.code().tx(context.formatMessage(RenderingContext.LIB_REND_SHOW));
p.code().tx(att.getContentType());
p.tx(lang(att));
p.tx(/*!#*/", size = "+Utilities.describeSize(att.getData().length)+")");
p.tx((context.formatMessage(RenderingContext.LIB_REND_SIZE, Utilities.describeSize(att.getData().length))+" ")+")");
}
}
}

View File

@ -40,33 +40,33 @@ public class ListRenderer extends ResourceRenderer {
XhtmlNode tr = t.tr();
XhtmlNode td = tr.td();
if (list.has("date")) {
td.tx(/*!#*/"Date: "+displayDateTime(list.get("date").dateTimeValue()));
td.tx(context.formatMessage(RenderingContext.LIST_REND_DATE, displayDateTime(list.get("date").dateTimeValue()))+" ");
}
if (list.has("mode")) {
td.tx(/*!#*/"Mode: "+list.get("mode").primitiveValue());
td.tx(context.formatMessage(RenderingContext.LIST_REND_MODE, list.get("mode").primitiveValue())+" ");
}
if (list.has("status")) {
td.tx(/*!#*/"Status: "+list.get("status").primitiveValue());
td.tx(context.formatMessage(RenderingContext.LIST_REND_STAT, list.get("status").primitiveValue())+" ");
}
if (list.has("code")) {
td.tx(/*!#*/"Code: "+displayBase(list.get("code")));
td.tx(context.formatMessage(RenderingContext.LIST_REND_CODE, displayBase(list.get("code")))+" ");
}
tr = t.tr();
td = tr.td();
if (list.has("subject")) {
td.tx(/*!#*/"Subject: ");
td.tx(context.formatMessage(RenderingContext.LIST_REND_SUB)+" ");
shortForRef(td, list.get("subject"));
}
if (list.has("encounter")) {
td.tx(/*!#*/"Encounter: ");
td.tx(context.formatMessage(RenderingContext.LIST_REND_ENC)+" ");
shortForRef(td, list.get("encounter"));
}
if (list.has("source")) {
td.tx(/*!#*/"Source: ");
td.tx(context.formatMessage(RenderingContext.LIST_REND_SRC)+" ");
shortForRef(td, list.get("encounter"));
}
if (list.has("orderedBy")) {
td.tx(/*!#*/"Order: "+displayBase(list.get("orderedBy")));
td.tx(context.formatMessage(RenderingContext.LIST_REND_ORD, displayBase(list.get("orderedBy")))+" ");
}
// for (Annotation a : list.getNote()) {
// renderAnnotation(a, x);
@ -81,15 +81,15 @@ public class ListRenderer extends ResourceRenderer {
}
t = x.table("grid");
tr = t.tr().style("backgound-color: #eeeeee");
tr.td().b().tx(/*!#*/"Items");
tr.td().b().tx(context.formatMessage(RenderingContext.LIST_REND_ITEM));
if (date) {
tr.td().tx(/*!#*/"Date");
tr.td().tx(context.formatMessage(RenderingContext.LIST_REND_DAT));
}
if (flag) {
tr.td().tx(/*!#*/"Flag");
tr.td().tx(context.formatMessage(RenderingContext.LIST_REND_FLAG));
}
if (deleted) {
tr.td().tx(/*!#*/"Deleted");
tr.td().tx(context.formatMessage(RenderingContext.LIST_REND_DEL));
}
for (BaseWrapper e : list.children("entry")) {
tr = t.tr();
@ -113,16 +113,16 @@ public class ListRenderer extends ResourceRenderer {
XhtmlNode t = x.table("clstu");
XhtmlNode tr = t.tr();
if (list.hasDate()) {
tr.td().tx(/*!#*/"Date: "+displayDateTime(list.getDateElement()));
tr.td().tx(context.formatMessage(RenderingContext.LIST_REND_DATE, displayDateTime(list.getDateElement()))+" ");
}
if (list.hasMode()) {
tr.td().tx(/*!#*/"Mode: "+list.getMode().getDisplay());
tr.td().tx(context.formatMessage(RenderingContext.LIST_REND_MODE, list.getMode().getDisplay())+" ");
}
if (list.hasStatus()) {
tr.td().tx(/*!#*/"Status: "+list.getStatus().getDisplay());
tr.td().tx(context.formatMessage(RenderingContext.LIST_REND_STAT, list.getStatus().getDisplay())+" ");
}
if (list.hasCode()) {
tr.td().tx(/*!#*/"Code: "+display(list.getCode()));
tr.td().tx(context.formatMessage(RenderingContext.LIST_REND_CODE, display(list.getCode()))+" ");
}
tr = t.tr();
if (list.hasSubject()) {
@ -130,7 +130,7 @@ public class ListRenderer extends ResourceRenderer {
shortForRef(tr.td().txN("Subject: "), list.getSubjectFirstRep());
} else {
XhtmlNode td = tr.td();
td.txN(/*!#*/"Subject: ");
td.txN(context.formatMessage(RenderingContext.LIST_REND_SUB)+" ");
int i = 0;
for (Reference subj : list.getSubject()) {
if (i == list.getSubject().size() - 1) {
@ -143,13 +143,13 @@ public class ListRenderer extends ResourceRenderer {
}
}
if (list.hasEncounter()) {
shortForRef(tr.td().txN(/*!#*/"Encounter: "), list.getEncounter());
shortForRef(tr.td().txN(context.formatMessage(RenderingContext.LIST_REND_ENC)+" "), list.getEncounter());
}
if (list.hasSource()) {
shortForRef(tr.td().txN(/*!#*/"Source: "), list.getEncounter());
shortForRef(tr.td().txN(context.formatMessage(RenderingContext.LIST_REND_SRC)+" "), list.getEncounter());
}
if (list.hasOrderedBy()) {
tr.td().tx(/*!#*/"Order: "+display(list.getOrderedBy()));
tr.td().tx(context.formatMessage(RenderingContext.LIST_REND_ORD, display(list.getOrderedBy()))+" ");
}
for (Annotation a : list.getNote()) {
renderAnnotation(x, a);
@ -164,15 +164,15 @@ public class ListRenderer extends ResourceRenderer {
}
t = x.table("grid");
tr = t.tr().style("backgound-color: #eeeeee");
tr.td().b().tx(/*!#*/"Items");
tr.td().b().tx(context.formatMessage(RenderingContext.LIST_REND_ITEM));
if (date) {
tr.td().tx(/*!#*/"Date");
tr.td().tx(context.formatMessage(RenderingContext.LIST_REND_DAT));
}
if (flag) {
tr.td().tx(/*!#*/"Flag");
tr.td().tx(context.formatMessage(RenderingContext.LIST_REND_FLAG));
}
if (deleted) {
tr.td().tx(/*!#*/"Deleted");
tr.td().tx(context.formatMessage(RenderingContext.LIST_REND_DEL));
}
for (ListResourceEntryComponent e : list.getEntry()) {
tr = t.tr();

View File

@ -30,33 +30,33 @@ public class NamingSystemRenderer extends ResourceRenderer {
}
public boolean render(XhtmlNode x, NamingSystem ns) throws FHIRFormatError, DefinitionException, IOException {
x.h3().tx(/*!#*/"Summary");
x.h3().tx(context.formatMessage(RenderingContext.NAME_SYS_SUM));
XhtmlNode tbl = x.table("grid");
row(tbl, /*!#*/"Defining URL", ns.getUrl());
row(tbl, (context.formatMessage(RenderingContext.NAME_SYS_URL)), ns.getUrl());
if (ns.hasVersion()) {
row(tbl, /*!#*/"Version", ns.getVersion());
row(tbl, (context.formatMessage(RenderingContext.NAME_SYS_VER)), ns.getVersion());
}
if (ns.hasName()) {
row(tbl, /*!#*/"Name", gt(ns.getNameElement()));
row(tbl, (context.formatMessage(RenderingContext.NAME_SYS_NAME)), gt(ns.getNameElement()));
}
if (ns.hasTitle()) {
row(tbl, /*!#*/"Title", gt(ns.getTitleElement()));
row(tbl, (context.formatMessage(RenderingContext.NAME_SYS_TITLE)), gt(ns.getTitleElement()));
}
row(tbl, /*!#*/"Status", ns.getStatus().toCode());
row(tbl, (context.formatMessage(RenderingContext.NAME_SYS_STAT)), ns.getStatus().toCode());
if (ns.hasDescription()) {
addMarkdown(row(tbl, /*!#*/"Definition"), ns.getDescription());
addMarkdown(row(tbl, (context.formatMessage(RenderingContext.NAME_SYS_DEF))), ns.getDescription());
}
if (ns.hasPublisher()) {
row(tbl, /*!#*/"Publisher", gt(ns.getPublisherElement()));
row(tbl, (context.formatMessage(RenderingContext.NAME_SYS_PUB)), gt(ns.getPublisherElement()));
}
if (ns.hasExtension(ToolingExtensions.EXT_WORKGROUP)) {
renderCommitteeLink(row(tbl, "Committee"), ns);
}
if (CodeSystemUtilities.hasOID(ns)) {
row(tbl, /*!#*/"OID", CodeSystemUtilities.getOID(ns)).tx("("+(/*!#*/"for OID based terminology systems")+")");
row(tbl, (context.formatMessage(RenderingContext.NAME_SYS_OID)), CodeSystemUtilities.getOID(ns)).tx("("+(context.formatMessage(RenderingContext.NAME_SYS_FOROID))+")");
}
if (ns.hasCopyright()) {
addMarkdown(row(tbl, /*!#*/"Copyright"), ns.getCopyright());
addMarkdown(row(tbl, (context.formatMessage(RenderingContext.NAME_SYS_COPY))), ns.getCopyright());
}
boolean hasPreferred = false;
boolean hasPeriod = false;
@ -66,19 +66,19 @@ public class NamingSystemRenderer extends ResourceRenderer {
hasPeriod = hasPeriod || id.hasPeriod();
hasComment = hasComment || id.hasComment();
}
x.h3().tx(/*!#*/"Identifiers");
x.h3().tx(context.formatMessage(RenderingContext.NAME_SYS_IDEN));
tbl = x.table("grid");
XhtmlNode tr = tbl.tr();
tr.td().b().tx((/*!#*/"Type"));
tr.td().b().tx((/*!#*/"Value"));
tr.td().b().tx((context.formatMessage(RenderingContext.NAME_SYS_TYPE)));
tr.td().b().tx((context.formatMessage(RenderingContext.NAME_SYS_VALUE)));
if (hasPreferred) {
tr.td().b().tx((/*!#*/"Preferred"));
tr.td().b().tx((context.formatMessage(RenderingContext.NAME_SYS_PREF)));
}
if (hasPeriod) {
tr.td().b().tx((/*!#*/"Period"));
tr.td().b().tx((context.formatMessage(RenderingContext.NAME_SYS_PER)));
}
if (hasComment) {
tr.td().b().tx((/*!#*/"Comment"));
tr.td().b().tx((context.formatMessage(RenderingContext.NAME_SYS_COM)));
}
for (NamingSystemUniqueIdComponent id : ns.getUniqueId()) {
tr = tbl.tr();

View File

@ -353,21 +353,21 @@ public class ObligationsRenderer {
XhtmlNode tr = new XhtmlNode(NodeType.Element, "tr");
children.add(tr);
tr.td().style("font-size: 11px").b().tx(/*!#*/"Obligations");
tr.td().style("font-size: 11px").b().tx(context.formatMessage(RenderingContext.OBLIG_OBLIG));
if (actor) {
tr.td().style("font-size: 11px").tx(/*!#*/"Actor");
tr.td().style("font-size: 11px").tx(context.formatMessage(RenderingContext.OBLIG_ACT));
}
if (elementId) {
tr.td().style("font-size: 11px").tx(/*!#*/"Elements");
tr.td().style("font-size: 11px").tx(context.formatMessage(RenderingContext.OBLIG_ELE));
}
if (usage) {
tr.td().style("font-size: 11px").tx(/*!#*/"Usage");
tr.td().style("font-size: 11px").tx(context.formatMessage(RenderingContext.OBLIG_USE));
}
if (doco) {
tr.td().style("font-size: 11px").tx(/*!#*/"Documentation");
tr.td().style("font-size: 11px").tx(context.formatMessage(RenderingContext.OBLIG_DOC));
}
if (filter) {
tr.td().style("font-size: 11px").tx(/*!#*/"Filter");
tr.td().style("font-size: 11px").tx(context.formatMessage(RenderingContext.OBLIG_FILT));
}
for (ObligationDetail ob : obligations) {
tr = new XhtmlNode(NodeType.Element, "tr");

View File

@ -44,22 +44,22 @@ public class OperationDefinitionRenderer extends TerminologyRenderer {
if (context.isHeader()) {
x.h2().addText(opd.getName());
x.para().addText(Utilities.capitalize(opd.getKind().toString())+": "+opd.getName());
x.para().tx(/*!#*/"The official URL for this operation definition is: ");
x.para().tx(context.formatMessage(RenderingContext.OP_DEF_OFFIC)+" ");
x.pre().tx(opd.getUrl());
addMarkdown(x, opd.getDescription());}
if (opd.getSystem())
x.para().tx(/*!#*/"URL: [base]/$"+opd.getCode());
x.para().tx(context.formatMessage(RenderingContext.OP_DEF_URLS, opd.getCode()));
for (Enumeration<VersionIndependentResourceTypesAll> c : opd.getResource()) {
if (opd.getType())
x.para().tx(/*!#*/"URL: [base]/"+c.getCode()+"/$"+opd.getCode());
x.para().tx(context.formatMessage(RenderingContext.OP_DEF_URL, c.getCode()+"/$"+opd.getCode()));
if (opd.getInstance())
x.para().tx(/*!#*/"URL: [base]/"+c.getCode()+"/[id]/$"+opd.getCode());
x.para().tx(context.formatMessage(RenderingContext.OP_DEF_URL, c.getCode()+"/[id]/$"+opd.getCode()));
}
if (opd.hasInputProfile()) {
XhtmlNode p = x.para();
p.tx(/*!#*/"Input parameters Profile: ");
p.tx(context.formatMessage(RenderingContext.OP_DEF_INPAR));
StructureDefinition sd = context.getContext().fetchResource(StructureDefinition.class, opd.getInputProfile(), opd);
if (sd == null) {
p.pre().tx(opd.getInputProfile());
@ -69,7 +69,7 @@ public class OperationDefinitionRenderer extends TerminologyRenderer {
}
if (opd.hasOutputProfile()) {
XhtmlNode p = x.para();
p.tx(/*!#*/"Output parameters Profile: ");
p.tx(context.formatMessage(RenderingContext.OP_DEF_OUTPAR));
StructureDefinition sd = context.getContext().fetchResource(StructureDefinition.class, opd.getOutputProfile(), opd);
if (sd == null) {
p.pre().tx(opd.getOutputProfile());
@ -77,16 +77,16 @@ public class OperationDefinitionRenderer extends TerminologyRenderer {
p.ah(sd.getWebPath()).tx(sd.present());
}
}
x.para().tx(/*!#*/"Parameters");
x.para().tx(context.formatMessage(RenderingContext.OP_DEF_PAR));
XhtmlNode tbl = x.table( "grid");
XhtmlNode tr = tbl.tr();
tr.td().b().tx(/*!#*/"Use");
tr.td().b().tx(/*!#*/"Name");
tr.td().b().tx(/*!#*/"Scope");
tr.td().b().tx(/*!#*/"Cardinality");
tr.td().b().tx(/*!#*/"Type");
tr.td().b().tx(/*!#*/"Binding");
tr.td().b().tx(/*!#*/"Documentation");
tr.td().b().tx(context.formatMessage(RenderingContext.OP_DEF_USE));
tr.td().b().tx(context.formatMessage(RenderingContext.OP_DEF_NAME));
tr.td().b().tx(context.formatMessage(RenderingContext.OP_DEF_SCO));
tr.td().b().tx(context.formatMessage(RenderingContext.OP_DEF_CARD));
tr.td().b().tx(context.formatMessage(RenderingContext.OP_DEF_TYPE));
tr.td().b().tx(context.formatMessage(RenderingContext.OP_DEF_BIND));
tr.td().b().tx(context.formatMessage(RenderingContext.OP_DEF_DOC));
for (OperationDefinitionParameterComponent p : opd.getParameter()) {
genOpParam(tbl, "", p, opd);
}

View File

@ -41,17 +41,17 @@ public class OperationOutcomeRenderer extends ResourceRenderer {
hasSource = hasSource || ExtensionHelper.hasExtension(i, ToolingExtensions.EXT_ISSUE_SOURCE);
}
if (success)
x.para().tx(/*!#*/"All OK");
x.para().tx(context.formatMessage(RenderingContext.OP_OUT_OK));
if (op.getIssue().size() > 0) {
XhtmlNode tbl = x.table("grid"); // on the basis that we'll most likely be rendered using the standard fhir css, but it doesn't really matter
XhtmlNode tr = tbl.tr();
tr.td().b().tx(/*!#*/"Severity");
tr.td().b().tx(/*!#*/"Location");
tr.td().b().tx(/*!#*/"Code");
tr.td().b().tx(/*!#*/"Details");
tr.td().b().tx(/*!#*/"Diagnostics");
tr.td().b().tx(context.formatMessage(RenderingContext.OP_OUT_SEV));
tr.td().b().tx(context.formatMessage(RenderingContext.OP_OUT_LOC));
tr.td().b().tx(context.formatMessage(RenderingContext.OP_OUT_CODE));
tr.td().b().tx(context.formatMessage(RenderingContext.OP_OUT_DET));
tr.td().b().tx(context.formatMessage(RenderingContext.OP_OUT_DIAG));
if (hasSource)
tr.td().b().tx(/*!#*/"Source");
tr.td().b().tx(context.formatMessage(RenderingContext.OP_OUT_SRC));
for (OperationOutcomeIssueComponent i : op.getIssue()) {
tr = tbl.tr();
tr.td().addText(i.getSeverity().toString());
@ -82,12 +82,12 @@ public class OperationOutcomeRenderer extends ResourceRenderer {
}
public String display(OperationOutcome oo) {
return /*!#*/"todo";
return (context.formatMessage(RenderingContext.OP_OUT_TODO));
}
@Override
public String display(ResourceWrapper r) throws UnsupportedEncodingException, IOException {
return /*!#*/"Not done yet";
return (context.formatMessage(RenderingContext.OP_OUT_NOT));
}
@Override

View File

@ -37,7 +37,7 @@ public class ParametersRenderer extends ResourceRenderer {
@Override
public boolean render(XhtmlNode x, Resource r) throws FHIRFormatError, DefinitionException, IOException, FHIRException, EOperationOutcome {
x.h2().tx(/*!#*/"Parameters");
x.h2().tx(context.formatMessage(RenderingContext.PAR_REND_PAR));
XhtmlNode tbl = x.table("grid");
params(tbl, ((Parameters) r).getParameter(), 0);
return false;
@ -55,7 +55,7 @@ public class ParametersRenderer extends ResourceRenderer {
@Override
public boolean render(XhtmlNode x, ResourceWrapper params) throws FHIRFormatError, DefinitionException, IOException, FHIRException, EOperationOutcome {
x.h2().tx(/*!#*/"Parameters");
x.h2().tx(context.formatMessage(RenderingContext.PAR_REND_PAR));
XhtmlNode tbl = x.table("grid");
PropertyWrapper pw = getProperty(params, "parameter");
if (valued(pw)) {
@ -102,7 +102,7 @@ public class ParametersRenderer extends ResourceRenderer {
public XhtmlNode render(Parameters params) throws FHIRFormatError, DefinitionException, IOException, FHIRException, EOperationOutcome {
XhtmlNode div = new XhtmlNode(NodeType.Element, "div");
div.h2().tx(/*!#*/"Parameters");
div.h2().tx(context.formatMessage(RenderingContext.PAR_REND_PAR));
XhtmlNode tbl = div.table("grid");
params(tbl, params.getParameter(), 0);
return div;

View File

@ -125,7 +125,7 @@ public class ProfileDrivenRenderer extends ResourceRenderer {
try {
StructureDefinition sd = r.getDefinition();
if (sd == null) {
throw new FHIRException(/*!#*/"Cannot find definition for "+r.fhirType());
throw new FHIRException(context.formatMessage(RenderingContext.PROF_DRIV_FEXCP, r.fhirType())+" ");
} else {
ElementDefinition ed = sd.getSnapshot().getElement().get(0);
containedIds.clear();
@ -135,7 +135,7 @@ public class ProfileDrivenRenderer extends ResourceRenderer {
} catch (Exception e) {
System.out.println(/*!#*/"Error Generating Narrative for "+r.fhirType()+"/"+r.getId()+": "+e.getMessage());
e.printStackTrace();
x.para().b().style("color: maroon").tx(/*!#*/"Exception generating Narrative: "+e.getMessage());
x.para().b().style("color: maroon").tx(context.formatMessage(RenderingContext.PROF_DRIV_EXCP, e.getMessage())+" ");
}
return hasExtensions;
}

View File

@ -29,10 +29,10 @@ public class ProvenanceRenderer extends ResourceRenderer {
if (!prv.getTarget().isEmpty()) {
if (prv.getTarget().size() == 1) {
XhtmlNode p = x.para();
p.tx(/*!#*/"Provenance for ");
p.tx(context.formatMessage(RenderingContext.PROV_PROV)+" ");
renderReference(prv, p, prv.getTargetFirstRep());
} else {
x.para().tx(/*!#*/"Provenance for:");
x.para().tx(context.formatMessage(RenderingContext.PROV_PROVE)+" ");
XhtmlNode ul = x.ul();
for (Reference ref : prv.getTarget()) {
renderReference(prv, ul.li(), ref);
@ -40,12 +40,12 @@ public class ProvenanceRenderer extends ResourceRenderer {
}
}
// summary table
x.para().tx(/*!#*/"Summary");
x.para().tx(context.formatMessage(RenderingContext.PROV_SUM));
XhtmlNode t = x.table("grid");
XhtmlNode tr;
if (prv.hasOccurred()) {
tr = t.tr();
tr.td().tx(/*!#*/"Occurrence");
tr.td().tx(context.formatMessage(RenderingContext.PROV_OCC));
if (prv.hasOccurredPeriod()) {
renderPeriod(tr.td(), prv.getOccurredPeriod());
} else {
@ -54,12 +54,12 @@ public class ProvenanceRenderer extends ResourceRenderer {
}
if (prv.hasRecorded()) {
tr = t.tr();
tr.td().tx(/*!#*/"Recorded");
tr.td().tx(context.formatMessage(RenderingContext.PROV_REC));
tr.td().addText(displayDateTime(prv.getRecordedElement()));
}
if (prv.hasPolicy()) {
tr = t.tr();
tr.td().tx(/*!#*/"Policy");
tr.td().tx(context.formatMessage(RenderingContext.PROV_POL));
if (prv.getPolicy().size() == 1) {
renderUri(tr.td(), prv.getPolicy().get(0));
} else {
@ -71,12 +71,12 @@ public class ProvenanceRenderer extends ResourceRenderer {
}
if (prv.hasLocation()) {
tr = t.tr();
tr.td().tx(/*!#*/"Location");
tr.td().tx(context.formatMessage(RenderingContext.PROV_LOC));
renderReference(prv, tr.td(), prv.getLocation());
}
if (prv.hasActivity()) {
tr = t.tr();
tr.td().tx(/*!#*/"Activity");
tr.td().tx(context.formatMessage(RenderingContext.PROV_ACT));
renderCodeableConcept(tr.td(), prv.getActivity(), false);
}
@ -88,18 +88,18 @@ public class ProvenanceRenderer extends ResourceRenderer {
hasRole = hasRole || a.hasRole();
hasOnBehalfOf = hasOnBehalfOf || a.hasOnBehalfOf();
}
x.para().b().tx(/*!#*/"Agents");
x.para().b().tx(context.formatMessage(RenderingContext.PROV_AGE));
t = x.table("grid");
tr = t.tr();
if (hasType) {
tr.td().b().tx(/*!#*/"Type");
tr.td().b().tx(context.formatMessage(RenderingContext.PROV_TYPE));
}
if (hasRole) {
tr.td().b().tx(/*!#*/"Role");
tr.td().b().tx(context.formatMessage(RenderingContext.PROV_ROLE));
}
tr.td().b().tx(/*!#*/"who");
tr.td().b().tx(context.formatMessage(RenderingContext.PROV_WHO));
if (hasOnBehalfOf) {
tr.td().b().tx(/*!#*/"On Behalf Of");
tr.td().b().tx(context.formatMessage(RenderingContext.PROV_BEHALF));
}
for (ProvenanceAgentComponent a : prv.getAgent()) {
tr = t.tr();
@ -147,12 +147,12 @@ public class ProvenanceRenderer extends ResourceRenderer {
}
public String display(Provenance prv) throws UnsupportedEncodingException, IOException {
return /*!#*/"Provenance for "+displayReference(prv, prv.getTargetFirstRep());
return (context.formatMessage(RenderingContext.PROV_FOR, displayReference(prv, prv.getTargetFirstRep()))+" ");
}
@Override
public String display(ResourceWrapper r) throws UnsupportedEncodingException, IOException {
return /*!#*/"Not done yet";
return (context.formatMessage(RenderingContext.PROV_NOT));
}
}

View File

@ -68,7 +68,7 @@ public class QuestionnaireRenderer extends TerminologyRenderer {
boolean doOpts = context.getDefinitionsTarget() == null && hasAnyOptions(q.getItem());
if (doOpts) {
x.b().tx(/*!#*/"Structure");
x.b().tx(context.formatMessage(RenderingContext.QUEST_STRUCT));
}
HierarchicalTableGenerator gen = new HierarchicalTableGenerator(context, context.getDestDir(), context.isInlineGraphics(), true);
TableModel model = gen.new TableModel("qtree="+q.getId(), context.getRules() == GenerationRules.IG_PUBLISHER);
@ -79,14 +79,14 @@ public class QuestionnaireRenderer extends TerminologyRenderer {
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(), /*!#*/"Cardinality", /*!#*/"Minimum and Maximum # of times the the itemcan appear in the instance", null, 0));
model.getTitles().add(gen.new Title(null, model.getDocoRef(), /*!#*/"Type", /*!#*/"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_CARD)), (context.formatMessage(RenderingContext.QUEST_TIMES)), null, 0));
model.getTitles().add(gen.new Title(null, model.getDocoRef(), (context.formatMessage(RenderingContext.QUEST_TYPE)), (context.formatMessage(RenderingContext.QUEST_TYPE_ITEM)), null, 0));
if (hasFlags) {
model.getTitles().add(gen.new Title(null, model.getDocoRef(), /*!#*/"Flags", /*!#*/"Other attributes of the item", null, 0));
model.getTitles().add(gen.new Title(null, model.getDocoRef(), (context.formatMessage(RenderingContext.QUEST_FLAG)), (context.formatMessage(RenderingContext.QUEST_ATTRIBUTES)), null, 0));
}
model.getTitles().add(gen.new Title(null, model.getDocoRef(), /*!#*/"Description & Constraints", /*!#*/"Additional information about the item", null, 0));
model.getTitles().add(gen.new Title(null, model.getDocoRef(), (context.formatMessage(RenderingContext.QUEST_DESC)), (context.formatMessage(RenderingContext.QUEST_ADD_INFO)), null, 0));
boolean hasExt = false;
// first we add a root for the questionaire itself
@ -105,7 +105,7 @@ public class QuestionnaireRenderer extends TerminologyRenderer {
private void renderOptions(Questionnaire q, XhtmlNode x) {
if (hasAnyOptions(q.getItem())) {
x.hr();
x.para().b().tx(/*!#*/"Option Sets");
x.para().b().tx(context.formatMessage(RenderingContext.QUEST_OPT));
renderOptions(q.getItem(), x);
}
}
@ -124,7 +124,7 @@ public class QuestionnaireRenderer extends TerminologyRenderer {
useSelect = useSelect || opt.getInitialSelected();
}
x.an("opt-item."+i.getLinkId());
x.para().b().tx(/*!#*/"Answer options for "+i.getLinkId());
x.para().b().tx(context.formatMessage(RenderingContext.QUEST_ANSW, i.getLinkId())+" ");
XhtmlNode ul = x.ul();
for (QuestionnaireItemAnswerOptionComponent opt : i.getAnswerOption()) {
XhtmlNode li = ul.li();
@ -209,11 +209,11 @@ public class QuestionnaireRenderer extends TerminologyRenderer {
Row r = gen.new Row();
rows.add(r);
r.setIcon("icon_q_root.gif", /*!#*/"QuestionnaireRoot");
r.setIcon("icon_q_root.gif", context.formatMessage(RenderingContext.QUEST_ROOT));
r.getCells().add(gen.new Cell(null, null, q.getName(), null, null));
r.getCells().add(gen.new Cell(null, null, q.getDescription(), null, null));
r.getCells().add(gen.new Cell(null, null, "", null, null));
r.getCells().add(gen.new Cell(null, null, /*!#*/"Questionnaire", null, null));
r.getCells().add(gen.new Cell(null, null, context.formatMessage(RenderingContext.QUEST_QUEST), null, null));
if (hasFlags) {
r.getCells().add(gen.new Cell(null, null, "", null, null));
}
@ -263,45 +263,45 @@ public class QuestionnaireRenderer extends TerminologyRenderer {
Cell flags = gen.new Cell();
r.getCells().add(flags);
if (i.getReadOnly()) {
flags.addPiece(gen.new Piece(Utilities.pathURL(context.getLink(KnownLinkType.SPEC), "questionnaire-definitions.html#Questionnaire.item.readOnly"), null, /*!#*/"Is Readonly").addHtml(new XhtmlNode(NodeType.Element, "img").attribute("alt", "icon").attribute("src", getImgPath("icon-qi-readonly.png"))));
flags.addPiece(gen.new Piece(Utilities.pathURL(context.getLink(KnownLinkType.SPEC), "questionnaire-definitions.html#Questionnaire.item.readOnly"), null, context.formatMessage(RenderingContext.QUEST_READONLY)).addHtml(new XhtmlNode(NodeType.Element, "img").attribute("alt", "icon").attribute("src", getImgPath("icon-qi-readonly.png"))));
}
if (ToolingExtensions.readBoolExtension(i, "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-isSubject")) {
flags.addPiece(gen.new Piece(getSDCLink("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-isSubject", "StructureDefinition-sdc-questionnaire-isSubject.html"), null, /*!#*/"Can change the subject of the questionnaire").addHtml(new XhtmlNode(NodeType.Element, "img").attribute("alt", "icon").attribute("src", getImgPath("icon-qi-subject.png"))));
flags.addPiece(gen.new Piece(getSDCLink("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-isSubject", "StructureDefinition-sdc-questionnaire-isSubject.html"), null, context.formatMessage(RenderingContext.QUEST_SUBJECT)).addHtml(new XhtmlNode(NodeType.Element, "img").attribute("alt", "icon").attribute("src", getImgPath("icon-qi-subject.png"))));
}
if (ToolingExtensions.readBoolExtension(i, ToolingExtensions.EXT_Q_HIDDEN)) {
flags.addPiece(gen.new Piece(getSpecLink("extension-questionnaire-hidden.html"), null, /*!#*/"Is a hidden item").addHtml(new XhtmlNode(NodeType.Element, "img").attribute("alt", "icon").attribute("src", getImgPath("icon-qi-hidden.png"))));
flags.addPiece(gen.new Piece(getSpecLink("extension-questionnaire-hidden.html"), null, context.formatMessage(RenderingContext.QUEST_HIDDEN)).addHtml(new XhtmlNode(NodeType.Element, "img").attribute("alt", "icon").attribute("src", getImgPath("icon-qi-hidden.png"))));
}
if (ToolingExtensions.readBoolExtension(i, ToolingExtensions.EXT_Q_OTP_DISP)) {
flags.addPiece(gen.new Piece(getSDCLink("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-optionalDisplay", "StructureDefinition-sdc-questionnaire-optionalDisplay.html"), null, /*!#*/"Is optional to display").addHtml(new XhtmlNode(NodeType.Element, "img").attribute("alt", "icon").attribute("src", getImgPath("icon-qi-optional.png"))));
flags.addPiece(gen.new Piece(getSDCLink("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-optionalDisplay", "StructureDefinition-sdc-questionnaire-optionalDisplay.html"), null, context.formatMessage(RenderingContext.QUEST_DISPLAY)).addHtml(new XhtmlNode(NodeType.Element, "img").attribute("alt", "icon").attribute("src", getImgPath("icon-qi-optional.png"))));
}
if (i.hasExtension("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationLinkPeriod")) {
flags.addPiece(gen.new Piece(getSDCLink("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationLinkPeriod", "StructureDefinition-sdc-questionnaire-observationLinkPeriod.html"), null, /*!#*/"Is linked to an observation").addHtml(new XhtmlNode(NodeType.Element, "img").attribute("alt", "icon").attribute("src", getImgPath("icon-qi-observation.png"))));
flags.addPiece(gen.new Piece(getSDCLink("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationLinkPeriod", "StructureDefinition-sdc-questionnaire-observationLinkPeriod.html"), null, context.formatMessage(RenderingContext.QUEST_LINKED)).addHtml(new XhtmlNode(NodeType.Element, "img").attribute("alt", "icon").attribute("src", getImgPath("icon-qi-observation.png"))));
}
if (i.hasExtension(ToolingExtensions.EXT_Q_CHOICE_ORIENT)) {
String code = ToolingExtensions.readStringExtension(i, ToolingExtensions.EXT_Q_CHOICE_ORIENT);
flags.addPiece(gen.new Piece(getSpecLink("extension-questionnaire-choiceorientation.html"), null, /*!#*/"Orientation: "+code).addHtml(new XhtmlNode(NodeType.Element, "img").attribute("alt", "icon").attribute("src", getImgPath("icon-qi-" + code + ".png"))));
flags.addPiece(gen.new Piece(getSpecLink("extension-questionnaire-choiceorientation.html"), null, context.formatMessage(RenderingContext.QUEST_ORIENTATION, code)+" ").addHtml(new XhtmlNode(NodeType.Element, "img").attribute("alt", "icon").attribute("src", getImgPath("icon-qi-" + code + ".png"))));
}
if (i.hasExtension(ToolingExtensions.EXT_Q_DISPLAY_CAT)) {
CodeableConcept cc = i.getExtensionByUrl(ToolingExtensions.EXT_Q_DISPLAY_CAT).getValueCodeableConcept();
String code = cc.getCode("http://hl7.org/fhir/questionnaire-display-category");
flags.addPiece(gen.new Piece("https://hl7.org/fhir/R4/extension-questionnaire-displayCategory.html", null, /*!#*/"Category: "+code).addHtml(new XhtmlNode(NodeType.Element, "img").attribute("alt", "icon").attribute("src", getImgPath("icon-qi-" + code + ".png"))));
flags.addPiece(gen.new Piece("https://hl7.org/fhir/R4/extension-questionnaire-displayCategory.html", null, context.formatMessage(RenderingContext.QUEST_CAT, code)+" ").addHtml(new XhtmlNode(NodeType.Element, "img").attribute("alt", "icon").attribute("src", getImgPath("icon-qi-" + code + ".png"))));
}
}
Cell defn = gen.new Cell();
r.getCells().add(defn);
if (i.hasMaxLength()) {
defn.getPieces().add(gen.new Piece(null, /*!#*/"Max Length: ", null));
defn.getPieces().add(gen.new Piece(null, (context.formatMessage(RenderingContext.QUEST_MAX)+" "), null));
defn.getPieces().add(gen.new Piece(null, Integer.toString(i.getMaxLength()), null));
}
if (i.hasDefinition()) {
if (!defn.getPieces().isEmpty()) defn.addPiece(gen.new Piece("br"));
defn.getPieces().add(gen.new Piece(null, /*!#*/"Definition: ", null));
defn.getPieces().add(gen.new Piece(null, (context.formatMessage(RenderingContext.QUEST_DEF)+" "), null));
genDefinitionLink(gen, i, defn, q);
}
if (i.hasEnableWhen()) {
if (!defn.getPieces().isEmpty()) defn.addPiece(gen.new Piece("br"));
Piece p = gen.new Piece(null, /*!#*/"Enable When: ", null);
Piece p = gen.new Piece(null, (context.formatMessage(RenderingContext.QUEST_ENABLE)+" "), null);
defn.getPieces().add(p);
if (i.getEnableWhen().size() == 1) {
XhtmlNode x = new XhtmlNode(NodeType.Element, "span");
@ -317,7 +317,7 @@ public class QuestionnaireRenderer extends TerminologyRenderer {
}
if (i.hasAnswerValueSet()) {
if (!defn.getPieces().isEmpty()) defn.addPiece(gen.new Piece("br"));
defn.getPieces().add(gen.new Piece(null, /*!#*/"Value Set: ", null));
defn.getPieces().add(gen.new Piece(null, (context.formatMessage(RenderingContext.QUEST_VALUE)+" "), null));
if (!Utilities.noString(i.getAnswerValueSet()) && i.getAnswerValueSet().startsWith("#")) {
ValueSet vs = (ValueSet) q.getContained(i.getAnswerValueSet().substring(1));
if (vs == null) {
@ -336,7 +336,7 @@ public class QuestionnaireRenderer extends TerminologyRenderer {
}
if (i.hasAnswerOption()) {
if (!defn.getPieces().isEmpty()) defn.addPiece(gen.new Piece("br"));
defn.getPieces().add(gen.new Piece(null, /*!#*/"Options: ", null));
defn.getPieces().add(gen.new Piece(null, (context.formatMessage(RenderingContext.QUEST_OPTIONS)+" "), null));
if (context.getDefinitionsTarget() == null) {
// if we don't have a definitions target, we'll add them below.
defn.getPieces().add(gen.new Piece("#opt-item."+i.getLinkId(), Integer.toString(i.getAnswerOption().size())+" "+Utilities.pluralize("option", i.getAnswerOption().size()), null));
@ -347,7 +347,7 @@ public class QuestionnaireRenderer extends TerminologyRenderer {
if (i.hasInitial()) {
for (QuestionnaireItemInitialComponent v : i.getInitial()) {
if (!defn.getPieces().isEmpty()) defn.addPiece(gen.new Piece("br"));
defn.getPieces().add(gen.new Piece(null, /*!#*/"Initial Value: ", null));
defn.getPieces().add(gen.new Piece(null, (context.formatMessage(RenderingContext.QUEST_INITIAL)+" "), null));
defn.getPieces().add(gen.new Piece(null, v.getValue().fhirType(), null));
defn.getPieces().add(gen.new Piece(null, " = ", null));
if (v.getValue().isPrimitive()) {
@ -375,26 +375,26 @@ public class QuestionnaireRenderer extends TerminologyRenderer {
if (i.hasExtension("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression") || i.hasExtension("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemContext") || i.hasExtension("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression") || i.hasExtension("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-contextExpression") || i.hasExtension("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-candidateExpression") || i.hasExtension("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression")) {
if (!defn.getPieces().isEmpty()) defn.addPiece(gen.new Piece("br"));
defn.getPieces().add(gen.new Piece(null, /*!#*/"Expressions: ", null));
defn.getPieces().add(gen.new Piece(null, (context.formatMessage(RenderingContext.QUEST_EXP)+" "), null));
Piece p = gen.new Piece("ul");
defn.getPieces().add(p);
for (Extension e : i.getExtensionsByUrl("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression")) {
addExpression(p, e.getValueExpression(), /*!#*/"Initial Value", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression");
addExpression(p, e.getValueExpression(), context.formatMessage(RenderingContext.QUEST_INT), "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression");
}
for (Extension e : i.getExtensionsByUrl("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-contextExpression")) {
addExpression(p, e.getValueExpression(), /*!#*/"Context", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-contextExpression");
addExpression(p, e.getValueExpression(), context.formatMessage(RenderingContext.QUEST_CONT), "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-contextExpression");
}
for (Extension e : i.getExtensionsByUrl("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemContext")) {
addExpression(p, e.getValueExpression(), /*!#*/"Item Context", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemContext");
addExpression(p, e.getValueExpression(), context.formatMessage(RenderingContext.QUEST_ITEM_CONT), "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemContext");
}
for (Extension e : i.getExtensionsByUrl("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression")) {
addExpression(p, e.getValueExpression(), /*!#*/"Enable When", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression");
addExpression(p, e.getValueExpression(), context.formatMessage(RenderingContext.QUEST_EN), "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression");
}
for (Extension e : i.getExtensionsByUrl("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression")) {
addExpression(p, e.getValueExpression(), /*!#*/"Calculated Value", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression");
addExpression(p, e.getValueExpression(), context.formatMessage(RenderingContext.QUEST_CALC), "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression");
}
for (Extension e : i.getExtensionsByUrl("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-candidateExpression")) {
addExpression(p, e.getValueExpression(), /*!#*/"Candidates", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-candidateExpression");
addExpression(p, e.getValueExpression(), context.formatMessage(RenderingContext.QUEST_CAND), "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-candidateExpression");
}
}
@ -469,8 +469,8 @@ public class QuestionnaireRenderer extends TerminologyRenderer {
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(), /*!#*/"Description & Constraints", /*!#*/"Additional information about 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_DESC), context.formatMessage(RenderingContext.QUEST_ADD_INFO), null, 0));
boolean hasExt = false;
if (!q.hasItem()) {
@ -496,22 +496,22 @@ public class QuestionnaireRenderer extends TerminologyRenderer {
r.getCells().add(defn);
if (i.hasMaxLength()) {
defn.getPieces().add(gen.new Piece(null, /*!#*/"Max Length: ", null));
defn.getPieces().add(gen.new Piece(null, (context.formatMessage(RenderingContext.QUEST_MAX)+" "), null));
defn.getPieces().add(gen.new Piece(null, Integer.toString(i.getMaxLength()), null));
}
if (i.hasDefinition()) {
if (!defn.getPieces().isEmpty()) defn.addPiece(gen.new Piece("br"));
defn.getPieces().add(gen.new Piece(null, /*!#*/"Definition: ", null));
defn.getPieces().add(gen.new Piece(null, (context.formatMessage(RenderingContext.QUEST_DEF)+" "), null));
genDefinitionLink(gen, i, defn, q);
}
if (i.hasEnableWhen()) {
if (!defn.getPieces().isEmpty()) defn.addPiece(gen.new Piece("br"));
defn.getPieces().add(gen.new Piece(null, /*!#*/"Enable When: ", null));
defn.getPieces().add(gen.new Piece(null, /*!#*/"todo", null));
defn.getPieces().add(gen.new Piece(null, (context.formatMessage(RenderingContext.QUEST_ENABLE)+" "), null));
defn.getPieces().add(gen.new Piece(null, context.formatMessage(RenderingContext.QUEST_TODO), null));
}
if (i.hasAnswerValueSet()) {
if (!defn.getPieces().isEmpty()) defn.addPiece(gen.new Piece("br"));
defn.getPieces().add(gen.new Piece(null, /*!#*/"Value Set: ", null));
defn.getPieces().add(gen.new Piece(null, (context.formatMessage(RenderingContext.QUEST_VALUE)+" "), null));
if (Utilities.noString(i.getAnswerValueSet()) && i.getAnswerValueSet().startsWith("#")) {
ValueSet vs = (ValueSet) q.getContained(i.getAnswerValueSet().substring(1));
if (vs == null) {
@ -530,13 +530,13 @@ public class QuestionnaireRenderer extends TerminologyRenderer {
}
if (i.hasAnswerOption()) {
if (!defn.getPieces().isEmpty()) defn.addPiece(gen.new Piece("br"));
defn.getPieces().add(gen.new Piece(null, /*!#*/"Options: ", null));
defn.getPieces().add(gen.new Piece(null, (context.formatMessage(RenderingContext.QUEST_OPTIONS)+" "), null));
defn.getPieces().add(gen.new Piece(context.getDefinitionsTarget()+"#item."+i.getLinkId(), Integer.toString(i.getAnswerOption().size())+" "+Utilities.pluralize("option", i.getAnswerOption().size()), null));
}
if (i.hasInitial()) {
for (QuestionnaireItemInitialComponent v : i.getInitial()) {
if (!defn.getPieces().isEmpty()) defn.addPiece(gen.new Piece("br"));
defn.getPieces().add(gen.new Piece(null, /*!#*/"Initial Value: ", null));
defn.getPieces().add(gen.new Piece(null, (context.formatMessage(RenderingContext.QUEST_INITIAL)+" "), null));
defn.getPieces().add(gen.new Piece(null, v.getValue().fhirType(), null));
defn.getPieces().add(gen.new Piece(null, " = ", null));
if (v.getValue().isPrimitive()) {
@ -564,26 +564,26 @@ public class QuestionnaireRenderer extends TerminologyRenderer {
if (i.hasExtension("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression") || i.hasExtension("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemContext") || i.hasExtension("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression") || i.hasExtension("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-contextExpression") || i.hasExtension("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-candidateExpression") || i.hasExtension("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression")) {
if (!defn.getPieces().isEmpty()) defn.addPiece(gen.new Piece("br"));
defn.getPieces().add(gen.new Piece(null, /*!#*/"Expressions: ", null));
defn.getPieces().add(gen.new Piece(null, (context.formatMessage(RenderingContext.QUEST_EXP)+" "), null));
Piece p = gen.new Piece("ul");
defn.getPieces().add(p);
for (Extension e : i.getExtensionsByUrl("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression")) {
addExpression(p, e.getValueExpression(), /*!#*/"Initial Value", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression");
addExpression(p, e.getValueExpression(), context.formatMessage(RenderingContext.QUEST_INT), "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression");
}
for (Extension e : i.getExtensionsByUrl("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-contextExpression")) {
addExpression(p, e.getValueExpression(), /*!#*/"Context", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-contextExpression");
addExpression(p, e.getValueExpression(), context.formatMessage(RenderingContext.QUEST_CONT), "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-contextExpression");
}
for (Extension e : i.getExtensionsByUrl("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemContext")) {
addExpression(p, e.getValueExpression(), /*!#*/"Item Context", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemContext");
addExpression(p, e.getValueExpression(), context.formatMessage(RenderingContext.QUEST_ITEM_CONT), "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemContext");
}
for (Extension e : i.getExtensionsByUrl("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression")) {
addExpression(p, e.getValueExpression(), /*!#*/"Enable When", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression");
addExpression(p, e.getValueExpression(), context.formatMessage(RenderingContext.QUEST_EN), "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression");
}
for (Extension e : i.getExtensionsByUrl("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression")) {
addExpression(p, e.getValueExpression(), /*!#*/"Calculated Value", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression");
addExpression(p, e.getValueExpression(), context.formatMessage(RenderingContext.QUEST_CALC), "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression");
}
for (Extension e : i.getExtensionsByUrl("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-candidateExpression")) {
addExpression(p, e.getValueExpression(), /*!#*/"Candidates", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-candidateExpression");
addExpression(p, e.getValueExpression(), context.formatMessage(RenderingContext.QUEST_CAND), "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-candidateExpression");
}
}
@ -640,7 +640,7 @@ public class QuestionnaireRenderer extends TerminologyRenderer {
}
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;
@ -719,39 +719,39 @@ public class QuestionnaireRenderer extends TerminologyRenderer {
if (ToolingExtensions.readBoolExtension(i, "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-isSubject")) {
hasFlag = true;
flags.ah(getSDCLink("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-isSubject", "StructureDefinition-sdc-questionnaire-isSubject.html"), /*!#*/"Can change the subject of the questionnaire").img(getImgPath("icon-qi-subject.png"), "icon");
flags.ah(getSDCLink("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-isSubject", "StructureDefinition-sdc-questionnaire-isSubject.html"), context.formatMessage(RenderingContext.QUEST_SUBJECT)).img(getImgPath("icon-qi-subject.png"), "icon");
}
if (ToolingExtensions.readBoolExtension(i, ToolingExtensions.EXT_Q_HIDDEN)) {
hasFlag = true;
flags.ah(Utilities.pathURL(context.getLink(KnownLinkType.SPEC), "extension-questionnaire-hidden.html"), /*!#*/"Is a hidden item").img(getImgPath("icon-qi-hidden.png"), "icon");
flags.ah(Utilities.pathURL(context.getLink(KnownLinkType.SPEC), "extension-questionnaire-hidden.html"), context.formatMessage(RenderingContext.QUEST_HIDDEN)).img(getImgPath("icon-qi-hidden.png"), "icon");
d.style("background-color: #eeeeee");
}
if (ToolingExtensions.readBoolExtension(i, ToolingExtensions.EXT_Q_OTP_DISP)) {
hasFlag = true;
flags.ah(getSDCLink("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-optionalDisplay", "StructureDefinition-sdc-questionnaire-optionalDisplay.html"), /*!#*/"Is optional to display").img(getImgPath("icon-qi-optional.png"), "icon");
flags.ah(getSDCLink("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-optionalDisplay", "StructureDefinition-sdc-questionnaire-optionalDisplay.html"), context.formatMessage(RenderingContext.QUEST_DISPLAY)).img(getImgPath("icon-qi-optional.png"), "icon");
}
if (i.hasExtension("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationLinkPeriod")) {
hasFlag = true;
flags.ah(getSDCLink("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationLinkPeriod", "StructureDefinition-sdc-questionnaire-observationLinkPeriod.html"), /*!#*/"Is linked to an observation").img(getImgPath("icon-qi-observation.png"), "icon");
flags.ah(getSDCLink("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationLinkPeriod", "StructureDefinition-sdc-questionnaire-observationLinkPeriod.html"), context.formatMessage(RenderingContext.QUEST_LINKED)).img(getImgPath("icon-qi-observation.png"), "icon");
}
if (i.hasExtension(ToolingExtensions.EXT_Q_DISPLAY_CAT)) {
CodeableConcept cc = i.getExtensionByUrl(ToolingExtensions.EXT_Q_DISPLAY_CAT).getValueCodeableConcept();
String code = cc.getCode("http://hl7.org/fhir/questionnaire-display-category");
hasFlag = true;
flags.ah("https://hl7.org/fhir/R4/extension-questionnaire-displayCategory.html", /*!#*/"Category: "+code).img(getImgPath("icon-qi-" + code + ".png"), "icon");
flags.ah("https://hl7.org/fhir/R4/extension-questionnaire-displayCategory.html", (context.formatMessage(RenderingContext.QUEST_CAT, code)+" ")).img(getImgPath("icon-qi-" + code + ".png"), "icon");
}
if (i.hasMaxLength()) {
item(ul, /*!#*/"Max Length", Integer.toString(i.getMaxLength()));
item(ul, context.formatMessage(RenderingContext.QUEST_MAX), Integer.toString(i.getMaxLength()));
}
if (i.hasDefinition()) {
genDefinitionLink(item(ul, /*!#*/"Definition"), i, q);
genDefinitionLink(item(ul, context.formatMessage(RenderingContext.QUEST_DEF)), i, q);
}
if (i.hasEnableWhen()) {
item(ul, /*!#*/"Enable When", "todo");
item(ul, context.formatMessage(RenderingContext.QUEST_EN), "todo");
}
if (i.hasAnswerValueSet()) {
XhtmlNode ans = item(ul, /*!#*/"Answers");
XhtmlNode ans = item(ul, context.formatMessage(RenderingContext.QUEST_ANSWERS));
if (!Utilities.noString(i.getAnswerValueSet()) && i.getAnswerValueSet().startsWith("#")) {
ValueSet vs = (ValueSet) q.getContained(i.getAnswerValueSet().substring(1));
if (vs == null || !vs.hasWebPath()) {
@ -769,10 +769,10 @@ public class QuestionnaireRenderer extends TerminologyRenderer {
}
}
if (i.hasAnswerOption()) {
item(ul, /*!#*/"Answers", Integer.toString(i.getAnswerOption().size())+" "+Utilities.pluralize("option", i.getAnswerOption().size()), context.getDefinitionsTarget()+"#item."+i.getLinkId());
item(ul, context.formatMessage(RenderingContext.QUEST_ANSWERS), Integer.toString(i.getAnswerOption().size())+" "+Utilities.pluralize("option", i.getAnswerOption().size()), context.getDefinitionsTarget()+"#item."+i.getLinkId());
}
if (i.hasInitial()) {
XhtmlNode vi = item(ul, /*!#*/"Initial Values");
XhtmlNode vi = item(ul, context.formatMessage(RenderingContext.QUEST_INT));
boolean first = true;
for (QuestionnaireItemInitialComponent v : i.getInitial()) {
if (first) first = false; else vi.tx(", ");
@ -883,13 +883,13 @@ public class QuestionnaireRenderer extends TerminologyRenderer {
}
public String display(Questionnaire q) throws UnsupportedEncodingException, IOException {
return /*!#*/"Questionnaire "+q.present();
return context.formatMessage(RenderingContext.QUEST_QUESTIONNAIRE, q.present())+" ";
}
private boolean renderLinks(XhtmlNode x, Questionnaire q) {
x.para().tx(/*!#*/"Try this questionnaire out:");
x.para().tx(context.formatMessage(RenderingContext.QUEST_TRY));
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;
}
@ -908,42 +908,42 @@ public class QuestionnaireRenderer extends TerminologyRenderer {
XhtmlNode td = tbl.tr().td("structure").colspan("2").span(null, null).attribute("class", "self-link-parent");
td.an(q.getId());
td.img(getImgPath("icon_q_root.gif"), "icon");
td.tx(" "+/*!#*/"Questionnaire ");
td.tx(" "+(context.formatMessage(RenderingContext.QUEST_QUEST)+" "));
td.b().tx(q.getId());
// general information
defn(tbl, /*!#*/"URL", q.getUrl());
defn(tbl, /*!#*/"Version", q.getVersion());
defn(tbl, /*!#*/"Name", q.getName());
defn(tbl, /*!#*/"Title", q.getTitle());
defn(tbl, context.formatMessage(RenderingContext.QUEST_URL), q.getUrl());
defn(tbl, context.formatMessage(RenderingContext.QUEST_VERSION), q.getVersion());
defn(tbl, context.formatMessage(RenderingContext.QUEST_NAME), q.getName());
defn(tbl, context.formatMessage(RenderingContext.QUEST_TITLE), q.getTitle());
if (q.hasDerivedFrom()) {
td = defn(tbl, /*!#*/"Derived From");
td = defn(tbl, context.formatMessage(RenderingContext.QUEST_DERIVED));
boolean first = true;
for (CanonicalType c : q.getDerivedFrom()) {
if (first) first = false; else td.tx(", ");
td.tx(c.asStringValue()); // todo: make these a reference
}
}
defn(tbl, /*!#*/"Status", q.getStatus().getDisplay());
defn(tbl, /*!#*/"Experimental", q.getExperimental());
defn(tbl, /*!#*/"Publication Date", q.getDateElement().primitiveValue());
defn(tbl, /*!#*/"Approval Date", q.getApprovalDateElement().primitiveValue());
defn(tbl, /*!#*/"Last Review Date", q.getLastReviewDateElement().primitiveValue());
defn(tbl, context.formatMessage(RenderingContext.QUEST_STATUS), q.getStatus().getDisplay());
defn(tbl, context.formatMessage(RenderingContext.QUEST_EXPER), q.getExperimental());
defn(tbl, context.formatMessage(RenderingContext.QUEST_PUB), q.getDateElement().primitiveValue());
defn(tbl, context.formatMessage(RenderingContext.QUEST_APP), q.getApprovalDateElement().primitiveValue());
defn(tbl, context.formatMessage(RenderingContext.QUEST_REV_DATE), q.getLastReviewDateElement().primitiveValue());
if (q.hasEffectivePeriod()) {
renderPeriod(defn(tbl, /*!#*/"Effective Period"), q.getEffectivePeriod());
renderPeriod(defn(tbl, context.formatMessage(RenderingContext.QUEST_EFF_PERIOD)), q.getEffectivePeriod());
}
if (q.hasSubjectType()) {
td = defn(tbl, /*!#*/"Subject Type");
td = defn(tbl, context.formatMessage(RenderingContext.QUEST_SUB_TYPE));
boolean first = true;
for (CodeType c : q.getSubjectType()) {
if (first) first = false; else td.tx(", ");
td.tx(c.asStringValue());
}
}
defn(tbl, /*!#*/"Description", q.getDescription());
defn(tbl, /*!#*/"Purpose", q.getPurpose());
defn(tbl, /*!#*/"Copyright", q.getCopyright());
defn(tbl, context.formatMessage(RenderingContext.QUEST_DESCRIPTION), q.getDescription());
defn(tbl, context.formatMessage(RenderingContext.QUEST_PURPOSE), q.getPurpose());
defn(tbl, context.formatMessage(RenderingContext.QUEST_COPYRIGHT), q.getCopyright());
if (q.hasCode()) {
td = defn(tbl, Utilities.pluralize("Code", q.getCode().size()));
boolean first = true;
@ -968,37 +968,37 @@ public class QuestionnaireRenderer extends TerminologyRenderer {
td.b().tx(qi.getLinkId());
// general information
defn(tbl, /*!#*/"Link Id", qi.getLinkId());
defn(tbl, /*!#*/"Prefix", qi.getPrefix());
defn(tbl, /*!#*/"Text", qi.getText());
defn(tbl, /*!#*/"Type", qi.getType().getDisplay());
defn(tbl, /*!#*/"Required", qi.getRequired(), true);
defn(tbl, /*!#*/"Repeats", qi.getRepeats(), true);
defn(tbl, /*!#*/"Read Only", qi.getReadOnly(), false);
defn(tbl, context.formatMessage(RenderingContext.QUEST_ID), qi.getLinkId());
defn(tbl, context.formatMessage(RenderingContext.QUEST_PREFIX), qi.getPrefix());
defn(tbl, context.formatMessage(RenderingContext.QUEST_TEXT), qi.getText());
defn(tbl, context.formatMessage(RenderingContext.QUEST_TYPE), qi.getType().getDisplay());
defn(tbl, context.formatMessage(RenderingContext.QUEST_REQ), qi.getRequired(), true);
defn(tbl, context.formatMessage(RenderingContext.QUEST_REP), qi.getRepeats(), true);
defn(tbl, context.formatMessage(RenderingContext.QUEST_READ_ONLY), qi.getReadOnly(), false);
if (ToolingExtensions.readBoolExtension(qi, "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-isSubject")) {
defn(tbl, /*!#*/"Subject", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-isSubject", "This element changes who the subject of the question is", null);
defn(tbl, context.formatMessage(RenderingContext.QUEST_SUB), "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-isSubject", "This element changes who the subject of the question is", null);
}
// content control
defn(tbl, /*!#*/"Max Length", qi.getMaxLength());
defn(tbl, context.formatMessage(RenderingContext.QUEST_MAX_LENGTH), qi.getMaxLength());
if (qi.hasAnswerValueSet()) {
defn(tbl, /*!#*/"Value Set", qi.getDefinition(), context.getWorker().findTxResource(ValueSet.class, qi.getAnswerValueSet(), q));
defn(tbl, context.formatMessage(RenderingContext.QUEST_VALUE_SET), qi.getDefinition(), context.getWorker().findTxResource(ValueSet.class, qi.getAnswerValueSet(), q));
}
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)));
}
}
}
if (qi.hasInitial()) {
XhtmlNode tr = tbl.tr();
tr.td().tx(Utilities.pluralize(/*!#*/"Initial Answer", qi.getInitial().size()));
tr.td().tx(Utilities.pluralize((context.formatMessage(RenderingContext.QUEST_INITIAL_ANSWER)), qi.getInitial().size()));
if (qi.getInitial().size() == 1) {
render(tr.td(), qi.getInitialFirstRep().getValue());
} else {
@ -1017,20 +1017,20 @@ public class QuestionnaireRenderer extends TerminologyRenderer {
render(tr.td(), qi.getExtensionByUrl(ToolingExtensions.EXT_Q_DISPLAY_CAT).getValue());
}
if (ToolingExtensions.readBoolExtension(qi, ToolingExtensions.EXT_Q_HIDDEN)) {
defn(tbl, /*!#*/"Hidden Item", ToolingExtensions.EXT_Q_DISPLAY_CAT, "This item is a hidden question", null);
defn(tbl, context.formatMessage(RenderingContext.QUEST_HIDDEN_ITEM), ToolingExtensions.EXT_Q_DISPLAY_CAT, "This item is a hidden question", null);
}
if (ToolingExtensions.readBoolExtension(qi, ToolingExtensions.EXT_Q_OTP_DISP)) {
defn(tbl, /*!#*/"Hidden Item", ToolingExtensions.EXT_Q_OTP_DISP, "This item is optional to display", null);
defn(tbl, context.formatMessage(RenderingContext.QUEST_HIDDEN_ITEM), ToolingExtensions.EXT_Q_OTP_DISP, "This item is optional to display", null);
}
// formal definitions
if (qi.hasDefinition()) {
genDefinitionLink(defn(tbl, /*!#*/"Definition"), qi, q);
genDefinitionLink(defn(tbl, context.formatMessage(RenderingContext.QUEST_DEFINITION)), qi, q);
}
if (qi.hasCode()) {
XhtmlNode tr = tbl.tr();
tr.td().tx(Utilities.pluralize(/*!#*/"Code", qi.getCode().size()));
tr.td().tx(Utilities.pluralize(context.formatMessage(RenderingContext.QUEST_CODE), qi.getCode().size()));
XhtmlNode ul = tr.td().ul();
for (Coding c : qi.getCode()) {
renderCodingWithDetails(ul.li(), c);
@ -1040,9 +1040,9 @@ public class QuestionnaireRenderer extends TerminologyRenderer {
XhtmlNode tr = tbl.tr();
StructureDefinition sd = context.getContext().fetchResource(StructureDefinition.class, ToolingExtensions.EXT_O_LINK_PERIOD);
if (sd != null && sd.hasWebPath()) {
tr.td().ah(sd.getWebPath()).tx(/*!#*/"Observation Link Period");
tr.td().ah(sd.getWebPath()).tx(context.formatMessage(RenderingContext.QUEST_OBSERVATION));
} else {
tr.td().ah("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationLinkPeriod").tx(/*!#*/"Observation Link Period");
tr.td().ah("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationLinkPeriod").tx(context.formatMessage(RenderingContext.QUEST_OBSERVATION));
}
render(tr.td(), qi.getExtensionByUrl("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationLinkPeriod").getValue());
}
@ -1050,15 +1050,15 @@ public class QuestionnaireRenderer extends TerminologyRenderer {
// dynamic management
if (qi.hasEnableWhen()) {
XhtmlNode tr = tbl.tr();
tr.td().tx(/*!#*/"Enable When");
tr.td().tx(context.formatMessage(RenderingContext.QUEST_EN));
td = tr.td();
if (qi.getEnableWhen().size() == 1) {
renderEnableWhen(td, qi.getEnableWhen().get(0));
} else {
if (qi.hasEnableBehavior()) {
td.tx(qi.getEnableBehavior().getDisplay()+" "+/*!#*/"are true:");
td.tx(qi.getEnableBehavior().getDisplay()+" "+(context.formatMessage(RenderingContext.QUEST_TRUE)));
} else {
td.tx(/*!#*/"?? are true:");
td.tx(context.formatMessage(RenderingContext.QUEST_ARE_TRUE));
}
XhtmlNode ul = td.ul();
for (QuestionnaireItemEnableWhenComponent ew : qi.getEnableWhen()) {
@ -1083,11 +1083,11 @@ public class QuestionnaireRenderer extends TerminologyRenderer {
private void defn(XhtmlNode tbl, String name, String url, Resource res) throws UnsupportedEncodingException, IOException {
if (res != null && res.hasWebPath()) {
defn(tbl, /*!#*/"Definition", RendererFactory.factory(res, context).display(res), res.getWebPath());
defn(tbl, context.formatMessage(RenderingContext.QUEST_DEFINITION), RendererFactory.factory(res, context).display(res), res.getWebPath());
} else if (Utilities.isAbsoluteUrlLinkable(url)) {
defn(tbl, /*!#*/"Definition", url, url);
defn(tbl, context.formatMessage(RenderingContext.QUEST_DEFINITION), url, url);
} {
defn(tbl, /*!#*/"Definition", url);
defn(tbl, context.formatMessage(RenderingContext.QUEST_DEFINITION), url);
}
}

View File

@ -55,7 +55,7 @@ public class Renderer {
public void genStandardsStatus(XhtmlNode td, StandardsStatus ss) {
if (ss != null) {
td.tx(" ");
XhtmlNode a = td.ah(Utilities.pathURL(context.getLink(KnownLinkType.SPEC), "versions.html#std-process"), /*!#*/"Standards Status = "+ss.toDisplay());
XhtmlNode a = td.ah(Utilities.pathURL(context.getLink(KnownLinkType.SPEC), "versions.html#std-process"), (context.formatMessage(RenderingContext.REND_STANDARDS, ss.toDisplay())+" "));
a.style("padding-left: 3px; padding-right: 3px; border: 1px grey solid; font-weight: bold; color: black; background-color: "+ss.getColor());
a.tx(ss.getAbbrev());
}
@ -72,21 +72,21 @@ public class Renderer {
switch (vca.getType()) {
case Added:
XhtmlNode spanOuter = x.span("border: solid 1px #dddddd; margin: 2px; padding: 2px", null);
XhtmlNode spanInner = spanOuter.span("background-color: #fff2ff; border-left: solid 3px #ffa0ff; margin: 2px; padding: 2px", /*!#*/"This content has been added since "+context.getChangeVersion());
XhtmlNode spanInner = spanOuter.span("background-color: #fff2ff; border-left: solid 3px #ffa0ff; margin: 2px; padding: 2px", (context.formatMessage(RenderingContext.REND_SINCE, context.getChangeVersion())+" "));
spanInner.img("icon-change-add.png", "icon");
spanInner.tx(" "+/*!#*/"Added:");
spanInner.tx(" "+context.formatMessage(RenderingContext.REND_ADDED));
return spanOuter;
case Changed:
spanOuter = x.span("border: solid 1px #dddddd; margin: 2px; padding: 2px", null);
spanInner = spanOuter.span("background-color: #fff2ff; border-left: solid 3px #ffa0ff; margin: 2px; padding: 2px", /*!#*/"This content has been changed since "+context.getChangeVersion()+(vca.getOriginal() != null ? " (was '"+vca.getOriginal()+"')" : ""));
spanInner = spanOuter.span("background-color: #fff2ff; border-left: solid 3px #ffa0ff; margin: 2px; padding: 2px", (context.formatMessage(RenderingContext.REND_SINCE, context.getChangeVersion()+(vca.getOriginal() != null ? " (was '"+vca.getOriginal()+"')" : "")))+" ");
spanInner.img("icon-change-edit.png", "icon");
spanInner.tx(" "+/*!#*/"Changed:");
spanInner.tx(" "+context.formatMessage(RenderingContext.REND_CHANGED));
return spanOuter;
case Deleted:
spanOuter = x.span("border: solid 1px #dddddd; margin: 2px; padding: 2px", null);
spanInner = spanOuter.span("background-color: #fff2ff; border-left: solid 3px #ffa0ff; margin: 2px; padding: 2px", /*!#*/"This content has been removed since "+context.getChangeVersion());
spanInner = spanOuter.span("background-color: #fff2ff; border-left: solid 3px #ffa0ff; margin: 2px; padding: 2px", (context.formatMessage(RenderingContext.REND_SINCE, context.getChangeVersion())+" "));
spanInner.img("icon-change-remove.png", "icon");
spanInner.tx(" "+/*!#*/"Removed:");
spanInner.tx(" "+context.formatMessage(RenderingContext.REND_REMOVED));
return spanOuter.strikethrough();
default:
return x;
@ -104,21 +104,21 @@ public class Renderer {
switch (vca.getType()) {
case Added:
XhtmlNode divOuter = x.div("border: solid 1px #dddddd; margin: 2px; padding: 2px");
XhtmlNode spanInner = divOuter.para().style("margin: 0").span("background-color: #fff2ff; border-left: solid 3px #ffa0ff; margin: 2px; padding: 2px", /*!#*/"This content has been added since "+context.getChangeVersion());
XhtmlNode spanInner = divOuter.para().style("margin: 0").span("background-color: #fff2ff; border-left: solid 3px #ffa0ff; margin: 2px; padding: 2px", (context.formatMessage(RenderingContext.REND_SINCE, context.getChangeVersion())+" "));
spanInner.img("icon-change-add.png", "icon");
spanInner.tx(" "+/*!#*/"Added:");
spanInner.tx(" "+context.formatMessage(RenderingContext.REND_ADDED));
return divOuter;
case Changed:
divOuter = x.div("border: solid 1px #dddddd; margin: 2px; padding: 2px");
spanInner = divOuter.para().style("margin: 0").span("background-color: #fff2ff; border-left: solid 3px #ffa0ff; margin: 2px; padding: 2px", /*!#*/"This content has been changed since "+context.getChangeVersion()+(vca.getOriginal() != null ? " (was '"+(vca.getOriginal())+"')" : ""));
spanInner = divOuter.para().style("margin: 0").span("background-color: #fff2ff; border-left: solid 3px #ffa0ff; margin: 2px; padding: 2px", (context.formatMessage(RenderingContext.REND_SINCE, context.getChangeVersion())+(vca.getOriginal() != null ? " (was '"+(vca.getOriginal())+"')" : ""))+" ");
spanInner.img("icon-change-edit.png", "icon");
spanInner.tx(" "+/*!#*/"Changed:");
spanInner.tx(" "+context.formatMessage(RenderingContext.REND_CHANGED));
return divOuter;
case Deleted:
divOuter = x.div("border: solid 1px #dddddd; margin: 2px; padding: 2px");
spanInner = divOuter.para().style("margin: 0").span("background-color: #fff2ff; border-left: solid 3px #ffa0ff; margin: 2px; padding: 2px", /*!#*/"This content has been removed since "+context.getChangeVersion());
spanInner = divOuter.para().style("margin: 0").span("background-color: #fff2ff; border-left: solid 3px #ffa0ff; margin: 2px; padding: 2px", (context.formatMessage(RenderingContext.REND_SINCE, context.getChangeVersion())+" "));
spanInner.img("icon-change-remove.png", "icon");
spanInner.tx(" "+/*!#*/"Removed:");
spanInner.tx(" "+context.formatMessage(RenderingContext.REND_REMOVED));
return divOuter.strikethrough();
default:
return x;
@ -140,7 +140,7 @@ public class Renderer {
tr.style("border: solid 1px #dddddd; margin: 2px; padding: 2px");
}
XhtmlNode td = tr.td();
XhtmlNode span = td.span("background-color: #fff2ff; border-left: solid 3px #ffa0ff; margin: 2px; padding: 2px",/*!#*/"This row of content has been added since "+context.getChangeVersion());
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:");
XhtmlNode x = new XhtmlNode(NodeType.Element, "holder");

View File

@ -43,14 +43,14 @@ public class RequirementsRenderer extends ResourceRenderer {
if (req.getActor().size() == 1) {
ActorDefinition acd = context.getWorker().fetchResource(ActorDefinition.class, req.getActor().get(0).getValue(), req);
XhtmlNode p = x.para();
p.tx(/*!#*/"These requirements apply to the actor ");
p.tx(context.formatMessage(RenderingContext.REQ_ACTOR)+" ");
if (acd == null) {
p.code(req.getActor().get(0).getValue());
} else {
p.ah(acd.getWebPath()).tx(acd.present());
}
} else {
x.para().tx(/*!#*/"These requirements apply to the following actors:");
x.para().tx(context.formatMessage(RenderingContext.REQ_FOLLOWING_ACTOR)+" ");
XhtmlNode ul = x.ul();
for (CanonicalType a : req.getActor()) {
ActorDefinition acd = context.getWorker().fetchResource(ActorDefinition.class, a.getValue(), req);
@ -66,14 +66,14 @@ public class RequirementsRenderer extends ResourceRenderer {
if (req.getDerivedFrom().size() == 1) {
Requirements reqd = context.getWorker().fetchResource(Requirements.class, req.getDerivedFrom().get(0).getValue(), req);
XhtmlNode p = x.para();
p.tx(/*!#*/"These requirements derive from ");
p.tx(context.formatMessage(RenderingContext.REQ_DERIVE)+" ");
if (reqd == null) {
p.code(req.getDerivedFrom().get(0).getValue());
} else {
p.ah(reqd.getWebPath()).tx(reqd.present());
}
} else {
x.para().tx(/*!#*/"These requirements are derived from the following requirements:");
x.para().tx(context.formatMessage(RenderingContext.REQ_FOLLOWING_REQ)+" ");
XhtmlNode ul = x.ul();
for (CanonicalType a : req.getDerivedFrom()) {
Requirements reqd = context.getWorker().fetchResource(Requirements.class, a.getValue(), req);
@ -87,7 +87,7 @@ public class RequirementsRenderer extends ResourceRenderer {
}
if (req.hasReference()) {
XhtmlNode p = x.para();
p.tx(/*!#*/"References: ");
p.tx(context.formatMessage(RenderingContext.REQ_REFERENCES)+" ");
int i = 0;
for (UrlType c : req.getReference()) {
i++;
@ -121,11 +121,11 @@ public class RequirementsRenderer extends ResourceRenderer {
td = tr.td();
addMarkdown(td, stmt.getRequirement());
if (stmt.hasDerivedFrom() || stmt.hasSatisfiedBy() || stmt.hasReference() || stmt.hasSource()) {
td.para().tx(/*!#*/"Links:");
td.para().tx(context.formatMessage(RenderingContext.REQ_LINKS)+" ");
XhtmlNode ul = td.ul();
if (stmt.hasDerivedFrom()) {
XhtmlNode li = ul.li();
li.tx(/*!#*/"Derived From: ");
li.tx(context.formatMessage(RenderingContext.REQ_DERIVED)+" ");
String url = stmt.getDerivedFrom();
String key = url.contains("#") ? url.substring(url.indexOf("#")+1) : "";
if (url.contains("#")) { url = url.substring(0, url.indexOf("#")); };
@ -143,7 +143,7 @@ public class RequirementsRenderer extends ResourceRenderer {
}
if (stmt.hasSatisfiedBy()) {
XhtmlNode li = ul.li();
li.tx(/*!#*/"Satisfied By: ");
li.tx(context.formatMessage(RenderingContext.REQ_SATISFIED)+" ");
first = true;
for (UrlType c : stmt.getSatisfiedBy()) {
if (first) first = false; else li.tx(", ");
@ -162,7 +162,7 @@ public class RequirementsRenderer extends ResourceRenderer {
}
if (stmt.hasReference()) {
XhtmlNode li = ul.li();
li.tx(/*!#*/"References: ");
li.tx(context.formatMessage(RenderingContext.REQ_REFERENCES)+" ");
int i = 0;
for (UrlType c : stmt.getReference()) {
i++;
@ -176,7 +176,7 @@ public class RequirementsRenderer extends ResourceRenderer {
}
if (stmt.hasSource()) {
XhtmlNode li = ul.li();
li.tx(/*!#*/"Source: ");
li.tx(context.formatMessage(RenderingContext.REQ_SOURCES)+" ");
first = true;
for (Reference c : stmt.getSource()) {
if (first) first = false; else li.tx(", ");

View File

@ -304,14 +304,14 @@ public abstract class ResourceRenderer extends DataRenderer {
if (tr != null && tr.getReference() != null) {
link = tr.getReference();
} else if (r.getReference().contains("?")) {
text.append(/*!#*/"Conditional Reference: ");
text.append(context.formatMessage(RenderingContext.RES_REND_COND_REF)+" ");
} else {
link = r.getReference();
}
}
}
if (tr != null && tr.getReference() != null && tr.getReference().startsWith("#")) {
text.append(/*!#*/"See above (");
text.append(context.formatMessage(RenderingContext.RES_REND_SEE_ON_THIS_PAGE)+" ");
}
// what to display: if text is provided, then that. if the reference was resolved, then show the name, or the generated narrative
String display = r.hasDisplayElement() ? r.getDisplay() : null;
@ -355,7 +355,7 @@ public abstract class ResourceRenderer extends DataRenderer {
} else if (name != null) {
text.append(name);
} else {
text.append(/*!#*/". Description: (todo)");
text.append(context.formatMessage(RenderingContext.RES_REND_DESC));
}
}
if (tr != null && tr.getReference() != null && tr.getReference().startsWith("#")) {
@ -388,7 +388,7 @@ public abstract class ResourceRenderer extends DataRenderer {
c = x.ah(tr.getReference());
}
} else if (r.getReference().contains("?")) {
x.tx(/*!#*/"Conditional Reference: ");
x.tx(context.formatMessage(RenderingContext.RES_REND_COND_REF)+" ");
c = x.code("");
} else {
c = x.ah(r.getReference());
@ -405,7 +405,7 @@ public abstract class ResourceRenderer extends DataRenderer {
c = x.span(null, null);
}
if (onPage) {
c.tx(/*!#*/"See on this page: ");
c.tx(context.formatMessage(RenderingContext.RES_REND_SEE_ON_THIS_PAGE)+" ");
}
// what to display: if text is provided, then that. if the reference was resolved, then show the name, or the generated narrative
String display = r.hasDisplayElement() ? r.getDisplay() : null;
@ -449,7 +449,7 @@ public abstract class ResourceRenderer extends DataRenderer {
} else if (name != null) {
c.addText(name);
} else {
c.tx(/*!#*/". Generated Summary: ");
c.tx(context.formatMessage(RenderingContext.RES_REND_GEN_SUM)+" ");
if (tr != null) {
new ProfileDrivenRenderer(context).generateResourceSummary(c, tr.getResource(), true, r.getReference().startsWith("#"), true);
}
@ -478,7 +478,7 @@ public abstract class ResourceRenderer extends DataRenderer {
if (r.has("display")) {
c.addText(r.get("display").primitiveValue());
if (tr != null && tr.getResource() != null) {
c.tx(/*!#*/". Generated Summary: ");
c.tx(context.formatMessage(RenderingContext.RES_REND_GEN_SUM)+" ");
new ProfileDrivenRenderer(context).generateResourceSummary(c, tr.getResource(), true, v.startsWith("#"), false);
}
} else if (tr != null && tr.getResource() != null) {
@ -562,7 +562,7 @@ public abstract class ResourceRenderer extends DataRenderer {
}
public String displayReference(Resource res, Reference r) throws UnsupportedEncodingException, IOException {
return /*!#*/"todo";
return (context.formatMessage(RenderingContext.RES_REND_TODO));
}
@ -607,10 +607,10 @@ public abstract class ResourceRenderer extends DataRenderer {
protected String describeStatus(PublicationStatus status, boolean experimental) {
switch (status) {
case ACTIVE: return experimental ? /*!#*/"Experimental" : /*!#*/"Active";
case DRAFT: return /*!#*/"draft";
case RETIRED: return /*!#*/"retired";
default: return /*!#*/"Unknown";
case ACTIVE: return experimental ? (context.formatMessage(RenderingContext.RES_REND_EXP)) : (context.formatMessage(RenderingContext.RES_REND_ACT));
case DRAFT: return (context.formatMessage(RenderingContext.RES_REND_DRAFT));
case RETIRED: return (context.formatMessage(RenderingContext.RES_REND_RET));
default: return (context.formatMessage(RenderingContext.RES_REND_UNKNOWN));
}
}
@ -656,7 +656,7 @@ public abstract class ResourceRenderer extends DataRenderer {
if (id != null || lang != null || versionId != null || lastUpdated != null) {
XhtmlNode p = plateStyle(div.para());
p.tx(/*!#*/"Resource ");
p.tx(context.formatMessage(RenderingContext.RES_REND_RESOURCE));
p.tx(r.fhirType());
p.tx(" ");
if (id != null) {
@ -740,7 +740,7 @@ public abstract class ResourceRenderer extends DataRenderer {
render(dr);
} catch (Exception e) {
XhtmlNode x = new XhtmlNode(NodeType.Element, "div");
x.para().tx(/*!#*/"Error rendering: "+e.getMessage());
x.para().tx(context.formatMessage(RenderingContext.RES_REND_ERROR, e.getMessage())+" ");
dr.setText(null);
inject(dr, x, NarrativeStatus.GENERATED);
}

View File

@ -47,7 +47,7 @@ public class SearchParameterRenderer extends TerminologyRenderer {
genStandardsStatus(h2, ss);
}
XhtmlNode p = x.para();
p.tx(/*!#*/"Parameter ");
p.tx(context.formatMessage(RenderingContext.SEARCH_PAR_PAR)+" ");
p.code().tx(spd.getCode());
p.tx(":");
p.code().tx(spd.getType().toCode());
@ -68,15 +68,15 @@ public class SearchParameterRenderer extends TerminologyRenderer {
}
}
tr = tbl.tr();
tr.td().tx(/*!#*/"Expression");
tr.td().tx(context.formatMessage(RenderingContext.SEARCH_PAR_EXP));
if (spd.hasExpression()) {
tr.td().code().tx(spd.getExpression());
} else {
tr.td().tx(/*!#*/"(none)");
tr.td().tx(context.formatMessage(RenderingContext.SEARCH_PAR_NONE));
}
if (spd.hasProcessingMode()) {
tr = tbl.tr();
tr.td().tx(/*!#*/"Processing Mode");
tr.td().tx(context.formatMessage(RenderingContext.SEARCH_PAR_PROC));
tr.td().tx(spd.getProcessingMode().getDisplay());
}
if (spd.hasTarget()) {
@ -84,7 +84,7 @@ public class SearchParameterRenderer extends TerminologyRenderer {
tr.td().tx(Utilities.pluralize(/*!#*/"Target Resources", spd.getTarget().size()));
td = tr.td();
if (isAllConcreteResources(spd.getTarget())) {
td.ah(Utilities.pathURL(context.getLink(KnownLinkType.SPEC), "resourcelist.html")).tx(/*!#*/"All Resources");
td.ah(Utilities.pathURL(context.getLink(KnownLinkType.SPEC), "resourcelist.html")).tx(context.formatMessage(RenderingContext.SEARCH_PAR_RES));
} else {
for (Enumeration<VersionIndependentResourceTypesAll> t : spd.getTarget()) {
StructureDefinition sd = context.getWorker().fetchTypeDefinition(t.getCode());
@ -99,28 +99,28 @@ public class SearchParameterRenderer extends TerminologyRenderer {
}
}
tr = tbl.tr();
tr.td().tx(/*!#*/"Multiples");
tr.td().tx(context.formatMessage(RenderingContext.SEARCH_PAR_MULTIPLES));
XhtmlNode ul = tr.td().ul();
if (!spd.hasMultipleAnd()) {
ul.li().tx(/*!#*/"multipleAnd: It's up to the server whether the parameter may repeat in order to specify multiple values that must all be true");
ul.li().tx(context.formatMessage(RenderingContext.SEARCH_PAR_MULTIPLE_AND_SERVER));
} else if (spd.getMultipleAnd()) {
ul.li().tx(/*!#*/"multipleAnd: The parameter may repeat in order to specify multiple values that must all be true");
ul.li().tx(context.formatMessage(RenderingContext.SEARCH_PAR_MULTIPLE_AND_REPEAT));
} else {
ul.li().tx(/*!#*/"multipleAnd: The parameter may only appear once");
ul.li().tx(context.formatMessage(RenderingContext.SEARCH_PAR_MULTIPLE_AND_APPEAR));
}
if (!spd.hasMultipleOr()) {
ul.li().tx(/*!#*/"multipleOr: It's up to the server whether the parameter can have multiple values (separated by comma) where at least one must be true");
ul.li().tx(context.formatMessage(RenderingContext.SEARCH_PAR_MULTIPLE_OR_SERVER));
} else if (spd.getMultipleOr()) {
ul.li().tx(/*!#*/"multipleOr: The parameter may have multiple values (separated by comma) where at least one must be true");
ul.li().tx(context.formatMessage(RenderingContext.SEARCH_PAR_MULTIPLE_OR_MULTIPLE));
} else {
ul.li().tx(/*!#*/"multipleOr: The parameter may only have one value (no comma separators)");
ul.li().tx(context.formatMessage(RenderingContext.SEARCH_PAR_MULTIPLE_OR_ONE));
}
if (spd.hasComparator()) {
tr = tbl.tr();
tr.td().tx(/*!#*/"Comparators");
tr.td().tx(context.formatMessage(RenderingContext.SEARCH_PAR_COMP));
td = tr.td();
td.tx(/*!#*/"Allowed: ");
td.tx(context.formatMessage(RenderingContext.SEARCH_PAR_ALLOWED)+" ");
for (Enumeration<SearchComparator> t : spd.getComparator()) {
td.sep(", ");
td.tx(t.asStringValue());
@ -128,9 +128,9 @@ public class SearchParameterRenderer extends TerminologyRenderer {
}
if (spd.hasModifier()) {
tr = tbl.tr();
tr.td().tx(/*!#*/"Modifiers");
tr.td().tx(context.formatMessage(RenderingContext.SEARCH_PAR_MOD));
td = tr.td();
td.tx(/*!#*/"Allowed: ");
td.tx(context.formatMessage(RenderingContext.SEARCH_PAR_ALLOWED)+" ");
for (Enumeration<SearchModifierCode> t : spd.getModifier()) {
td.sep(", ");
td.tx(t.asStringValue());
@ -138,9 +138,9 @@ public class SearchParameterRenderer extends TerminologyRenderer {
}
if (spd.hasChain()) {
tr = tbl.tr();
tr.td().tx(/*!#*/"Chains");
tr.td().tx(context.formatMessage(RenderingContext.SEARCH_PAR_CHAIN));
td = tr.td();
td.tx(/*!#*/"Allowed: ");
td.tx(context.formatMessage(RenderingContext.SEARCH_PAR_ALLOWED)+" ");
for (StringType t : spd.getChain()) {
td.sep(", ");
td.tx(t.asStringValue());
@ -148,7 +148,7 @@ public class SearchParameterRenderer extends TerminologyRenderer {
}
if (spd.hasComponent()) {
x.para().b().tx(/*!#*/"Components");
x.para().b().tx(context.formatMessage(RenderingContext.SEARCH_PAR_COMP));
tbl = x.table("grid");
for (SearchParameterComponentComponent t : spd.getComponent()) {
tr = tbl.tr();
@ -167,7 +167,7 @@ public class SearchParameterRenderer extends TerminologyRenderer {
private boolean isAllConcreteResources(List<Enumeration<VersionIndependentResourceTypesAll>> list) {
for (String s : context.getWorker().getResourceNames()) {
StructureDefinition sd = context.getWorker().fetchTypeDefinition(s);
if (!sd.getAbstract() && !Utilities.existsInList(sd.getType(), /*!#*/"Parameters")) {
if (!sd.getAbstract() && !Utilities.existsInList(sd.getType(), context.formatMessage(RenderingContext.SEARCH_PAR_PAR))) {
boolean found = false;
for (Enumeration<VersionIndependentResourceTypesAll> c : list) {
found = found || sd.getName().equals(c.getCode());

View File

@ -49,39 +49,39 @@ public class SubscriptionTopicRenderer extends ResourceRenderer {
}
if (st.hasResourceTrigger()) {
TableData td = new TableData(/*!#*/"Resource Triggers");
TableData td = new TableData(context.formatMessage(RenderingContext.SUB_TOPIC_RES_TRIG));
for (SubscriptionTopicResourceTriggerComponent rt : st.getResourceTrigger()) {
TableRowData tr = td.addRow();
if (rt.hasResource()) {
tr.value(/*!#*/"Resource", rt.getResourceElement());
tr.value(context.formatMessage(RenderingContext.SUB_TOPIC_RES), rt.getResourceElement());
}
for (Enumeration<InteractionTrigger> t : rt.getSupportedInteraction()) {
tr.value(/*!#*/"Interactions", t);
tr.value(context.formatMessage(RenderingContext.SUB_TOPIC_INT), t);
}
if (rt.hasQueryCriteria()) {
StringBuilder md = new StringBuilder();
if (rt.getQueryCriteria().hasPrevious()) {
md.append(/*!#*/"* previous = "+rt.getQueryCriteria().getPrevious()+"\r\n");
md.append(context.formatMessage(RenderingContext.SUB_TOPIC_PREV, rt.getQueryCriteria().getPrevious()+"\r\n")+" ");
}
if (rt.getQueryCriteria().hasResultForCreate()) {
md.append(/*!#*/"* create result = "+rt.getQueryCriteria().getResultForCreate()+"\r\n");
md.append(context.formatMessage(RenderingContext.SUB_TOPIC_CREATE, rt.getQueryCriteria().getResultForCreate()+"\r\n")+" ");
}
if (rt.getQueryCriteria().hasCurrent()) {
md.append(/*!#*/"* create result = "+rt.getQueryCriteria().getCurrent()+"\r\n");
md.append(context.formatMessage(RenderingContext.SUB_TOPIC_CREATE, rt.getQueryCriteria().getCurrent()+"\r\n")+" ");
}
if (rt.getQueryCriteria().hasPrevious()) {
md.append(/*!#*/"* delete result = "+rt.getQueryCriteria().getResultForDelete()+"\r\n");
md.append(context.formatMessage(RenderingContext.SUB_TOPIC_DELETE, rt.getQueryCriteria().getResultForDelete()+"\r\n")+" ");
}
if (rt.getQueryCriteria().hasRequireBoth()) {
md.append(/*!#*/"* require both = "+rt.getQueryCriteria().getRequireBoth()+"\r\n");
md.append(context.formatMessage(RenderingContext.SUB_TOPIC_REQ, rt.getQueryCriteria().getRequireBoth()+"\r\n")+" ");
}
tr.value(/*!#*/"Criteria", new MarkdownType(md.toString()));
tr.value(context.formatMessage(RenderingContext.SUB_TOPIC_CRITERIA), new MarkdownType(md.toString()));
}
if (rt.hasFhirPathCriteriaElement()) {
tr.value(/*!#*/"FHIR Path", rt.getFhirPathCriteriaElement());
tr.value(context.formatMessage(RenderingContext.SUB_TOPIC_FHIR_PATH), rt.getFhirPathCriteriaElement());
}
if (rt.hasDescription()) {
tr.value(/*!#*/"Description", rt.getDescriptionElement());
tr.value(context.formatMessage(RenderingContext.SUB_TOPIC_DESC), rt.getDescriptionElement());
}
}
renderTable(td, x);
@ -92,13 +92,13 @@ public class SubscriptionTopicRenderer extends ResourceRenderer {
for (SubscriptionTopicEventTriggerComponent rt : st.getEventTrigger()) {
TableRowData tr = td.addRow();
if (rt.hasResource()) {
tr.value(/*!#*/"Resource", rt.getResourceElement());
tr.value(context.formatMessage(RenderingContext.SUB_TOPIC_RES), rt.getResourceElement());
}
if (rt.hasEvent()) {
tr.value(/*!#*/"Event", rt.getEvent());
tr.value(context.formatMessage(RenderingContext.SUB_TOPIC_EVENT), rt.getEvent());
}
if (rt.hasDescription()) {
tr.value(/*!#*/"Description", rt.getDescriptionElement());
tr.value(context.formatMessage(RenderingContext.SUB_TOPIC_DESC), rt.getDescriptionElement());
}
}
renderTable(td, x);
@ -109,19 +109,19 @@ public class SubscriptionTopicRenderer extends ResourceRenderer {
for (SubscriptionTopicCanFilterByComponent rt : st.getCanFilterBy()) {
TableRowData tr = td.addRow();
if (rt.hasResource()) {
tr.value(/*!#*/"Resource", rt.getResourceElement());
tr.value(context.formatMessage(RenderingContext.SUB_TOPIC_RES), rt.getResourceElement());
}
if (rt.hasFilterParameter()) {
tr.value(/*!#*/"Filter Parameter", rt.getFilterParameterElement());
tr.value(context.formatMessage(RenderingContext.SUB_TOPIC_FILT_PAR), rt.getFilterParameterElement());
}
if (rt.hasFilterDefinition()) {
tr.value(/*!#*/"Filter Definition", rt.getFilterDefinitionElement());
tr.value(context.formatMessage(RenderingContext.SUB_TOPIC_FILT_DEF), rt.getFilterDefinitionElement());
}
for (Enumeration<SearchComparator> t : rt.getComparator()) {
tr.value(/*!#*/"Comparators", t);
tr.value(context.formatMessage(RenderingContext.SUB_TOPIC_COMP), t);
}
for (Enumeration<SearchModifierCode> t : rt.getModifier()) {
tr.value(/*!#*/"Modifiers", t);
tr.value(context.formatMessage(RenderingContext.SUB_TOPIC_MOD), t);
}
}
renderTable(td, x);
@ -132,13 +132,13 @@ public class SubscriptionTopicRenderer extends ResourceRenderer {
for (SubscriptionTopicNotificationShapeComponent rt : st.getNotificationShape()) {
TableRowData tr = td.addRow();
if (rt.hasResource()) {
tr.value(/*!#*/"Resource", rt.getResourceElement());
tr.value(context.formatMessage(RenderingContext.SUB_TOPIC_RES), rt.getResourceElement());
}
for (StringType t : rt.getInclude()) {
tr.value(/*!#*/"Includes", t);
tr.value(context.formatMessage(RenderingContext.SUB_TOPIC_INCL), t);
}
for (StringType t : rt.getRevInclude()) {
tr.value(/*!#*/"Reverse Includes", t);
tr.value(context.formatMessage(RenderingContext.SUB_TOPIC_REV_INCL), t);
}
}
renderTable(td, x);

View File

@ -209,7 +209,7 @@ public abstract class TerminologyRenderer extends ResourceRenderer {
protected XhtmlNode addTableHeaderRowStandard(XhtmlNode t, boolean hasHierarchy, boolean hasDisplay, boolean definitions, boolean comments, boolean version, boolean deprecated, List<PropertyComponent> properties, List<String> langs, Map<String, String> designations, boolean doDesignations) {
XhtmlNode tr = t.tr();
if (hasHierarchy) {
tr.td().b().tx(/*!#*/"Lvl");
tr.td().b().tx(context.formatMessage(RenderingContext.TERMINOLOGY_LVL));
}
tr.td().attribute("style", "white-space:nowrap").b().tx(formatMessage(RenderingContext.TX_CODE));
if (hasDisplay) {
@ -307,7 +307,7 @@ public abstract class TerminologyRenderer extends ResourceRenderer {
a.addText(value);
} else if (value.equals("http://snomed.info/sct") || value.equals("http://snomed.info/id")) {
XhtmlNode a = li.ah(value);
a.tx(/*!#*/"SNOMED-CT");
a.tx(context.formatMessage(RenderingContext.TERMINOLOGY_SNOMED));
}
else {
if (value.startsWith("http://hl7.org") && !Utilities.existsInList(value, "http://hl7.org/fhir/sid/icd-10-us")) {

View File

@ -45,7 +45,7 @@ public class TestPlanRenderer extends ResourceRenderer {
XhtmlNode p = null;
if (!tp.getContact().isEmpty()) {
p = x.para();
p.b().tx(/*!#*/"Contact:");
p.b().tx(context.formatMessage(RenderingContext.TEST_PLAN_CONT));
p.tx(" (");
boolean firsti = true;
for (ContactDetail ci : tp.getContact()) {
@ -69,7 +69,7 @@ public class TestPlanRenderer extends ResourceRenderer {
if (tp.hasCategory()) {
p = x.para();
p.b().tx(/*!#*/"Category: ");
p.b().tx(context.formatMessage(RenderingContext.TEST_PLAN_CATEGORY)+" ");
boolean first = true;
for (CodeableConcept cc : tp.getCategory()) {
if (first)
@ -83,10 +83,10 @@ public class TestPlanRenderer extends ResourceRenderer {
if (tp.hasScope()) {
if (tp.getScope().size() == 1) {
p = x.para();
p.b().tx(/*!#*/"Test Plan Scope: ");
p.b().tx(context.formatMessage(RenderingContext.TEST_PLAN_SCOPE)+" ");
renderReference(tp, p, tp.getScopeFirstRep());
} else {
x.para().b().tx(/*!#*/"Test Plan Scopes:");
x.para().b().tx(context.formatMessage(RenderingContext.TEST_PLAN_SCOPES));
XhtmlNode ul = x.ul();
for (Reference ref : tp.getScope()) {
renderReference(tp, ul.li(), ref);
@ -97,7 +97,7 @@ public class TestPlanRenderer extends ResourceRenderer {
if (tp.hasDependency()) {
if (tp.getDependency().size() == 1) {
p = x.para();
p.b().tx(/*!#*/"Test Plan Dependency: ");
p.b().tx(context.formatMessage(RenderingContext.TEST_PLAN_DEP)+" ");
XhtmlNode t = x.table("grid");
XhtmlNode tr = t.tr();
if (!Utilities.noString(tp.getDependencyFirstRep().getDescription())) {
@ -106,7 +106,7 @@ public class TestPlanRenderer extends ResourceRenderer {
tr = t.tr();
renderReference(tp, tr.td(), tp.getDependencyFirstRep().getPredecessor());
} else {
x.para().b().tx(/*!#*/"Test Plan Dependencies:");
x.para().b().tx(context.formatMessage(RenderingContext.TEST_PLAN_DEPEN));
XhtmlNode ul = x.ul();
XhtmlNode li = null;
for (TestPlanDependencyComponent d : tp.getDependency()) {
@ -115,7 +115,7 @@ public class TestPlanRenderer extends ResourceRenderer {
addMarkdown(li, d.getDescription());
}
else {
li.addText(/*!#*/"Dependency - no description");
li.addText(context.formatMessage(RenderingContext.TEST_PLAN_DESC));
}
if (d.hasPredecessor()) {
XhtmlNode liul = li.ul();
@ -137,10 +137,10 @@ public class TestPlanRenderer extends ResourceRenderer {
if (tc.hasScope()) {
if (tc.getScope().size() == 1) {
p = x.para();
p.b().tx(/*!#*/"Test Case Scope: ");
p.b().tx(context.formatMessage(RenderingContext.TEST_PLAN_SCOPE)+" ");
renderReference(tp, p, tc.getScopeFirstRep());
} else {
x.para().b().tx(/*!#*/"Test Case Scopes:");
x.para().b().tx(context.formatMessage(RenderingContext.TEST_PLAN_SCOPES));
XhtmlNode ul = x.ul();
for (Reference ref : tc.getScope()) {
renderReference(tp, ul.li(), ref);
@ -150,7 +150,7 @@ public class TestPlanRenderer extends ResourceRenderer {
if (tc.hasDependency()) {
if (tc.getDependency().size() == 1) {
x.h3().addText(/*!#*/"Test Case Dependency");
x.h3().addText(context.formatMessage(RenderingContext.TEST_PLAN_DEP));
XhtmlNode t = x.table("grid");
XhtmlNode tr = t.tr();
if (!Utilities.noString(tc.getDependencyFirstRep().getDescription())) {
@ -159,7 +159,7 @@ public class TestPlanRenderer extends ResourceRenderer {
tr = t.tr();
renderReference(tp, tr.td(), tc.getDependencyFirstRep().getPredecessor());
} else {
x.h3().addText(/*!#*/"Test Case Dependencies");
x.h3().addText(context.formatMessage(RenderingContext.TEST_PLAN_DEPEN));
XhtmlNode ul = x.ul();
XhtmlNode li = null;
for (TestCaseDependencyComponent d : tc.getDependency()) {
@ -168,7 +168,7 @@ public class TestPlanRenderer extends ResourceRenderer {
addMarkdown(li, d.getDescription());
}
else {
li.addText(/*!#*/"Dependency - no description");
li.addText(context.formatMessage(RenderingContext.TEST_PLAN_DESC));
}
if (d.hasPredecessor()) {
XhtmlNode liul = li.ul();
@ -181,14 +181,14 @@ public class TestPlanRenderer extends ResourceRenderer {
if (tc.hasTestRun()) {
if (tc.getTestRun().size() == 1) {
x.h3().addText(/*!#*/"Test Run");
x.h3().addText(context.formatMessage(RenderingContext.TEST_PLAN_RUN));
renderTestRun(x, tp, tc.getTestRunFirstRep());
}
else {
int count = 0;
for (TestPlanTestCaseTestRunComponent trun : tc.getTestRun()) {
count++;
x.h3().addText(/*!#*/"Test Run " + count);
x.h3().addText(context.formatMessage(RenderingContext.TEST_PLAN_TEST_RUN, count)+" ");
renderTestRun(x, tp, trun);
}
}
@ -196,14 +196,14 @@ public class TestPlanRenderer extends ResourceRenderer {
if (tc.hasTestData()) {
if (tc.getTestData().size() == 1) {
x.h3().addText(/*!#*/"Test Data");
x.h3().addText(context.formatMessage(RenderingContext.TEST_PLAN_DATA));
renderTestData(x, tp, tc.getTestDataFirstRep());
}
else {
int count = 0;
for (TestPlanTestCaseTestDataComponent tdata : tc.getTestData()) {
count++;
x.h3().addText(/*!#*/"Test Data " + count);
x.h3().addText(context.formatMessage(RenderingContext.TEST_PLAN_TEST_DATA, count)+" ");
renderTestData(x, tp, tdata);
}
}
@ -211,14 +211,14 @@ public class TestPlanRenderer extends ResourceRenderer {
if (tc.hasAssertion()) {
if (tc.getAssertion().size() == 1) {
x.h3().addText(/*!#*/"Assertion");
x.h3().addText(context.formatMessage(RenderingContext.TEST_PLAN_ASS));
renderAssertion(x, tp, tc.getAssertionFirstRep());
}
else {
int count = 0;
for (TestPlanTestCaseAssertionComponent as : tc.getAssertion()) {
count++;
x.h3().addText(/*!#*/"Assertion " + count);
x.h3().addText(context.formatMessage(RenderingContext.TEST_PLAN_ASSERTION, count)+" ");
renderAssertion(x, tp, as);
}
}
@ -237,8 +237,8 @@ public class TestPlanRenderer extends ResourceRenderer {
if (trun.hasScript()) {
XhtmlNode t = x.table("grid");
XhtmlNode tr = t.tr();
tr.td().b().addText(/*!#*/"Language");
tr.td().b().addText(/*!#*/"Source[x]");
tr.td().b().addText(context.formatMessage(RenderingContext.TEST_PLAN_LANG));
tr.td().b().addText(context.formatMessage(RenderingContext.TEST_PLAN_SOURCE));
tr = t.tr();
if (trun.getScript().hasLanguage()) {
renderCodeableConcept(tr.td(), trun.getScript().getLanguage(), false);
@ -261,9 +261,9 @@ public class TestPlanRenderer extends ResourceRenderer {
private void renderTestData(XhtmlNode x, TestPlan tp, TestPlanTestCaseTestDataComponent tdata) throws FHIRFormatError, DefinitionException, IOException, FHIRException, EOperationOutcome {
XhtmlNode t = x.table("grid");
XhtmlNode tr = t.tr();
tr.td().b().addText(/*!#*/"Type");
tr.td().b().addText(/*!#*/"Content");
tr.td().b().addText(/*!#*/"Source[x]");
tr.td().b().addText(context.formatMessage(RenderingContext.TEST_PLAN_TYPE));
tr.td().b().addText(context.formatMessage(RenderingContext.TEST_PLAN_CONTENT));
tr.td().b().addText(context.formatMessage(RenderingContext.TEST_PLAN_SOURCE));
tr = t.tr();
if (tdata.hasType()) {
renderCoding(tr.td(), tdata.getType());
@ -291,9 +291,9 @@ public class TestPlanRenderer extends ResourceRenderer {
private void renderAssertion(XhtmlNode x, TestPlan tp, TestPlanTestCaseAssertionComponent as) throws FHIRFormatError, DefinitionException, IOException, FHIRException, EOperationOutcome {
XhtmlNode t = x.table("grid");
XhtmlNode tr = t.tr();
tr.td().b().addText(/*!#*/"Type");
tr.td().b().addText(/*!#*/"Content");
tr.td().b().addText(/*!#*/"Result");
tr.td().b().addText(context.formatMessage(RenderingContext.TEST_PLAN_TYPE));
tr.td().b().addText(context.formatMessage(RenderingContext.TEST_PLAN_CONTENT));
tr.td().b().addText(context.formatMessage(RenderingContext.TEST_PLAN_RESULT));
tr = t.tr();
if (as.hasType()) {
XhtmlNode td = tr.td();

View File

@ -185,7 +185,7 @@ public class ValueSetRenderer extends TerminologyRenderer {
if (header) {
XhtmlNode h = x.addTag(getHeader());
h.tx(/*!#*/"Value Set Contents");
h.tx(context.formatMessage(RenderingContext.VALUE_SET_CONT));
if (IsNotFixedExpansion(vs))
addMarkdown(x, vs.getDescription());
if (vs.hasCopyright())
@ -207,7 +207,7 @@ public class ValueSetRenderer extends TerminologyRenderer {
// }
String msg = null;
if (vs.getExpansion().getContains().isEmpty()) {
msg = /*!#*/"This value set cannot be expanded because of the way it is defined - it has an infinite number of members."; // not sure that's true?
msg = context.formatMessage(RenderingContext.VALUE_SET_INF); // not sure that's true?
} else {
msg = /*!#*/"This value set cannot be fully expanded, but a selection ("+countMembership(vs)+" codes) of the whole set of codes is shown here.";
}
@ -224,7 +224,7 @@ public class ValueSetRenderer extends TerminologyRenderer {
} else if (count == 1000) {
// it's possible that there's exactly 1000 codes, in which case wht we're about to do is wrong
// work in progress to tighten up the terminology system to always return a total...
String msg = /*!#*/"This value set has >1000 codes in it. In order to keep the publication size manageable, only a selection (1000 codes) of the whole set of codes is shown";
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.");
@ -245,21 +245,21 @@ public class ValueSetRenderer extends TerminologyRenderer {
XhtmlNode t = x.table( "codes");
XhtmlNode tr = t.tr();
if (doLevel)
tr.td().b().tx(/*!#*/"Level");
tr.td().attribute("style", "white-space:nowrap").b().tx(/*!#*/"Code");
tr.td().b().tx(/*!#*/"System");
tr.td().b().tx(context.formatMessage(RenderingContext.VALUE_SET_LEVEL));
tr.td().attribute("style", "white-space:nowrap").b().tx(context.formatMessage(RenderingContext.VALUE_SET_CODE));
tr.td().b().tx(context.formatMessage(RenderingContext.VALUE_SET_SYSTEM));
XhtmlNode tdDisp = tr.td();
tdDisp.b().tx(/*!#*/"Display");
tdDisp.b().tx(context.formatMessage(RenderingContext.VALUE_SET_DISPLAY));
boolean doDesignations = false;
for (ValueSetExpansionContainsComponent c : vs.getExpansion().getContains()) {
scanForDesignations(c, langs, designations);
}
scanForProperties(vs.getExpansion(), langs, properties);
if (doInactive) {
tr.td().b().tx(/*!#*/"Inactive");
tr.td().b().tx(context.formatMessage(RenderingContext.VALUE_SET_INACTIVE));
}
if (doDefinition) {
tr.td().b().tx(/*!#*/"Definition");
tr.td().b().tx(context.formatMessage(RenderingContext.VALUE_SET_DEF));
doDesignations = false;
for (String n : Utilities.sorted(properties.keySet())) {
tr.td().b().ah(properties.get(n)).addText(n);
@ -295,15 +295,15 @@ public class ValueSetRenderer extends TerminologyRenderer {
if (!doDesignations && langs.size() + designations.size() > 0) {
Collections.sort(langs);
if (designations.size() == 0) {
x.para().b().tx(/*!#*/"Additional Language Displays");
x.para().b().tx(context.formatMessage(RenderingContext.VALUE_SET_ADD_LANG));
} else if (langs.size() == 0) {
x.para().b().tx(/*!#*/"Additional Designations");
x.para().b().tx(context.formatMessage(RenderingContext.VALUE_SET_DESIG));
} else {
x.para().b().tx(/*!#*/"Additional Designations and Language Displays");
x.para().b().tx(context.formatMessage(RenderingContext.VALUE_SET_ADD_DESIG));
}
t = x.table("codes");
tr = t.tr();
tr.td().b().tx(/*!#*/"Code");
tr.td().b().tx(context.formatMessage(RenderingContext.VALUE_SET_CODE));
for (String url : designations.keySet()) {
tr.td().b().addText(designations.get(url));
}
@ -343,8 +343,8 @@ public class ValueSetRenderer extends TerminologyRenderer {
}
private boolean generateContentModeNotices(XhtmlNode x, ValueSetExpansionComponent expansion, Resource vs) {
generateContentModeNotice(x, expansion, "example", /*!#*/"Expansion based on example code system", vs);
return generateContentModeNotice(x, expansion, "fragment", /*!#*/"Expansion based on code system fragment", vs);
generateContentModeNotice(x, expansion, "example", context.formatMessage(RenderingContext.VALUE_SET_EXP), vs);
return generateContentModeNotice(x, expansion, "fragment", context.formatMessage(RenderingContext.VALUE_SET_EXP_FRAG), vs);
}
private boolean generateContentModeNotice(XhtmlNode x, ValueSetExpansionComponent expansion, String mode, String text, Resource vs) {
@ -487,14 +487,14 @@ public class ValueSetRenderer extends TerminologyRenderer {
if (versions.size() == 1 && versions.get(s).size() == 1) {
for (String v : versions.get(s)) { // though there'll only be one
XhtmlNode p = x.para().style("border: black 1px dotted; background-color: #EEEEEE; padding: 8px; margin-bottom: 8px");
p.tx(/*!#*/"Expansion based on ");
p.tx(context.formatMessage(RenderingContext.VALUE_SET_EXPANSION));
expRef(p, s, v, vs);
}
} else {
for (String v : versions.get(s)) {
if (first) {
div = x.div().style("border: black 1px dotted; background-color: #EEEEEE; padding: 8px; margin-bottom: 8px");
div.para().tx(/*!#*/"Expansion based on: ");
div.para().tx(context.formatMessage(RenderingContext.VALUE_SET_EXPANSIONS));
ul = div.ul();
first = false;
}
@ -620,21 +620,21 @@ public class ValueSetRenderer extends TerminologyRenderer {
private String describeModule(String module) {
if ("900000000000207008".equals(module))
return /*!#*/"International";
return /*!#*/context.formatMessage(RenderingContext.VALUE_SET_INT);
if ("731000124108".equals(module))
return /*!#*/"United States";
return context.formatMessage(RenderingContext.VALUE_SET_US);
if ("32506021000036107".equals(module))
return /*!#*/"Australian";
return context.formatMessage(RenderingContext.VALUE_SET_AUS);
if ("449081005".equals(module))
return /*!#*/"Spanish";
return context.formatMessage(RenderingContext.VALUE_SET_SPAN);
if ("554471000005108".equals(module))
return /*!#*/"Danish";
return context.formatMessage(RenderingContext.VALUE_SET_DANISH);
if ("11000146104".equals(module))
return /*!#*/"Dutch";
return context.formatMessage(RenderingContext.VALUE_SET_DUTCH);
if ("45991000052106".equals(module))
return /*!#*/"Swedish";
return context.formatMessage(RenderingContext.VALUE_SET_SWEDISH);
if ("999000041000000102".equals(module))
return /*!#*/"United Kingdon";
return context.formatMessage(RenderingContext.VALUE_SET_UK);
return module;
}
@ -828,7 +828,7 @@ public class ValueSetRenderer extends TerminologyRenderer {
if (doInactive) {
td = tr.td();
if (c.getInactive()) {
td.tx(/*!#*/"inactive");
td.tx(context.formatMessage(RenderingContext.VALUE_SET_INACT));
}
}
if (doDefinition) {
@ -960,26 +960,26 @@ public class ValueSetRenderer extends TerminologyRenderer {
hasExtensions = genInclude(x.ul(), vs.getCompose().getInclude().get(0), "Include", langs, doDesignations, maps, designations, index, vs) || hasExtensions;
} else {
XhtmlNode p = x.para();
p.tx(/*!#*/"This value set includes codes based on the following rules:");
p.tx(context.formatMessage(RenderingContext.VALUE_SET_RULES_INC));
XhtmlNode ul = x.ul();
for (ConceptSetComponent inc : vs.getCompose().getInclude()) {
hasExtensions = genInclude(ul, inc, /*!#*/"Include", langs, doDesignations, maps, designations, index, vs) || hasExtensions;
hasExtensions = genInclude(ul, inc, context.formatMessage(RenderingContext.VALUE_SET_INC), langs, doDesignations, maps, designations, index, vs) || hasExtensions;
index++;
}
for (Base inc : VersionComparisonAnnotation.getDeleted(vs.getCompose(), "include")) {
genInclude(ul, (ConceptSetComponent) inc, /*!#*/"Include", langs, doDesignations, maps, designations, index, vs);
genInclude(ul, (ConceptSetComponent) inc, context.formatMessage(RenderingContext.VALUE_SET_INC), langs, doDesignations, maps, designations, index, vs);
index++;
}
if (vs.getCompose().hasExclude() || VersionComparisonAnnotation.hasDeleted(vs.getCompose(), "exclude")) {
p = x.para();
p.tx(/*!#*/"This value set excludes codes based on the following rules:");
p.tx(context.formatMessage(RenderingContext.VALUE_SET_RULES_EXC));
ul = x.ul();
for (ConceptSetComponent exc : vs.getCompose().getExclude()) {
hasExtensions = genInclude(ul, exc, /*!#*/"Exclude", langs, doDesignations, maps, designations, index, vs) || hasExtensions;
hasExtensions = genInclude(ul, exc, context.formatMessage(RenderingContext.VALUE_SET_EXCL), langs, doDesignations, maps, designations, index, vs) || hasExtensions;
index++;
}
for (Base inc : VersionComparisonAnnotation.getDeleted(vs.getCompose(), "exclude")) {
genInclude(ul, (ConceptSetComponent) inc, /*!#*/"Exclude", langs, doDesignations, maps, designations, index, vs);
genInclude(ul, (ConceptSetComponent) inc, context.formatMessage(RenderingContext.VALUE_SET_EXCL), langs, doDesignations, maps, designations, index, vs);
index++;
}
}
@ -990,15 +990,15 @@ public class ValueSetRenderer extends TerminologyRenderer {
if (!doDesignations && langs.size() + designations.size() > 0) {
Collections.sort(langs);
if (designations.size() == 0) {
x.para().b().tx(/*!#*/"Additional Language Displays");
x.para().b().tx(context.formatMessage(RenderingContext.VALUE_SET_ADD_LANG));
} else if (langs.size() == 0) {
x.para().b().tx(/*!#*/"Additional Designations");
x.para().b().tx(context.formatMessage(RenderingContext.VALUE_SET_DESIG));
} else {
x.para().b().tx(/*!#*/"Additional Designations and Language Displays");
x.para().b().tx(context.formatMessage(RenderingContext.VALUE_SET_ADD_DESIG));
}
XhtmlNode t = x.table("codes");
XhtmlNode tr = t.tr();
tr.td().b().tx(/*!#*/"Code");
tr.td().b().tx(context.formatMessage(RenderingContext.VALUE_SET_CODE));
for (String url : designations.keySet()) {
tr.td().b().addText(designations.get(url));
}
@ -1017,14 +1017,14 @@ public class ValueSetRenderer extends TerminologyRenderer {
}
private void renderExpansionRules(XhtmlNode x, ConceptSetComponent inc, int index, Map<String, ConceptDefinitionComponent> definitions) throws FHIRException, IOException {
String s = /*!#*/"This include specifies a hierarchy for when value sets are generated for use in a User Interface, but the rules are not properly defined";
String s = context.formatMessage(RenderingContext.VALUE_SET_NOT_DEF);
if (inc.hasExtension(ToolingExtensions.EXT_EXPAND_RULES)) {
String rule = inc.getExtensionString(ToolingExtensions.EXT_EXPAND_RULES);
if (rule != null) {
switch (rule) {
case "all-codes": s = /*!#*/"This include specifies a hierarchy for when value sets are generated for use in a User Interface. The expansion contains all the codes, and also this structure:";
case "ungrouped": s = /*!#*/"This include specifies a hierarchy for when value sets are generated for use in a User Interface. The expansion contains this structure, and any codes not found in the structure:";
case "groups-only": s = /*!#*/"This include specifies a hierarchy for when value sets are generated for use in a User Interface. The expansion contains this structure:";
case "all-codes": s = context.formatMessage(RenderingContext.VALUE_SET_ALL_CODE);
case "ungrouped": s = context.formatMessage(RenderingContext.VALUE_SET_NOT_FOUND);
case "groups-only": s = context.formatMessage(RenderingContext.VALUE_SET_CONT_STRUC);
}
}
}
@ -1033,8 +1033,8 @@ public class ValueSetRenderer extends TerminologyRenderer {
HierarchicalTableGenerator gen = new HierarchicalTableGenerator(context, context.getDestDir(), context.isInlineGraphics(), true);
TableModel model = gen.new TableModel("exp.h="+index, context.getRules() == GenerationRules.IG_PUBLISHER);
model.setAlternating(true);
model.getTitles().add(gen.new Title(null, model.getDocoRef(), /*!#*/"Code", /*!#*/"The code for the item", null, 0));
model.getTitles().add(gen.new Title(null, model.getDocoRef(), /*!#*/"Display", /*!#*/"The display for the item", null, 0));
model.getTitles().add(gen.new Title(null, model.getDocoRef(), context.formatMessage(RenderingContext.VALUE_SET_CODE), context.formatMessage(RenderingContext.VALUE_SET_CODE_ITEM), null, 0));
model.getTitles().add(gen.new Title(null, model.getDocoRef(), context.formatMessage(RenderingContext.VALUE_SET_DISPLAY), context.formatMessage(RenderingContext.VALUE_SET_DISPLAY_ITEM), null, 0));
for (Extension ext : inc.getExtensionsByUrl(ToolingExtensions.EXT_EXPAND_GROUP)) {
renderExpandGroup(gen, model, ext, inc, definitions);
@ -1142,9 +1142,9 @@ public class ValueSetRenderer extends TerminologyRenderer {
}
switch (url) {
case "http://snomed.info/sct#900000000000003001":
return /*!#*/"Fully specified name";
return context.formatMessage(RenderingContext.VALUE_SET_SPEC_NAME);
case "http://snomed.info/sct#900000000000013009":
return /*!#*/"Synonym";
return context.formatMessage(RenderingContext.VALUE_SET_SYNONYM);
default:
// As specified in http://www.hl7.org/fhir/valueset-definitions.html#ValueSet.compose.include.concept.designation.use and in http://www.hl7.org/fhir/codesystem-definitions.html#CodeSystem.concept.designation.use the terminology binding is extensible.
return url;
@ -1221,7 +1221,7 @@ public class ValueSetRenderer extends TerminologyRenderer {
if (i == inc.getFilter().size()-1) {
li.tx(" "+/*!#*/"and ");
} else {
li.tx(/*!#*/", ");
li.tx(context.formatMessage(RenderingContext.VALUE_SET_COMMA)+" ");
}
}
XhtmlNode wli = renderStatus(f, li);
@ -1257,7 +1257,7 @@ public class ValueSetRenderer extends TerminologyRenderer {
}
}
if (inc.hasValueSet()) {
li.tx(/*!#*/", where the codes are contained in ");
li.tx(context.formatMessage(RenderingContext.VALUE_SET_WHERE_CODES)+" ");
boolean first = true;
for (UriType vs : inc.getValueSet()) {
if (first)
@ -1273,7 +1273,7 @@ public class ValueSetRenderer extends TerminologyRenderer {
renderExpansionRules(li, inc, index, definitions);
}
} else {
li.tx(/*!#*/"Import all the codes that are contained in ");
li.tx(context.formatMessage(RenderingContext.VALUE_SET_IMPORT)+" ");
if (inc.getValueSet().size() < 4) {
boolean first = true;
for (UriType vs : inc.getValueSet()) {
@ -1324,7 +1324,7 @@ public class ValueSetRenderer extends TerminologyRenderer {
if (hasComments) {
td = tr.td();
if (ExtensionHelper.hasExtension(c, ToolingExtensions.EXT_VS_COMMENT)) {
smartAddText(td, /*!#*/"Note: "+ToolingExtensions.readStringExtension(c, ToolingExtensions.EXT_VS_COMMENT));
smartAddText(td, context.formatMessage(RenderingContext.VALUE_SET_NOTE, ToolingExtensions.readStringExtension(c, ToolingExtensions.EXT_VS_COMMENT)+" "));
}
}
if (doDesignations) {
@ -1405,7 +1405,7 @@ public class ValueSetRenderer extends TerminologyRenderer {
ValueSetExpansionOutcome vso = getContext().getWorker().expandVS(vs, true, false);
ValueSet valueset = vso.getValueset();
if (valueset == null)
throw new TerminologyServiceException(/*!#*/"Error Expanding ValueSet: "+vso.getError());
throw new TerminologyServiceException(context.formatMessage(RenderingContext.VALUE_SET_ERROR, vso.getError()+" "));
vse = valueset.getExpansion();
} catch (Exception e1) {
@ -1502,18 +1502,18 @@ public class ValueSetRenderer extends TerminologyRenderer {
private String describe(FilterOperator op) {
if (op == null)
return " "+/*!#*/"null ";
return " "+ context.formatMessage(RenderingContext.VALUE_SET_NULL);
switch (op) {
case EQUAL: return " "+/*!#*/"= ";
case ISA: return " "+/*!#*/"is-a ";
case ISNOTA: return " "+/*!#*/"is-not-a ";
case REGEX: return " "+/*!#*/"matches (by regex) ";
case NULL: return " "+/*!#*/"?ngen-13? ";
case IN: return " "+/*!#*/"in ";
case NOTIN: return " "+/*!#*/"not in ";
case DESCENDENTOF: return " "+/*!#*/"descends from ";
case EXISTS: return " "+/*!#*/"exists ";
case GENERALIZES: return " "+/*!#*/"generalizes ";
case EQUAL: return " "+ context.formatMessage(RenderingContext.VALUE_SET_EQUAL);
case ISA: return " "+ context.formatMessage(RenderingContext.VALUE_SET_ISA);
case ISNOTA: return " "+ context.formatMessage(RenderingContext.VALUE_SET_ISNOTA);
case REGEX: return " "+ context.formatMessage(RenderingContext.VALUE_SET_REGEX);
case NULL: return " "+ context.formatMessage(RenderingContext.VALUE_SET_NULLS);
case IN: return " "+ context.formatMessage(RenderingContext.VALUE_SET_IN);
case NOTIN: return " "+ context.formatMessage(RenderingContext.VALUE_SET_NOTIN);
case DESCENDENTOF: return " "+ context.formatMessage(RenderingContext.VALUE_SET_DESCENDENTOF);
case EXISTS: return " "+ context.formatMessage(RenderingContext.VALUE_SET_EXISTS);
case GENERALIZES: return " "+ context.formatMessage(RenderingContext.VALUE_SET_GENERALIZES);
}
return null;
}

View File

@ -1,6 +1,7 @@
package org.hl7.fhir.utilities.i18n;
import java.text.MessageFormat;
import java.util.Collections;
import java.util.Locale;
import java.util.Objects;
import java.util.ResourceBundle;
@ -98,6 +99,11 @@ public abstract class I18nBase {
.map(entry -> baseKey + KEY_DELIMITER + entry).collect(Collectors.toSet());
}
protected Set<String> getPluralSuffixes() {
return Collections.unmodifiableSet(pluralRules.getKeywords());
}
protected String getRootKeyFromPlural(@Nonnull String pluralKey) {
checkPluralRulesAreLoaded();
for (String keyword : pluralRules

View File

@ -139,8 +139,769 @@ public class RenderingI18nContext extends I18nBase {
public static final String PAT_MUL_BIRTH = "PAT_MUL_BIRTH";
public static final String PAT_MUL_BIRTH_HINT = "PAT_MUL_BIRTH_HINT";
public static final String PAT_PHOTO = "PAT_PHOTO";
public static final String CAPABILITY_REST_CAPS = "CAPABILITY_REST_CAPS";
public static final String CAPABILITY_RES_PRO = "CAPABILITY_RES_PRO";
public static final String CAPABILTY_SHALL_SUPP = "CAPABILTY_SHALL_SUPP";
public static final String CAPABILITY_SUMM = "CAPABILITY_SUMM";
public static final String CAPABILITY_SHOULD_SUPP = "CAPABILITY_SHOULD_SUPP";
public static final String CAPABILITY_SUPP_FORM = "CAPABILITY_SUPP_FORM";
public static final String CAPABILITY_SUPP = "CAPABILITY_SUPP";
public static final String CAPABILITY_SUPP_PATCH_FORM = "CAPABILITY_SUPP_PATCH_FORM";
public static final String CAPABILITY_SUMM_SYS_INT = "CAPABILITY_SUMM_SYS_INT";
public static final String CAPABILITY_SUPP_THE = "CAPABILITY_SUPP_THE";
public static final String CAPABILITY_INT = "CAPABILITY_INT";
public static final String CAPABILITY_SUPPS = "CAPABILITY_SUPPS";
public static final String CAPABILITY_SUMM_RES = "CAPABILITY_SUMM_RES";
public static final String CAPABILITY_REV_PROF = "CAPABILITY_REV_PROF";
public static final String CAPABILITY_SEARCH_PAR = "CAPABILITY_SEARCH_PAR";
public static final String CAPABILITY_RES_ENB = "CAPABILITY_RES_ENB";
public static final String CAPABILITY_TYP_PRES = "CAPABILITY_TYP_PRES";
public static final String CAPABILITY_OTH_RES_ENB = "CAPABILITY_OTH_RES_ENB";
public static final String CAPABILITY_RES_OPER = "CAPABILITY_RES_OPER";
public static final String CAPABILITY_RES_TYP = "CAPABILITY_RES_TYP";
public static final String CAPABILITY_PROF = "CAPABILITY_PROF";
public static final String CAPABILITY_OP = "CAPABILITY_OP";
public static final String CAPABILITY_ADD_SUPP_PROF = "CAPABILITY_ADD_SUPP_PROF";
public static final String CAPABILITY_SUPP_PROF = "CAPABILITY_SUPP_PROF";
public static final String CAPABILITY_PROF_MAP = "CAPABILITY_PROF_MAP";
public static final String CAPABILITY_CRIT = "CAPABILITY_CRIT";
public static final String CAPABILITY_CONF = "CAPABILITY_CONF";
public static final String CAPABILITY_OPER = "CAPABILITY_OPER";
public static final String CAPABILITY_DOC = "CAPABILITY_DOC";
public static final String CAPABILITY_PAR = "CAPABILITY_PAR";
public static final String CAPABILITY_TYP = "CAPABILITY_TYP";
public static final String CAPABILITY_PARS = "CAPABILITY_PARS";
public static final String CAPABILITY_TYPS = "CAPABILITY_TYPS";
public static final String CAPABILITY_NOTE_CAP = "CAPABILITY_NOTE_CAP";
public static final String CAPABILTY_ALLOW_CAP = "CAPABILTY_ALLOW_CAP";
public static final String CAPABILITY_INT_DESC = "CAPABILITY_INT_DESC";
public static final String ACTOR_DEF_REF = "ACTOR_DEF_REF";
public static final String ACTOR_DEF_CAP = "ACTOR_DEF_CAP";
public static final String ACTOR_DEF_DER = "ACTOR_DEF_DER";
public static final String ADD_BIND_ADD_BIND = "ADD_BIND_ADD_BIND";
public static final String ADD_BIND_PUR = "ADD_BIND_PUR";
public static final String ADD_BIND_USE = "ADD_BIND_USE";
public static final String ADD_BIND_ANY = "ADD_BIND_ANY";
public static final String ADD_BIND_DOC = "ADD_BIND_DOC";
public static final String CAPABILITY_IMP_VER = "CAPABILITY_IMP_VER";
public static final String CAPABILITY_FHIR_VER = "CAPABILITY_FHIR_VER";
public static final String CAPABILITY_PUB_ON = "CAPABILITY_PUB_ON";
public static final String CAPABILITY_PUB_BY = "CAPABILITY_PUB_BY";
public static final String CAPABILITY_REST_CONFIG = "CAPABILITY_REST_CONFIG";
public static final String CAPABILITY_RES_CONF = "CAPABILITY_RES_CONF";
public static final String ACTOR_DEF_ACT = "ACTOR_DEF_ACT";
public static final String ACTOR_DEF_TYP = "ACTOR_DEF_TYP";
public static final String ADD_BIND_ANY_REP = "ADD_BIND_ANY_REP";
public static final String BUNDLE_REV_EXCP = "BUNDLE_REV_EXCP";
public static final String BUNDLE_REV_INV_DOC = "BUNDLE_REV_INV_DOC";
public static final String CODE_SYS_UNKN_MODE = "CODE_SYS_UNKN_MODE";
public static final String CODE_SYS_ADD_LANG = "CODE_SYS_ADD_LANG";
public static final String CODE_SYS_UNDEF_HIER = "CODE_SYS_UNDEF_HIER";
public static final String CODE_SYS_COPY = "CODE_SYS_COPY";
public static final String CODE_SYS_DISP_PROP = "CODE_SYS_DISP_PROP";
public static final String CODE_SYS_DISP = "CODE_SYS_DISP";
public static final String CODE_SYS_PROP = "CODE_SYS_PROP";
public static final String CODE_SYS_FEAT = "CODE_SYS_FEAT";
public static final String CODE_SYS_CODE = "CODE_SYS_CODE";
public static final String CONC_MAP_FROM = "CONC_MAP_FROM";
public static final String CONC_MAP_NOT_SPEC = "CONC_MAP_NOT_SPEC";
public static final String CONC_MAP_TO = "CONC_MAP_TO";
public static final String CONC_MAP_NO_PROD_USE = "CONC_MAP_NO_PROD_USE";
public static final String CONC_MAP_PUB_ON = "CONC_MAP_PUB_ON";
public static final String CONC_MAP_GRP = "CONC_MAP_GRP";
public static final String CONC_MAP_CODE_SYS_UNSPEC = "CONC_MAP_CODE_SYS_UNSPEC";
public static final String CONC_MAP_SOURCE = "CONC_MAP_SOURCE";
public static final String CONC_MAP_REL = "CONC_MAP_REL";
public static final String CONC_MAP_TRGT = "CONC_MAP_TRGT";
public static final String CONC_MAP_CMNT = "CONC_MAP_CMNT";
public static final String CONC_MAP_CODE = "CONC_MAP_CODE";
public static final String CONC_MAP_CODES = "CONC_MAP_CODES";
public static final String CONC_MAP_FRM = "CONC_MAP_FRM";
public static final String CONC_MAP_SRC_DET = "CONC_MAP_SRC_DET";
public static final String CONC_MAP_TRGT_DET = "CONC_MAP_TRGT_DET";
public static final String CONC_MAP_PROP = "CONC_MAP_PROP";
public static final String DATA_REND_MKDWN_LNK = "DATA_REND_MKDWN_LNK";
public static final String DATA_REND_UNRD_EX = "DATA_REND_UNRD_EX";
public static final String DATA_REND_LOINC = "DATA_REND_LOINC";
public static final String DATA_REND_SNOWMED = "DATA_REND_SNOWMED";
public static final String DATA_REND_RXNORM = "DATA_REND_RXNORM";
public static final String DATA_REND_ICD = "DATA_REND_ICD";
public static final String DATA_REND_DICOM = "DATA_REND_DICOM";
public static final String DATA_REND_UCUM = "DATA_REND_UCUM";
public static final String DATA_REND_NOT_STAT = "DATA_REND_NOT_STAT";
public static final String DATA_REND_UNKNWN = "DATA_REND_UNKNWN";
public static final String DATA_REND_NO_DISP = "DATA_REND_NO_DISP";
public static final String DATA_REND_TO_DO = "DATA_REND_TO_DO";
public static final String DATA_REND_ERROR = "DATA_REND_ERROR";
public static final String DATA_REND_BY = "DATA_REND_BY";
public static final String DATA_REND_USE = "DATA_REND_USE";
public static final String DATA_REND_PERIOD = "DATA_REND_PERIOD";
public static final String DATA_REND_SOURCE = "DATA_REND_SOURCE";
public static final String DATA_REND_PHONE = "DATA_REND_PHONE";
public static final String DATA_REND_FAX = "DATA_REND_FAX";
public static final String DATA_REND_TYPE = "DATA_REND_TYPE";
public static final String DATA_REND_NAME = "DATA_REND_NAME";
public static final String DATA_REND_CODE = "DATA_REND_CODE";
public static final String DATA_REND_TIMING = "DATA_REND_TIMING";
public static final String DATA_REND_COND = "DATA_REND_COND";
public static final String DATA_REND_SUB = "DATA_REND_SUB";
public static final String DATA_REND_FILT = "DATA_REND_FILT";
public static final String DATA_REND_VALUE = "DATA_REND_VALUE";
public static final String DATA_REND_SEARCH= "SDATA_REND_SEARCH";
public static final String DATA_REND_VALUESET = "DATA_REND_VALUESET";
public static final String DATA_REND_THESE_CODES = "DATA_REND_THESE_CODES";
public static final String DATA_REND_LIMIT = "DATA_REND_LIMIT";
public static final String DATA_REND_SORT = "DATA_REND_SORT";
public static final String DATA_REND_GETCODE = "DATA_REND_GETCODE";
public static final String DATA_REND_EVENTS = "DATA_REND_EVENTS";
public static final String DATA_REND_STARTING = "DATA_REND_STARTING";
public static final String DATA_REND_COUNT = "DATA_REND_COUNT";
public static final String DATA_REND_DURATION = "DATA_REND_DURATION";
public static final String DATA_REND_ONCE = "DATA_REND_ONCE";
public static final String DATA_REND_UNTIL = "DATA_REND_UNTIL";
public static final String DATA_REND_MEALS = "DATA_REND_MEALS";
public static final String DATA_REND_ATLUNCH = "DATA_REND_ATLUNCH";
public static final String DATA_REND_ATBKFST = "DATA_REND_ATBKFST";
public static final String DATA_REND_ATDINR = "DATA_REND_ATDINR";
public static final String DATA_REND_BFMEALS = "DATA_REND_BFMEALS";
public static final String DATA_REND_BFLUNCH = "DATA_REND_BFLUNCH";
public static final String DATA_REND_BFBKFST = "DATA_REND_BFBKFST";
public static final String DATA_REND_BFDINR = "DATA_REND_BFDINR";
public static final String DATA_REND_BFSLEEP = "DATA_REND_BFSLEEP";
public static final String DATA_REND_AFTRMEALS = "DATA_REND_AFTRMEALS";
public static final String DATA_REND_AFTRBKFST = "DATA_REND_AFTRBKFST";
public static final String DATA_REND_AFTRLUNCH = "DATA_REND_AFTRLUNCH";
public static final String DATA_REND_AFTRDINR = "DATA_REND_AFTRDINR";
public static final String DATA_REND_AFTRWKNG = "DATA_REND_AFTRWKNG";
public static final String DATA_REND_ORIGIN = "DATA_REND_ORIGIN";
public static final String DATA_REND_INT = "DATA_REND_INT";
public static final String DATA_REND_FACT = "DATA_REND_FACT";
public static final String DATA_REND_LOWER = "DATA_REND_LOWER";
public static final String DATA_REND_UP = "DATA_REND_UP";
public static final String DATA_REND_DIM = "DATA_REND_DIM";
public static final String DATA_REND_DATA = "DATA_REND_DATA";
public static final String DIAG_REP_REND_SUB = "DIAG_REP_REND_SUB";
public static final String DIAG_REP_REND_WHEN = "DIAG_REP_REND_WHEN";
public static final String DIAG_REP_REND_REP = "DIAG_REP_REND_REP";
public static final String DIAG_REP_REND_IDEN = "DIAG_REP_REND_IDEN";
public static final String DIAG_REP_REND_REQ = "DIAG_REP_REND_REQ";
public static final String DIAG_REP_REND_REPDET = "DIAG_REP_REND_REPDET";
public static final String DIAG_REP_REND_CODECON = "DIAG_REP_REND_CODECON";
public static final String DIAG_REP_REND_UNABLE = "DIAG_REP_REND_UNABLE";
public static final String DIAG_REP_REND_NOTDONE = "DIAG_REP_REND_NOTDONE";
public static final String DIAG_REP_REND_CODE = "DIAG_REP_REND_CODE";
public static final String DIAG_REP_REND_VALUE = "DIAG_REP_REND_VALUE";
public static final String DIAG_REP_REND_REFRAN = "DIAG_REP_REND_REFRAN";
public static final String DIAG_REP_REND_FLAG = "DIAG_REP_REND_FLAG";
public static final String DIAG_REP_REND_NOTE = "DIAG_REP_REND_NOTE";
public static final String DIAG_REP_REND_NOTRES = "DIAG_REP_REND_NOTRES";
public static final String DIAG_REP_REND_OBS = "DIAG_REP_REND_OBS";
public static final String DIAG_REP_REND_ERR = "DIAG_REP_REND_ERR";
public static final String DIAG_REP_REND_FOR = "DIAG_REP_REND_FOR";
public static final String DIAG_REP_REND_AGE = "DIAG_REP_REND_AGE";
public static final String EX_SCEN_UN = "EX_SCEN_UN";
public static final String EX_SCEN_ERR_REN = "EX_SCEN_ERR_REN";
public static final String EX_SCEN_TIME = "EX_SCEN_TIME";
public static final String EX_SCEN_NAME = "EX_SCEN_NAME";
public static final String EX_SCEN_TYPE = "EX_SCEN_TYPE";
public static final String EX_SCEN_DESC = "EX_SCEN_DESC";
public static final String EX_SCEN_CONT = "EX_SCEN_CONT";
public static final String EX_SCEN_FVER = "EX_SCEN_FVER";
public static final String EX_SCEN_VER = "EX_SCEN_VER";
public static final String EX_SCEN_CONTA = "EX_SCEN_CONTA";
public static final String EX_SCEN_PROC = "EX_SCEN_PROC";
public static final String EX_SCEN_PRECON = "EX_SCEN_PRECON";
public static final String EX_SCEN_POSTCON = "EX_SCEN_POSTCON";
public static final String EX_SCEN_STEP = "EX_SCEN_STEP";
public static final String EX_SCEN_IN = "EX_SCEN_IN";
public static final String EX_SCEN_REC = "EX_SCEN_REC";
public static final String EX_SCEN_REQ = "EX_SCEN_REQ";
public static final String EX_SCEN_RES = "EX_SCEN_RES";
public static final String EX_SCEN_SEE = "EX_SCEN_SEE";
public static final String EX_SCEN_BEL = "EX_SCEN_BEL";
public static final String EX_SCEN_OTH = "EX_SCEN_OTH";
public static final String EX_SCEN_ALT = "EX_SCEN_ALT";
public static final String EX_SCEN_UN_ACT = "EX_SCEN_UN_ACT";
public static final String EX_SCEN_UN_INST = "EX_SCEN_UN_INST";
public static final String IMP_GUIDE_URL = "IMP_GUIDE_URL";
public static final String LIB_REND_PAR = "LIB_REND_PAR";
public static final String LIB_REND_AUT = "LIB_REND_AUT";
public static final String LIB_REND_ED = "LIB_REND_ED";
public static final String LIB_REND_REV = "LIB_REND_REV";
public static final String LIB_REND_END = "LIB_REND_END";
public static final String LIB_REND_ART = "LIB_REND_ART";
public static final String LIB_REND_PARA = "LIB_REND_PARA";
public static final String LIB_REND_REQ = "LIB_REND_REQ";
public static final String LIB_REND_CONT = "LIB_REND_CONT";
public static final String LIB_REND_NOCONT = "LIB_REND_NOCONT";
public static final String LIB_REND_SHOW = "LIB_REND_SHOW";
public static final String LIB_REND_SIZE = "LIB_REND_SIZE";
public static final String LIST_REND_DATE = "LIST_REND_DATE";
public static final String LIST_REND_MODE = "LIST_REND_MODE";
public static final String LIST_REND_STAT = "LIST_REND_STAT";
public static final String LIST_REND_CODE = "LIST_REND_CODE";
public static final String LIST_REND_SUB = "LIST_REND_SUB";
public static final String LIST_REND_ENC = "LIST_REND_ENC";
public static final String LIST_REND_SRC = "LIST_REND_SRC";
public static final String LIST_REND_ORD = "LIST_REND_ORD";
public static final String LIST_REND_ITEM = "LIST_REND_ITEM";
public static final String LIST_REND_DAT = "LIST_REND_DAT";
public static final String LIST_REND_FLAG = "LIST_REND_FLAG";
public static final String LIST_REND_DEL = "LIST_REND_DEL";
public static final String NAME_SYS_SUM = "NAME_SYS_SUM";
public static final String NAME_SYS_URL = "NAME_SYS_URL";
public static final String NAME_SYS_VER = "NAME_SYS_VER";
public static final String NAME_SYS_NAME = "NAME_SYS_NAME";
public static final String NAME_SYS_TITLE = "NAME_SYS_TITLE";
public static final String NAME_SYS_STAT = "NAME_SYS_STAT";
public static final String NAME_SYS_DEF = "NAME_SYS_DEF";
public static final String NAME_SYS_PUB = "NAME_SYS_PUB";
public static final String NAME_SYS_OID = "NAME_SYS_OID";
public static final String NAME_SYS_FOROID = "NAME_SYS_FOROID";
public static final String NAME_SYS_COPY = "NAME_SYS_COPY";
public static final String NAME_SYS_IDEN = "NAME_SYS_IDEN";
public static final String NAME_SYS_TYPE = "NAME_SYS_TYPE";
public static final String NAME_SYS_VALUE = "NAME_SYS_VALUE";
public static final String NAME_SYS_PREF = "NAME_SYS_PREF";
public static final String NAME_SYS_PER = "NAME_SYS_PER";
public static final String NAME_SYS_COM = "NAME_SYS_COM";
public static final String OBLIG_OBLIG = "OBLIG_OBLIG";
public static final String OBLIG_ACT = "OBLIG_ACT";
public static final String OBLIG_ELE = "OBLIG_ELE";
public static final String OBLIG_USE = "OBLIG_USE";
public static final String OBLIG_DOC = "OBLIG_DOC";
public static final String OBLIG_FILT = "OBLIG_FILT";
public static final String OP_DEF_OFFIC = "OP_DEF_OFFIC";
public static final String OP_DEF_URLS = "OP_DEF_URLS";
public static final String OP_DEF_URL = "OP_DEF_URL";
public static final String OP_DEF_INPAR = "OP_DEF_INPAR";
public static final String OP_DEF_OUTPAR = "OP_DEF_OUTPAR";
public static final String OP_DEF_PAR = "OP_DEF_PAR";
public static final String OP_DEF_USE = "OP_DEF_USE";
public static final String OP_DEF_NAME = "OP_DEF_NAME";
public static final String OP_DEF_SCO = "OP_DEF_SCO";
public static final String OP_DEF_CARD = "OP_DEF_CARD";
public static final String OP_DEF_TYPE = "OP_DEF_TYPE";
public static final String OP_DEF_BIND = "OP_DEF_BIND";
public static final String OP_DEF_DOC = "OP_DEF_DOC";
public static final String OP_OUT_OK = "OP_OUT_OK";
public static final String OP_OUT_SEV = "OP_OUT_SEV";
public static final String OP_OUT_LOC = "OP_OUT_LOC";
public static final String OP_OUT_CODE = "OP_OUT_CODE";
public static final String OP_OUT_DET = "OP_OUT_DET";
public static final String OP_OUT_DIAG = "OP_OUT_DIAG";
public static final String OP_OUT_SRC = "OP_OUT_SRC";
public static final String OP_OUT_TODO = "OP_OUT_TODO";
public static final String OP_OUT_NOT = "OP_OUT_NOT";
public static final String PAR_REND_PAR = "PAR_REND_PAR";
public static final String PROF_DRIV_FEXCP = "PROF_DRIV_FEXCP";
public static final String PROF_DRIV_EXCP = "PROF_DRIV_EXCP";
public static final String PROV_PROV = "PROV_PROV";
public static final String PROV_PROVE = "PROV_PROVE";
public static final String PROV_SUM = "PROV_SUM";
public static final String PROV_OCC = "PROV_OCC";
public static final String PROV_REC = "PROV_REC";
public static final String PROV_POL = "PROV_POL";
public static final String PROV_LOC = "PROV_LOC";
public static final String PROV_ACT = "PROV_ACT";
public static final String PROV_AGE = "PROV_AGE";
public static final String PROV_TYPE = "PROV_TYPE";
public static final String PROV_ROLE = "PROV_ROLE";
public static final String PROV_WHO = "PROV_WHO";
public static final String PROV_BEHALF = "PROV_BEHALF";
public static final String PROV_FOR = "PROV_FOR";
public static final String PROV_NOT = "PROV_NOT";
public static final String QUEST_STRUCT = "QUEST_STRUCT";
public static final String QUEST_LINKID = "QUEST_LINKID";
public static final String QUEST_LINK = "QUEST_LINK";
public static final String QUEST_TEXT = "QUEST_TEXT";
public static final String QUEST_TEXTFOR = "QUEST_TEXTFOR";
public static final String QUEST_CARD = "QUEST_CARD";
public static final String QUEST_TIMES = "QUEST_TIMES";
public static final String QUEST_TYPE = "QUEST_TYPE";
public static final String QUEST_TYPE_ITEM = "QUEST_TYPE_ITEM";
public static final String QUEST_FLAG = "QUEST_FLAG";
public static final String QUEST_ATTRIBUTES = "QUEST_ATTRIBUTES";
public static final String QUEST_DESC = "QUEST_DESC";
public static final String QUEST_ADD_INFO = "QUEST_ADD_INFO";
public static final String QUEST_OPT = "QUEST_OPT";
public static final String QUEST_ANSW = "QUEST_ANSW";
public static final String QUEST_ROOT = "QUEST_ROOT";
public static final String QUEST_QUEST = "QUEST_QUEST";
public static final String QUEST_READONLY = "QUEST_READONLY";
public static final String QUEST_SUBJECT = "QUEST_SUBJECT";
public static final String QUEST_DISPLAY = "QUEST_DISPLAY";
public static final String QUEST_LINKED = "QUEST_LINKED";
public static final String QUEST_HIDDEN = "QUEST_HIDDEN";
public static final String QUEST_ORIENTATION = "QUEST_ORIENTATION";
public static final String QUEST_CAT = "QUEST_CAT";
public static final String QUEST_MAX = "QUEST_MAX";
public static final String QUEST_DEF = "QUEST_DEF";
public static final String QUEST_ENABLE = "QUEST_ENABLE";
public static final String QUEST_VALUE = "QUEST_VALUE";
public static final String QUEST_OPTIONS = "QUEST_OPTIONS";
public static final String QUEST_INITIAL = "QUEST_INITIAL";
public static final String QUEST_EXP = "QUEST_EXP";
public static final String QUEST_INT = "QUEST_INT";
public static final String QUEST_CONT = "QUEST_CONT";
public static final String QUEST_ITEM_CONT = "QUEST_ITEM_CONT";
public static final String QUEST_EN = "QUEST_EN";
public static final String QUEST_CALC = "QUEST_CALC";
public static final String QUEST_CAND = "QUEST_CAND";
public static final String QUEST_TODO = "QUEST_TODO";
public static final String QUEST_MAND = "QUEST_MAND";
public static final String QUEST_ANSWERS = "QUEST_ANSWERS";
public static final String QUEST_QUESTIONNAIRE = "QUEST_QUESTIONNAIRE";
public static final String QUEST_TRY = "QUEST_TRY";
public static final String QUEST_NLM = "QUEST_NLM";
public static final String QUEST_URL = "QUEST_URL";
public static final String QUEST_VERSION = "QUEST_VERSION";
public static final String QUEST_NAME = "QUEST_NAME";
public static final String QUEST_TITLE = "QUEST_TITLE";
public static final String QUEST_DERIVED = "QUEST_DERIVED";
public static final String QUEST_STATUS = "QUEST_STATUS";
public static final String QUEST_EXPER = "QUEST_EXPER";
public static final String QUEST_PUB = "QUEST_PUB";
public static final String QUEST_APP = "QUEST_APP";
public static final String QUEST_REV_DATE = "QUEST_REV_DATE";
public static final String QUEST_EFF_PERIOD = "QUEST_EFF_PERIOD";
public static final String QUEST_SUB_TYPE = "QUEST_SUB_TYPE";
public static final String QUEST_DESCRIPTION = "QUEST_DESCRIPTION";
public static final String QUEST_PURPOSE = "QUEST_PURPOSE";
public static final String QUEST_COPYRIGHT = "QUEST_COPYRIGHT";
public static final String QUEST_ID = "QUEST_ID";
public static final String QUEST_PREFIX = "QUEST_PREFIX";
public static final String QUEST_REQ = "QUEST_REQ";
public static final String QUEST_REP = "QUEST_REP";
public static final String QUEST_READ_ONLY = "QUEST_READ_ONLY";
public static final String QUEST_SUB = "QUEST_SUB";
public static final String QUEST_VALUE_SET = "QUEST_VALUE_SET";
public static final String QUEST_MAX_LENGTH = "QUEST_MAX_LENGTH";
public static final String QUEST_ALLOWED = "QUEST_ALLOWED";
public static final String QUEST_INITIALLY = "QUEST_INITIALLY";
public static final String QUEST_INITIAL_ANSWER = "QUEST_INITIAL_ANSWER";
public static final String QUEST_HIDDEN_ITEM = "QUEST_HIDDEN_ITEM";
public static final String QUEST_DEFINITION = "QUEST_DEFINITION";
public static final String QUEST_CODE = "QUEST_CODE";
public static final String QUEST_OBSERVATION = "QUEST_OBSERVATION";
public static final String QUEST_TRUE = "QUEST_TRUE";
public static final String QUEST_ARE_TRUE = "QUEST_ARE_TRUE";
public static final String REND_STANDARDS = "REND_STANDARDS";
public static final String REND_SINCE = "REND_SINCE";
public static final String REND_ADDED = "REND_ADDED";
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 REQ_ACTOR = "REQ_ACTOR";
public static final String REQ_FOLLOWING_ACTOR = "REQ_FOLLOWING_ACTOR";
public static final String REQ_DERIVE = "REQ_DERIVE";
public static final String REQ_FOLLOWING_REQ = "REQ_FOLLOWING_REQ";
public static final String REQ_REFERENCES = "REQ_REFERENCES";
public static final String REQ_LINKS = "REQ_LINKS";
public static final String REQ_DERIVED = "REQ_DERIVED";
public static final String REQ_SATISFIED = "REQ_SATISFIED";
public static final String REQ_SOURCES = "REQ_SOURCES";
public static final String RES_REND_COND_REF = "RES_REND_COND_REF";
public static final String RES_REND_SEE_ON_THIS_PAGE = "RES_REND_SEE_ON_THIS_PAGE";
public static final String RES_REND_DESC = "RES_REND_DESC";
public static final String RES_REND_GEN_SUM = "RES_REND_GEN_SUM";
public static final String RES_REND_TODO = "RES_REND_TODO";
public static final String RES_REND_EXP = "RES_REND_EXP";
public static final String RES_REND_ACT = "RES_REND_ACT";
public static final String RES_REND_DRAFT = "RES_REND_DRAFT";
public static final String RES_REND_RET = "RES_REND_RET";
public static final String RES_REND_UNKNOWN = "RES_REND_UNKNOWN";
public static final String RES_REND_RESOURCE = "RES_REND_RESOURCE";
public static final String RES_REND_PROF = "RES_REND_PROF";
public static final String RES_REND_TAG = "RES_REND_TAG";
public static final String RES_REND_SECURITY = "RES_REND_SECURITY";
public static final String RES_REND_ERROR = "RES_REND_ERROR";
public static final String SEARCH_PAR_PAR = "SEARCH_PAR_PAR";
public static final String SEARCH_PAR_EXP = "SEARCH_PAR_EXP";
public static final String SEARCH_PAR_NONE = "SEARCH_PAR_NONE";
public static final String SEARCH_PAR_PROC = "SEARCH_PAR_PROC";
public static final String SEARCH_PAR_RES = "SEARCH_PAR_RES";
public static final String SEARCH_PAR_MULTIPLES = "SEARCH_PAR_MULTIPLES";
public static final String SEARCH_PAR_MULTIPLE_AND_SERVER = "SEARCH_PAR_MULTIPLE_AND_SERVER";
public static final String SEARCH_PAR_MULTIPLE_AND_REPEAT = "SEARCH_PAR_MULTIPLE_AND_REPEAT";
public static final String SEARCH_PAR_MULTIPLE_AND_APPEAR = "SEARCH_PAR_MULTIPLE_AND_APPEAR";
public static final String SEARCH_PAR_MULTIPLE_OR_SERVER = "SEARCH_PAR_MULTIPLE_OR_SERVER";
public static final String SEARCH_PAR_MULTIPLE_OR_MULTIPLE = "SEARCH_PAR_MULTIPLE_OR_MULTIPLE";
public static final String SEARCH_PAR_MULTIPLE_OR_ONE = "SEARCH_PAR_MULTIPLE_OR_ONE";
public static final String SEARCH_PAR_COMP = "SEARCH_PAR_COMP";
public static final String SEARCH_PAR_ALLOWED = "SEARCH_PAR_ALLOWED";
public static final String SEARCH_PAR_MOD = "SEARCH_PAR_MOD";
public static final String SEARCH_PAR_CHAIN = "SEARCH_PAR_CHAIN";
public static final String SUB_TOPIC_RES_TRIG = "SUB_TOPIC_RES_TRIG";
public static final String SUB_TOPIC_RES = "SUB_TOPIC_RES";
public static final String SUB_TOPIC_INT = "SUB_TOPIC_INT";
public static final String SUB_TOPIC_PREV = "SUB_TOPIC_PREV";
public static final String SUB_TOPIC_CREATE = "SUB_TOPIC_CREATE";
public static final String SUB_TOPIC_DELETE = "SUB_TOPIC_DELETE";
public static final String SUB_TOPIC_REQ = "SUB_TOPIC_REQ";
public static final String SUB_TOPIC_CRITERIA = "SUB_TOPIC_CRITERIA";
public static final String SUB_TOPIC_FHIR_PATH = "SUB_TOPIC_FHIR_PATH";
public static final String SUB_TOPIC_DESC = "SUB_TOPIC_DESC";
public static final String SUB_TOPIC_EVENT = "SUB_TOPIC_EVENT";
public static final String SUB_TOPIC_FILT_PAR = "SUB_TOPIC_FILT_PAR";
public static final String SUB_TOPIC_FILT_DEF = "SUB_TOPIC_FILT_DEF";
public static final String SUB_TOPIC_COMP = "SUB_TOPIC_COMP";
public static final String SUB_TOPIC_MOD = "SUB_TOPIC_MOD";
public static final String SUB_TOPIC_INCL = "SUB_TOPIC_INCL";
public static final String SUB_TOPIC_REV_INCL = "SUB_TOPIC_REV_INCL";
public static final String TERMINOLOGY_LVL = "TERMINOLOGY_LVL";
public static final String TERMINOLOGY_SNOMED = "TERMINOLOGY_SNOMED";
public static final String TEST_PLAN_CONT = "TEST_PLAN_CONT";
public static final String TEST_PLAN_CATEGORY = "TEST_PLAN_CATEGORY";
public static final String TEST_PLAN_SCOPE = "TEST_PLAN_SCOPE";
public static final String TEST_PLAN_SCOPES = "TEST_PLAN_SCOPES";
public static final String TEST_PLAN_DEP = "TEST_PLAN_DEP";
public static final String TEST_PLAN_DEPEN = "TEST_PLAN_DEPEN";
public static final String TEST_PLAN_DESC = "TEST_PLAN_DESC";
public static final String TEST_PLAN_RUN = "TEST_PLAN_RUN";
public static final String TEST_PLAN_TEST_RUN = "TEST_PLAN_TEST_RUN";
public static final String TEST_PLAN_DATA = "TEST_PLAN_DATA";
public static final String TEST_PLAN_TEST_DATA = "TEST_PLAN_TEST_DATA";
public static final String TEST_PLAN_ASS = "TEST_PLAN_ASS";
public static final String TEST_PLAN_ASSERTION = "TEST_PLAN_ASSERTION";
public static final String TEST_PLAN_LANG = "TEST_PLAN_LANG";
public static final String TEST_PLAN_SOURCE = "TEST_PLAN_SOURCE";
public static final String TEST_PLAN_TYPE = "TEST_PLAN_TYPE";
public static final String TEST_PLAN_CONTENT = "TEST_PLAN_CONTENT";
public static final String TEST_PLAN_RESULT = "TEST_PLAN_RESULT";
public static final String VALUE_SET_CONT = "VALUE_SET_CONT";
public static final String VALUE_SET_INF = "VALUE_SET_INF";
public static final String VALUE_SET_SEL = "VALUE_SET_SEL";
public static final String VALUE_SET_LEVEL = "VALUE_SET_LEVEL";
public static final String VALUE_SET_CODE = "VALUE_SET_CODE";
public static final String VALUE_SET_SYSTEM = "VALUE_SET_SYSTEM";
public static final String VALUE_SET_DISPLAY = "VALUE_SET_DISPLAY";
public static final String VALUE_SET_INACTIVE = "VALUE_SET_INACTIVE";
public static final String VALUE_SET_DEF = "VALUE_SET_DEF";
public static final String VALUE_SET_ADD_LANG = "VALUE_SET_ADD_LANG";
public static final String VALUE_SET_DESIG = "VALUE_SET_DESIG";
public static final String VALUE_SET_ADD_DESIG = "VALUE_SET_ADD_DESIG";
public static final String VALUE_SET_EXP = "VALUE_SET_EXP";
public static final String VALUE_SET_EXP_FRAG = "VALUE_SET_EXP_FRAG";
public static final String VALUE_SET_EXPANSION = "VALUE_SET_EXPANSION";
public static final String VALUE_SET_EXPANSIONS = "VALUE_SET_EXPANSIONS";
public static final String VALUE_SET_INT = "VALUE_SET_INT";
public static final String VALUE_SET_US = "VALUE_SET_US";
public static final String VALUE_SET_AUS = "VALUE_SET_AUS";
public static final String VALUE_SET_SPAN = "VALUE_SET_SPAN";
public static final String VALUE_SET_DANISH = "VALUE_SET_DANISH";
public static final String VALUE_SET_DUTCH = "VALUE_SET_DUTCH";
public static final String VALUE_SET_SWEDISH = "VALUE_SET_SWEDISH";
public static final String VALUE_SET_UK = "VALUE_SET_UK";
public static final String VALUE_SET_INACT = "VALUE_SET_INACT";
public static final String VALUE_SET_RULES_INC = "VALUE_SET_RULES_INC";
public static final String VALUE_SET_RULES_EXC = "VALUE_SET_RULES_EXC";
public static final String VALUE_SET_INC = "VALUE_SET_INC";
public static final String VALUE_SET_EXC = "VALUE_SET_EXC";
public static final String VALUE_SET_EXCL = "VALUE_SET_EXCL";
public static final String VALUE_SET_NOT_DEF = "VALUE_SET_NOT_DEF";
public static final String VALUE_SET_ALL_CODE = "VALUE_SET_ALL_CODE";
public static final String VALUE_SET_NOT_FOUND = "VALUE_SET_NOT_FOUND";
public static final String VALUE_SET_CONT_STRUC = "VALUE_SET_CONT_STRUC";
public static final String VALUE_SET_CODE_ITEM = "VALUE_SET_CODE_ITEM";
public static final String VALUE_SET_DISPLAY_ITEM = "VALUE_SET_DISPLAY_ITEM";
public static final String VALUE_SET_SPEC_NAME = "VALUE_SET_SPEC_NAME";
public static final String VALUE_SET_SYNONYM = "VALUE_SET_SYNONYM";
public static final String VALUE_SET_COMMA = "VALUE_SET_COMMA";
public static final String VALUE_SET_WHERE_CODES = "VALUE_SET_WHERE_CODES";
public static final String VALUE_SET_IMPORT = "VALUE_SET_IMPORT";
public static final String VALUE_SET_NOTE = "VALUE_SET_NOTE";
public static final String VALUE_SET_ERROR = "VALUE_SET_ERROR";
public static final String VALUE_SET_NULL = "VALUE_SET_NULL";
public static final String VALUE_SET_EQUAL = "VALUE_SET_EQUAL";
public static final String VALUE_SET_ISA = "VALUE_SET_ISA";
public static final String VALUE_SET_ISNOTA = "VALUE_SET_ISNOTA";
public static final String VALUE_SET_REGEX = "VALUE_SET_REGEX";
public static final String VALUE_SET_NULLS = "VALUE_SET_NULLS";
public static final String VALUE_SET_IN = "VALUE_SET_IN";
public static final String VALUE_SET_NOTIN = "VALUE_SET_NOTIN";
public static final String VALUE_SET_DESCENDENTOF = "VALUE_SET_DESCENDENTOF";
public static final String VALUE_SET_EXISTS = "VALUE_SET_EXISTS";
public static final String VALUE_SET_GENERALIZES = "VALUE_SET_GENERALIZES";
public static final String STRUC_DEF_FII = "STRUC_DEF_FII";
public static final String STRUC_DEF_ERROR = "STRUC_DEF_ERROR";
public static final String STRUC_DEF_REQ = "STRUC_DEF_REQ";
public static final String STRUC_DEF_CONC_SET = "STRUC_DEF_CONC_SET";
public static final String STRUC_DEF_EXT = "STRUC_DEF_EXT";
public static final String STRUC_DEF_APPROP_CON = "STRUC_DEF_APPROP_CON";
public static final String STRUC_DEF_MAX = "STRUC_DEF_MAX";
public static final String STRUC_DEF_REQ_BIND = "STRUC_DEF_REQ_BIND";
public static final String STRUC_DEF_MIN = "STRUC_DEF_MIN";
public static final String STRUC_DEF_MIN_ALLOW = "STRUC_DEF_MIN_ALLOW";
public static final String STRUC_DEF_CAND = "STRUC_DEF_CAND";
public static final String STRUC_DEF_CAND_SUB = "STRUC_DEF_CAND_SUB";
public static final String STRUC_DEF_CURR = "STRUC_DEF_CURR";
public static final String STRUC_DEF_CURR_RULE = "STRUC_DEF_CURR_RULE";
public static final String STRUC_DEF_PREF = "STRUC_DEF_PREF";
public static final String STRUC_DEF_PREF_CONT = "STRUC_DEF_PREF_CONT";
public static final String STRUC_DEF_UI = "STRUC_DEF_UI";
public static final String STRUC_DEF_UI_CONT = "STRUC_DEF_UI_CONT";
public static final String STRUC_DEF_START = "STRUC_DEF_START";
public static final String STRUC_DEF_START_DEF = "STRUC_DEF_START_DEF";
public static final String STRUC_DEF_COMP = "STRUC_DEF_COMP";
public static final String STRUC_DEF_COMP_DOC = "STRUC_DEF_COMP_DOC";
public static final String STRUC_DEF_EX = "STRUC_DEF_EX";
public static final String STRUC_DEF_EX_DESC = "STRUC_DEF_EX_DESC";
public static final String STRUC_DEF_EXAM = "STRUC_DEF_EXAM";
public static final String STRUC_DEF_EXTENSIBLE = "STRUC_DEF_EXTENSIBLE";
public static final String STRUC_DEF_PREFERRED = "STRUC_DEF_PREFERRED";
public static final String STRUC_DEF_REQUIRED = "STRUC_DEF_REQUIRED";
public static final String STRUC_DEF_ALL_ACTORS = "STRUC_DEF_ALL_ACTORS";
public static final String STRUC_DEF_OBLIG = "STRUC_DEF_OBLIG";
public static final String STRUC_DEF_OBLIG_ALL = "STRUC_DEF_OBLIG_ALL";
public static final String STRUC_DEF_UNDEF_ACT = "STRUC_DEF_UNDEF_ACT";
public static final String STRUC_DEF_ACT = "STRUC_DEF_ACT";
public static final String STRUC_DEF_NAME = "STRUC_DEF_NAME";
public static final String STRUC_DEF_LOGIC_NAME = "STRUC_DEF_LOGIC_NAME";
public static final String STRUC_DEF_CONT_RULE = "STRUC_DEF_CONT_RULE";
public static final String STRUC_DEF_ALL_TYPES = "STRUC_DEF_ALL_TYPES";
public static final String STRUC_DEF_CONT_TYPE = "STRUC_DEF_CONT_TYPE";
public static final String STRUC_DEF_SLICE = "STRUC_DEF_SLICE";
public static final String STRUC_DEF_SLICE_PAR = "STRUC_DEF_SLICE_PAR";
public static final String STRUC_DEF_SLICE_FOR = "STRUC_DEF_SLICE_FOR";
public static final String STRUC_DEF_MOD = "STRUC_DEF_MOD";
public static final String STRUC_DEF_OBLIG_SUPP = "STRUC_DEF_OBLIG_SUPP";
public static final String STRUC_DEF_SUPP = "STRUC_DEF_SUPP";
public static final String STRUC_DEF_ELE_OBLIG = "STRUC_DEF_ELE_OBLIG";
public static final String STRUC_DEF_SUMM = "STRUC_DEF_SUMM";
public static final String STRUC_DEF_ELE = "STRUC_DEF_ELE";
public static final String STRUC_DEF_EX_URL = "STRUC_DEF_EX_URL";
public static final String STRUC_DEF_COMPLEX = "STRUC_DEF_COMPLEX";
public static final String STRUC_DEF_JSON_IS = "STRUC_DEF_JSON_IS";
public static final String STRUC_DEF_JSON_MAY = "STRUC_DEF_JSON_MAY";
public static final String STRUC_DEF_CHOICE = "STRUC_DEF_CHOICE";
public static final String STRUC_DEF_XML_NAME = "STRUC_DEF_XML_NAME";
public static final String STRUC_DEF_ELEMENTS = "STRUC_DEF_ELEMENTS";
public static final String STRUC_DEF_URL = "STRUC_DEF_URL";
public static final String STRUC_DEF_PROFILED = "STRUC_DEF_PROFILED";
public static final String STRUC_DEF_BINDING = "STRUC_DEF_BINDING";
public static final String STRUC_DEF_TYPE_SET = "STRUC_DEF_TYPE_SET";
public static final String STRUC_DEF_BINDING_STYLE = "STRUC_DEF_BINDING_STYLE";
public static final String STRUC_DEF_ELE_READ = "STRUC_DEF_ELE_READ";
public static final String STRUC_DEF_PREFIXED = "STRUC_DEF_PREFIXED";
public static final String STRUC_DEF_EXT_JSON = "STRUC_DEF_EXT_JSON";
public static final String STRUC_DEF_DATE = "STRUC_DEF_DATE";
public static final String STRUC_DEF_ID_IS = "STRUC_DEF_ID_IS";
public static final String STRUC_DEF_ID_MAY = "STRUC_DEF_ID_MAY";
public static final String STRUC_DEF_ID_NOT_ALLOW = "STRUC_DEF_ID_NOT_ALLOW";
public static final String STRUC_DEF_CHOICE_GRP = "STRUC_DEF_CHOICE_GRP";
public static final String STRUC_DEF_REPEAT = "STRUC_DEF_REPEAT";
public static final String STRUC_DEF_XML = "STRUC_DEF_XML";
public static final String STRUC_DEF_XML_ELE = "STRUC_DEF_XML_ELE";
public static final String STRUC_DEF_JSON_NAME = "STRUC_DEF_JSON_NAME";
public static final String STRUC_DEF_JSON_TYPE = "STRUC_DEF_JSON_TYPE";
public static final String STRUC_DEF_JSON_INFERRED = "STRUC_DEF_JSON_INFERRED";
public static final String STRUC_DEF_JSON_ARRAY = "STRUC_DEF_JSON_ARRAY";
public static final String STRUC_DEF_JSON_NULL = "STRUC_DEF_JSON_NULL";
public static final String STRUC_DEF_JSON_IF = "STRUC_DEF_JSON_IF";
public static final String STRUC_DEF_THEN_TYPE = "STRUC_DEF_THEN_TYPE";
public static final String STRUC_DEF_OBLIG_ADD = "STRUC_DEF_OBLIG_ADD";
public static final String STRUC_DEF_NOT_MARK = "STRUC_DEF_NOT_MARK";
public static final String STRUC_DEF_REF = "STRUC_DEF_REF";
public static final String STRUC_DEF_TEMPLATEID = "STRUC_DEF_TEMPLATEID";
public static final String STRUC_DEF_VALID_UNKNOWN = "STRUC_DEF_VALID_UNKNOWN";
public static final String STRUC_DEF_LOGIC = "STRUC_DEF_LOGIC";
public static final String STRUC_DEF_ROOT = "STRUC_DEF_ROOT";
public static final String STRUC_DEF_REPEAT_ELE = "STRUC_DEF_REPEAT_ELE";
public static final String STRUC_DEF_FIXED = "STRUC_DEF_FIXED";
public static final String STRUC_DEF_AS_SHOWN = "STRUC_DEF_AS_SHOWN";
public static final String STRUC_DEF_REQ_PATT = "STRUC_DEF_REQ_PATT";
public static final String STRUC_DEF_LEAST_FOLLOW = "STRUC_DEF_LEAST_FOLLOW";
public static final String STRUC_DEF_EXAMPLE = "STRUC_DEF_EXAMPLE";
public static final String STRUC_DEF_UNKNOWN_REF = "STRUC_DEF_UNKNOWN_REF";
public static final String STRUC_DEF_SEE = "STRUC_DEF_SEE";
public static final String STRUC_DEF_TYPE_SUPP = "STRUC_DEF_TYPE_SUPP";
public static final String STRUC_DEF_PROF_SUPP = "STRUC_DEF_PROF_SUPP";
public static final String STRUC_DEF_TODO = "STRUC_DEF_TODO";
public static final String STRUC_DEF_FIXED_VALUE = "STRUC_DEF_FIXED_VALUE";
public static final String STRUC_DEF_COMPLEXBRACK = "STRUC_DEF_COMPLEXBRACK";
public static final String STRUC_DEF_URLS = "STRUC_DEF_URLS";
public static final String STRUC_DEF_SLICES = "STRUC_DEF_SLICES";
public static final String STRUC_DEF_BINDINGS = "STRUC_DEF_BINDINGS";
public static final String STRUC_DEF_REQUIRED_PATT = "STRUC_DEF_REQUIRED_PATT";
public static final String STRUC_DEF_EXCOMMA = "STRUC_DEF_EXCOMMA";
public static final String STRUC_DEF_MAX_LENGTH = "STRUC_DEF_MAX_LENGTH";
public static final String STRUC_DEF_DEF = "STRUC_DEF_DEF";
public static final String STRUC_DEF_COMMENT = "STRUC_DEF_COMMENT";
public static final String STRUC_DEF_TARG_SUPP = "STRUC_DEF_TARG_SUPP";
public static final String STRUC_DEF_ORDERED = "STRUC_DEF_ORDERED";
public static final String STRUC_DEF_UNORDERED = "STRUC_DEF_UNORDERED";
public static final String STRUC_DEF_UNSPECIFIED = "STRUC_DEF_UNSPECIFIED";
public static final String STRUC_DEF_CLOSED = "STRUC_DEF_CLOSED";
public static final String STRUC_DEF_OPEN = "STRUC_DEF_OPEN";
public static final String STRUC_DEF_OPEN_END = "STRUC_DEF_OPEN_END";
public static final String STRUC_DEF_FHIR = "STRUC_DEF_FHIR";
public static final String STRUC_DEF_CAP = "STRUC_DEF_CAP";
public static final String STRUC_DEF_PROPERTY = "STRUC_DEF_PROPERTY";
public static final String STRUC_DEF_CARD = "STRUC_DEF_CARD";
public static final String STRUC_DEF_CONTENT = "STRUC_DEF_CONTENT";
public static final String STRUC_DEF_DESC = "STRUC_DEF_DESC";
public static final String STRUC_DEF_PROF_RES = "STRUC_DEF_PROF_RES";
public static final String STRUC_DEF_MAX_MIN = "STRUC_DEF_MAX_MIN";
public static final String STRUC_DEF_WHAT = "STRUC_DEF_WHAT";
public static final String STRUC_DEF_DESC_PROF = "STRUC_DEF_DESC_PROF";
public static final String STRUC_DEF_IF = "STRUC_DEF_IF";
public static final String STRUC_DEF_FHIR_EXCEP = "STRUC_DEF_FHIR_EXCEP";
public static final String STRUC_DEF_SLICE_NAME = "STRUC_DEF_SLICE_NAME";
public static final String STRUC_DEF_CONSTRAINING = "STRUC_DEF_CONSTRAINING";
public static final String STRUC_DEF_DEFINITION = "STRUC_DEF_DEFINITION";
public static final String STRUC_DEF_SHORT = "STRUC_DEF_SHORT";
public static final String STRUC_DEF_COMMENTS = "STRUC_DEF_COMMENTS";
public static final String STRUC_DEF_NOTE = "STRUC_DEF_NOTE";
public static final String STRUC_DEF_CONTROL = "STRUC_DEF_CONTROL";
public static final String STRUC_DEF_TYPE = "STRUC_DEF_TYPE";
public static final String STRUC_DEF_DEFAULT_TYPE = "STRUC_DEF_DEFAULT_TYPE";
public static final String STRUC_DEF_MODIFIER = "STRUC_DEF_MODIFIER";
public static final String STRUC_DEF_PRIMITIVE = "STRUC_DEF_PRIMITIVE";
public static final String STRUC_DEF_ALLOWED = "STRUC_DEF_ALLOWED";
public static final String STRUC_DEF_MUST_SUPPORT = "STRUC_DEF_MUST_SUPPORT";
public static final String STRUC_DEF_LOGICAL = "STRUC_DEF_LOGICAL";
public static final String STRUC_DEF_LOGICAL_CONT = "STRUC_DEF_LOGICAL_CONT";
public static final String STRUC_DEF_VALID = "STRUC_DEF_VALID";
public static final String STRUC_DEF_UNKNOWN_APPROACH = "STRUC_DEF_UNKNOWN_APPROACH";
public static final String STRUC_DEF_IMPOSE_PROFILE = "STRUC_DEF_IMPOSE_PROFILE";
public static final String STRUC_DEF_COMP_PROF = "STRUC_DEF_COMP_PROF";
public static final String STRUC_DEF_PROF_COMP = "STRUC_DEF_PROF_COMP";
public static final String STRUC_DEF_OBLIGATIONS = "STRUC_DEF_OBLIGATIONS";
public static final String STRUC_DEF_EXT_STYLE = "STRUC_DEF_EXT_STYLE";
public static final String STRUC_DEF_DATE_FORM = "STRUC_DEF_DATE_FORM";
public static final String STRUC_DEF_BIND_STYLE = "STRUC_DEF_BIND_STYLE";
public static final String STRUC_DEF_ID_EXPECT = "STRUC_DEF_ID_EXPECT";
public static final String STRUC_DEF_ID_REQ = "STRUC_DEF_ID_REQ";
public static final String STRUC_DEF_REP_CHOICE = "STRUC_DEF_REP_CHOICE";
public static final String STRUC_DEF_JSON_FORM = "STRUC_DEF_JSON_FORM";
public static final String STRUC_DEF_XML_FORM = "STRUC_DEF_XML_FORM";
public static final String STRUC_DEF_STRING_FORM = "STRUC_DEF_STRING_FORM";
public static final String STRUC_DEF_STAND_STAT = "STRUC_DEF_STAND_STAT";
public static final String STRUC_DEF_REQUIREMENTS = "STRUC_DEF_REQUIREMENTS";
public static final String STRUC_DEF_LABEL = "STRUC_DEF_LABEL";
public static final String STRUC_DEF_ALT_NAME = "STRUC_DEF_ALT_NAME";
public static final String STRUC_DEF_DEF_CODES = "STRUC_DEF_DEF_CODES";
public static final String STRUC_DEF_MIN_VALUE = "STRUC_DEF_MIN_VALUE";
public static final String STRUC_DEF_MAX_VALUE = "STRUC_DEF_MAX_VALUE";
public static final String STRUC_DEF_VALUE_REQ = "STRUC_DEF_VALUE_REQ";
public static final String STRUC_DEF_VALUE_ALT = "STRUC_DEF_VALUE_ALT";
public static final String STRUC_DEF_DEFAULT_VALUE = "STRUC_DEF_DEFAULT_VALUE";
public static final String STRUC_DEF_MEAN_MISS = "STRUC_DEF_MEAN_MISS";
public static final String STRUC_DEF_PATT_VALUE = "STRUC_DEF_PATT_VALUE";
public static final String STRUC_DEF_INVAR = "STRUC_DEF_INVAR";
public static final String STRUC_DEF_LOINC = "STRUC_DEF_LOINC";
public static final String STRUC_DEF_SNOMED = "STRUC_DEF_SNOMED";
public static final String STRUC_DEF_BECAUSE = "STRUC_DEF_BECAUSE";
public static final String STRUC_DEF_MUST_SUPPORT_TYPES = "STRUC_DEF_MUST_SUPPORT_TYPES";
public static final String STRUC_DEF_NO_MUST_SUPPORT = "STRUC_DEF_NO_MUST_SUPPORT";
public static final String STRUC_DEF_NOT_MARKED = "STRUC_DEF_NOT_MARKED";
public static final String STRUC_DEF_CAN_TARGET = "STRUC_DEF_CAN_TARGET";
public static final String STRUC_DEF_CANNOT_TARGET = "STRUC_DEF_CANNOT_TARGET";
public static final String STRUC_DEF_JSON_ELE = "STRUC_DEF_JSON_ELE";
public static final String STRUC_DEF_TYPE_BOUND = "STRUC_DEF_TYPE_BOUND";
public static final String STRUC_DEF_SUMMARY = "STRUC_DEF_SUMMARY";
public static final String STRUC_DEF_CDA = "STRUC_DEF_CDA";
public static final String STRUC_DEF_XSI = "STRUC_DEF_XSI";
public static final String STRUC_DEF_XHTML = "STRUC_DEF_XHTML";
public static final String STRUC_DEF_XML_ATTRIBUTE = "STRUC_DEF_XML_ATTRIBUTE";
public static final String STRUC_DEF_UNADORNED = "STRUC_DEF_UNADORNED";
public static final String STRUC_DEF_NAMESPACE = "STRUC_DEF_NAMESPACE";
public static final String STRUC_DEF_XML_ACTUAL = "STRUC_DEF_XML_ACTUAL";
public static final String STRUC_DEF_JSON_PRESENT = "STRUC_DEF_JSON_PRESENT";
public static final String STRUC_DEF_JSON_NOT_PRESENT = "STRUC_DEF_JSON_NOT_PRESENT";
public static final String STRUC_DEF_JSON_MAY_PRESENT = "STRUC_DEF_JSON_MAY_PRESENT";
public static final String STRUC_DEF_JSON_PROPERTY_NAME = "STRUC_DEF_JSON_PROPERTY_NAME";
public static final String STRUC_DEF_JSON_CAN_NAME = "STRUC_DEF_JSON_CAN_NAME";
public static final String STRUC_DEF_JSON_SINGLE = "STRUC_DEF_JSON_SINGLE";
public static final String STRUC_DEF_NULL_JSON = "STRUC_DEF_NULL_JSON";
public static final String STRUC_DEF_INFERRED_JSON = "STRUC_DEF_INFERRED_JSON";
public static final String STRUC_DEF_OBLIG_FROM = "STRUC_DEF_OBLIG_FROM";
public static final String STRUC_DEF_JSON_EXT = "STRUC_DEF_JSON_EXT";
public static final String STRUC_DEF_JSON_CHILD = "STRUC_DEF_JSON_CHILD";
public static final String STRUC_DEF_VALUE = "STRUC_DEF_VALUE";
public static final String STRUC_DEF_ONE_OF = "STRUC_DEF_ONE_OF";
public static final String STRUC_DEF_AND = "STRUC_DEF_AND";
public static final String STRUC_DEF_SET_SLICES = "STRUC_DEF_SET_SLICES";
public static final String STRUC_DEF_SET_ARE = "STRUC_DEF_SET_ARE";
public static final String STRUC_DEF_DESCRIM = "STRUC_DEF_DESCRIM";
public static final String STRUC_DEF_NO_DESCRIM = "STRUC_DEF_NO_DESCRIM";
public static final String STRUC_DEF_BUSINESS_ID = "STRUC_DEF_BUSINESS_ID";
public static final String STRUC_DEF_DISCUSSION = "STRUC_DEF_DISCUSSION";
public static final String STRUC_DEF_BUSINESS_VERID = "STRUC_DEF_BUSINESS_VERID";
public static final String STRUC_DEF_INVARIANT = "STRUC_DEF_INVARIANT";
public static final String STRUC_DEF_CHOICE_OF = "STRUC_DEF_CHOICE_OF";
public static final String STRUC_DEF_COMP_EX = "STRUC_DEF_COMP_EX";
public static final String STRUC_DEF_EX_TYPE = "STRUC_DEF_EX_TYPE";
public static final String STRUC_DEF_COPY_URL = "STRUC_DEF_COPY_URL";
public static final String STRUC_DEF_FOR_CODE = "STRUC_DEF_FOR_CODE";
public static final String STRUC_DEF_SHOULD_CODE = "STRUC_DEF_SHOULD_CODE";
public static final String STRUC_DEF_EX_CODE = "STRUC_DEF_EX_CODE";
public static final String STRUC_DEF_SUIT_SHALL_CODE = "STRUC_DEF_SUIT_SHALL_CODE";
public static final String STRUC_DEF_SHALL_CODE = "STRUC_DEF_SHALL_CODE";
public static final String STRUC_DEF_ERR_DESC = "STRUC_DEF_ERR_DESC";
public static final String STRUC_DEF_LOINC_CODE = "STRUC_DEF_LOINC_CODE";
public static final String STRUC_DEF_SNOMED_CODE = "STRUC_DEF_SNOMED_CODE";
public static final String STRUC_DEF_UCUM = "STRUC_DEF_UCUM";
public static final String STRUC_DEF_PREFIX_VALID = "STRUC_DEF_PREFIX_VALID";
public static final String STRUC_DEF_PROF_REQ = "STRUC_DEF_PROF_REQ";
public static final String ADD_BIND_ANY_REPS = "ADD_BIND_ANY_REPS";
public static final String ADD_BIND_ALL_REP = "ADD_BIND_ALL_REP";
public static final String ADD_BIND_MAX = "ADD_BIND_MAX";
public static final String ADD_BIND_MIN = "ADD_BIND_MIN";
public static final String ADD_BIND_REQ_BIND = "ADD_BIND_REQ_BIND";
public static final String ADD_BIND_EX_BIND = "ADD_BIND_EX_BIND";
public static final String ADD_BIND_CURR_BIND = "ADD_BIND_CURR_BIND";
public static final String ADD_BIND_PREF_BIND = "ADD_BIND_PREF_BIND";
public static final String ADD_BIND_EXT_PREF = "ADD_BIND_EXT_PREF";
public static final String ADD_BIND_MIN_ALLOW = "ADD_BIND_MIN_ALLOW";
public static final String ADD_BIND_VALID_REQ = "ADD_BIND_VALID_REQ";
public static final String ADD_BIND_VALID_EXT = "ADD_BIND_VALID_EXT";
public static final String ADD_BIND_NEW_REC = "ADD_BIND_NEW_REC";
public static final String ADD_BIND_RECOM_VALUE_SET = "ADD_BIND_RECOM_VALUE_SET";
public static final String ADD_BIND_RECOMMENDED = "ADD_BIND_RECOMMENDED";
public static final String ADD_BIND_REQUIRED = "ADD_BIND_REQUIRED";
public static final String ADD_BIND_GIVEN_CONT = "ADD_BIND_GIVEN_CONT";
public static final String ADD_BIND_UI_BIND = "ADD_BIND_UI_BIND";
public static final String ADD_BIND_UI = "ADD_BIND_UI";
public static final String ADD_BIND_DESIG_SYS = "ADD_BIND_DESIG_SYS";
public static final String ADD_BIND_STARTER = "ADD_BIND_STARTER";
public static final String ADD_BIND_UNKNOWN_PUR = "ADD_BIND_UNKNOWN_PUR";
public static final String ADD_BIND_COMPONENT = "ADD_BIND_COMPONENT";
public static final String ADD_BIND_VALUE_COMP = "ADD_BIND_VALUE_COMP";
public static final String BIND_REND_NO_CONTENT = "BIND_REND_NO_CONTENT";
public static final String BIND_REND_IMAGE_TYPE = "BIND_REND_IMAGE_TYPE";
public static final String BIND_REND_NOT_REND = "BIND_REND_NOT_REND";
public static final String BIND_REND_CONT_TYPE = "BIND_REND_CONT_TYPE";
public static final String BUND_REND_INVALID_DOC = "BUND_REND_INVALID_DOC";
public static final String BUND_REND_RES = "BUND_REND_RES";
public static final String BUND_REND_GEN_NARR = "BUND_REND_GEN_NARR";
public static final String CAPABILITY_CORS_YES = "CAPABILITY_CORS_YES";
public static final String CAPABILITY_CORS_NO = "CAPABILITY_CORS_NO";
public static final String CAPABILITY_INTER_SUPP = "CAPABILITY_INTER_SUPP";
public static final String CAPABILITY_READ_INT = "CAPABILITY_READ_INT";
public static final String CAPABILITY_VREAD_INT = "CAPABILITY_VREAD_INT";
public static final String CAPABILITY_SEARCH_INT = "CAPABILITY_SEARCH_INT";
public static final String CAPABILITY_UPDATE_INT = "CAPABILITY_UPDATE_INT";
public static final String CAPABILITY_PATCH_INT = "CAPABILITY_PATCH_INT";
public static final String CAPABILITY_CREATE_INT = "CAPABILITY_CREATE_INT";
public static final String CAPABILITY_DELETE_INT = "CAPABILITY_DELETE_INT";
public static final String CAPABILITY_HISTORY_INT = "CAPABILITY_HISTORY_INT";
public static final String CAPABILITY_HISTORY_TYPE = "CAPABILITY_HISTORY_TYPE";
public static final String CAPABILITY_SEARCHES = "CAPABILITY_SEARCHES";
public static final String CAPABILITY_REQ_RECOM = "CAPABILITY_REQ_RECOM";
public static final String CAPABILITY_BASE_SYS = "CAPABILITY_BASE_SYS";
public static final String CAPABILITY_PROF_CONF = "CAPABILITY_PROF_CONF";
public static final String CAPABILITY_FHIR = "CAPABILITY_FHIR";
public static final String CAPABILITY_REF_PROF = "CAPABILITY_REF_PROF";
public static final String CAPABILITY_SUPP_PROFS = "CAPABILITY_SUPP_PROFS";
public static final String CAPABILITY_EXT_OP = "CAPABILITY_EXT_OP";
public static final String CAPABILITY_INT_SUMM = "CAPABILITY_INT_SUMM";
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";
protected String getMessagesSourceFileName() {
return "rendering-phrases";
}