use of org.hl7.fhir.definitions.model.ImplementationGuideDefn in project kindling by HL7.
the class PageProcessor method processPageIncludesForBook.
String processPageIncludesForBook(String file, String src, String type, Resource resource, ImplementationGuideDefn ig, WorkGroup wg) throws Exception {
String workingTitle = null;
int level = 0;
boolean even = false;
List<String> tabs = new ArrayList<String>();
while (src.contains("<%") || src.contains("[%")) {
int i1 = src.indexOf("<%");
int i2 = i1 == -1 ? -1 : src.substring(i1).indexOf("%>") + i1;
if (i1 == -1) {
i1 = src.indexOf("[%");
i2 = i1 == -1 ? -1 : src.substring(i1).indexOf("%]") + i1;
}
String s1 = src.substring(0, i1);
String s2 = src.substring(i1 + 2, i2).trim();
String s3 = src.substring(i2 + 2);
String name = file.substring(0, file.indexOf("."));
String[] com = s2.split(" ");
if (s2.startsWith("!")) {
src = s1 + s3;
} else if (com.length == 3 && com[0].equals("edt")) {
if (tabs != null)
tabs.add("tabs-" + com[1]);
src = s1 + orgDT(com[1], xmlForDt(com[1], com[2]), treeForDt(com[1]), umlForDt(com[1], com[2]), umlForDt(com[1], com[2] + "b"), profileRef(com[1]), tsForDt(com[1]), jsonForDt(com[1], com[2]), ttlForDt(com[1], com[2]), diffForDt(com[1], com[2])) + s3;
} else if (com.length == 3 && com[0].equals("dt")) {
if (tabs != null)
tabs.add("tabs-" + com[1]);
src = s1 + xmlForDt(com[1], null) + tsForDt(com[1]) + s3;
} else if (com.length == 3 && com[0].equals("adt")) {
if (tabs != null)
tabs.add("tabs-" + com[1]);
src = s1 + xmlForDt(com[1], null) + tsForDt(com[1]) + s3;
} else if (com.length == 2 && com[0].equals("dt.constraints"))
src = s1 + genConstraints(com[1], genlevel(level)) + s3;
else if (com.length == 2 && com[0].equals("dt.restrictions"))
src = s1 + genRestrictions(com[1]) + s3;
else if (com.length == 2 && com[0].equals("dictionary"))
src = s1 + dictForDt(com[1]) + s3;
else if (Utilities.existsInList(com[0], "pageheader", "dtheader", "atheader", "mdtheader", "edheader", "mmheader", "drheader", "elheader", "belheader", "extheader", "resourcesheader", "formatsheader", "narrheader", "refheader", "extrasheader", "profilesheader", "txheader", "txheader0", "fmtheader", "igheader", "cmpheader", "atomheader", "dictheader", "ctheader", "adheader", "pdheader", "tdheader", "cdheader", "diheader", "statheader", "ordistheader", "ucheader", "rrheader"))
src = s1 + s3;
else if (com[0].equals("resheader"))
src = s1 + s3;
else if (com[0].equals("aresheader"))
src = s1 + s3;
else if (com[0].equals("othertabs"))
src = s1 + genOtherTabs(com[1], tabs) + s3;
else if (com[0].equals("diff")) {
String p = com[1];
String pd = p.contains("#") ? p.substring(0, p.indexOf("#")) : p;
String t = s2.substring(com[0].length() + com[1].length() + 2);
src = s1 + "<a href=\"" + p + "\">" + t + "</a> <a href=\"http://services.w3.org/htmldiff?doc1=http%3A%2F%2Fhl7.org%2Ffhir%2F2018May%2F" + pd + "&doc2=http%3A%2F%2Fbuild.fhir.org%2F" + pd + "\" no-external=\"true\" style=\"border: 1px solid lightgrey; white-space: nowrap; background-color: #EDFDFE; padding: 2px 2px 2px 2px\">ΔB</a>" + s3;
} else if (com[0].equals("diffx")) {
String p1 = com[1];
String pd = p1.contains("#") ? p1.substring(0, p1.indexOf("#")) : p1;
String p2 = com[2];
String t = s2.substring(com[0].length() + com[1].length() + 2);
src = s1 + "<a href=\"" + p1 + "\">" + t + "</a> <a href=\"http://services.w3.org/htmldiff?doc1=http%3A%2F%2Fhl7.org%2Ffhir%2F2018May%2F" + p2 + "&doc2=http%3A%2F%2Fbuild.fhir.org%2F" + pd + "\" no-external=\"true\" style=\"border: 1px solid lightgrey; white-space: nowrap; background-color: #EDFDFE; padding: 2px 2px 2px 2px\">ΔB</a>" + s3;
} else if (com[0].equals("dtmappings"))
src = s1 + genDataTypeMappings(com[1]) + s3;
else if (com[0].equals("sct-vs-list"))
src = s1 + getSnomedCTVsList() + s3;
else if (com[0].equals("sct-concept-list"))
src = s1 + getSnomedCTConceptList() + s3;
else if (com[0].equals("circular-references"))
src = s1 + buildCircularReferenceList(com[1].equals("null") ? null : Boolean.valueOf(com[1])) + s3;
else if (com[0].equals("dtusage"))
src = s1 + genDataTypeUsage(com[1]) + s3;
else if (com[0].equals("w5"))
src = s1 + genW5("true".equals(com[1])) + s3;
else if (com[0].equals("codelist"))
src = s1 + codelist((CodeSystem) resource, com.length > 1 ? com[1] : null, false, true, file) + s3;
else if (com[0].equals("codelist-nh"))
src = s1 + codelist((CodeSystem) resource, com.length > 1 ? com[1] : null, false, false, file) + s3;
else if (com[0].equals("linkcodelist"))
src = s1 + codelist((CodeSystem) resource, com.length > 1 ? com[1] : null, true, false, file) + s3;
else if (com[0].equals("codetoc"))
src = s1 + codetoc(com.length > 1 ? com[1] : null) + s3;
else if (com[0].equals("vs-warning"))
src = s1 + vsWarning((ValueSet) resource) + s3;
else if (com[0].equals("res-status-special"))
src = s1 + vsSpecialStatus((DomainResource) resource) + s3;
else if (com[0].equals("maponthispage"))
src = s1 + s3;
else if (com[0].equals("onthispage"))
src = s1 + s3;
else if (com[0].equals("conceptmaplistvs")) {
ValueSet vs = (ValueSet) resource;
String ref;
if (vs == null) {
ref = "http://hl7.org/fhir/ValueSet/" + Utilities.fileTitle(file);
} else {
ref = vs.getUrl();
}
src = s1 + conceptmaplist(ref, com[1]) + s3;
} else if (com[0].equals("res-category")) {
src = s1 + resCategory(s2.substring(com[0].length() + 1)) + s3;
even = false;
} else if (com[0].equals("res-item")) {
even = !even;
src = s1 + resItem(com[1], even) + s3;
} else if (com[0].equals("resdesc")) {
src = s1 + resDesc(com[1]) + s3;
} else if (com[0].equals("rescat")) {
src = s1 + resCat(com.length == 1 ? null : s2.substring(7)) + s3;
} else if (com[0].equals("sidebar"))
src = s1 + s3;
else if (com[0].equals("svg"))
src = s1 + svgs.get(com[1]) + s3;
else if (com[0].equals("diagram"))
src = s1 + new SvgGenerator(this, genlevel(level), null, false, file.contains("datatypes"), version).generate(folders.srcDir + com[1], com[2]) + s3;
else if (com[0].equals("file"))
src = s1 + /*TextFile.fileToString(folders.srcDir + com[1]+".html")+*/
s3;
else if (com[0].equals("settitle")) {
workingTitle = s2.substring(9).replace("{", "<%").replace("}", "%>");
src = s1 + s3;
} else if (com[0].equals("res-ref-list")) {
src = s1 + genResRefList(com[1]) + s3;
} else if (com[0].equals("sclist")) {
src = s1 + genScList(com[1]) + s3;
} else if (com[0].equals("xcm")) {
src = s1 + getXcm(com[1]) + s3;
} else if (com[0].equals("xcmchk")) {
src = s1 + getXcmChk(com[1]) + s3;
} else if (com[0].equals("fmm")) {
src = s1 + getFmm(com[1], false) + s3;
} else if (com[0].equals("fmmshort")) {
src = s1 + getFmmShort(com[1]) + s3;
} else if (com[0].equals("sstatus")) {
src = s1 + getStandardsStatus(com[1]) + s3;
} else if (com[0].equals("wg")) {
src = s1 + getWgLink(file, wg == null && com.length > 0 ? wg(com[1]) : wg) + s3;
} else if (com[0].equals("wgt")) {
src = s1 + getWgTitle(wg == null && com.length > 0 ? wg(com[1]) : wg) + s3;
} else if (com[0].equals("search-link")) {
src = s1 + searchLink(s2) + s3;
} else if (com[0].equals("search-footer")) {
src = s1 + searchFooter(level) + s3;
} else if (com[0].equals("search-header")) {
src = s1 + searchHeader(level) + s3;
} else if (com[0].equals("toc")) {
src = s1 + generateToc() + s3;
} else if (com[0].equals("igregistries")) {
src = s1 + igRegistryList(com[1], com[2]) + s3;
} else if (com[0].equals("ig.registry")) {
src = s1 + buildIgRegistry(ig, com[1]) + s3;
} else if (com[0].equals("dtextras")) {
src = s1 + produceDataTypeExtras(com[1], true) + s3;
} else if (com[0].equals("dtextensions")) {
src = s1 + produceDataTypeExtras(com[1], false) + s3;
} else if (com[0].equals("resource-table")) {
src = s1 + genResourceTable(definitions.getResourceByName(com[1]), genlevel(level)) + s3;
} else if (com[0].equals("profile-diff")) {
ConstraintStructure p = definitions.findProfile(com[1]);
src = s1 + generateProfileStructureTable(p, true, com[1] + ".html", com[1], genlevel(level)) + s3;
} else if (com[0].equals("example")) {
String[] parts = com[1].split("\\/");
Example e = findExample(parts[0], parts[1]);
src = s1 + genExample(e, com.length > 2 ? Integer.parseInt(com[2]) : 0, genlevel(level)) + s3;
} else if (com[0].equals("extension-diff")) {
StructureDefinition ed = workerContext.fetchResource(StructureDefinition.class, com[1]);
src = s1 + generateExtensionTable(ed, "extension-" + com[1], "false", genlevel(level)) + s3;
} else if (com[0].equals("setlevel")) {
level = Integer.parseInt(com[1]);
src = s1 + s3;
} else if (com[0].equals("r3r4transform")) {
src = s1 + dtR3R4Transform(com[1]) + s3;
} else if (com[0].equals("normative-pages")) {
src = s1 + getNormativeList(genlevel(level), com[1]) + s3;
} else if (com[0].equals("tx")) {
src = s1 + produceDataTypeTx(com[1]) + s3;
} else if (com[0].equals("normative")) {
src = s1 + s3;
} else if (com[0].equals("mostlynormative")) {
src = s1 + s3;
} else if (com[0].equals("mixednormative")) {
src = s1 + s3;
} else if (com[0].equals("pattern-impls")) {
src = s1 + buildPatternList(com[1]) + s3;
} else if (com[0].equals("StandardsStatus")) {
src = s1 + getStandardsStatusNote(genlevel(level), com[1], com[2], com.length == 4 ? com[3] : null) + s3;
} else if (com[0].equals("diff-analysis")) {
if ("*".equals(com[1])) {
updateDiffEngineDefinitions();
src = s1 + diffEngine.getDiffAsHtml(this) + s3;
} else {
StructureDefinition sd = workerContext.fetchTypeDefinition(com[1]);
if (sd == null)
throw new Exception("diff-analysis not found: " + com[1]);
src = s1 + diffEngine.getDiffAsHtml(this, sd) + s3;
}
} else if (com.length != 1)
throw new Exception("Instruction <%" + s2 + "%> not understood parsing page " + file);
else if (com[0].equals("header"))
src = s1 + s3;
else if (com[0].equals("newheader"))
src = s1 + s3;
else if (com[0].equals("newheader1"))
src = s1 + s3;
else if (com[0].equals("footer"))
src = s1 + s3;
else if (com[0].equals("newfooter"))
src = s1 + s3;
else if (com[0].equals("footer1"))
src = s1 + s3;
else if (com[0].equals("footer2"))
src = s1 + s3;
else if (com[0].equals("footer3"))
src = s1 + s3;
else if (com[0].equals("title"))
src = s1 + (workingTitle == null ? Utilities.escapeXml(name.toUpperCase().substring(0, 1) + name.substring(1)) : workingTitle) + s3;
else if (com[0].equals("xtitle"))
src = s1 + Utilities.escapeXml(name.toUpperCase().substring(0, 1) + name.substring(1)) + s3;
else if (com[0].equals("name"))
src = s1 + name + s3;
else if (com[0].equals("version"))
src = s1 + ini.getStringProperty("FHIR", "version") + s3;
else if (com[0].equals("gendate"))
src = s1 + Config.DATE_FORMAT().format(new Date()) + s3;
else if (com[0].equals("maindiv"))
src = s1 + s3;
else if (com[0].equals("/maindiv"))
src = s1 + s3;
else if (com[0].equals("events"))
src = s1 + getEventsTable(file) + s3;
else if (com[0].equals("resourcecodes"))
src = s1 + genResCodes() + s3;
else if (com[0].equals("enteredInErrorTable"))
src = s1 + enteredInErrorTable() + s3;
else if (com[0].equals("datatypecodes"))
src = s1 + genDTCodes() + s3;
else // src = s1 + genBindingTable(true) + s3;
if (com[0].equals("codeslist"))
src = s1 + genCodeSystemsTable() + s3;
else if (com[0].equals("valuesetslist"))
src = s1 + genValueSetsTable(ig) + s3;
else if (com[0].equals("igvaluesetslist"))
src = s1 + genIGValueSetsTable() + s3;
else if (com[0].equals("namespacelist"))
src = s1 + s3;
else if (com[0].equals("conceptmapslist"))
src = s1 + genConceptMapsTable() + s3;
else // src = s1 + genBindingTable(false) + s3;
if (com[0].equals("vsxref"))
src = s1 + xreferencesForFhir(name) + s3;
else if (com[0].equals("resimplall"))
src = s1 + genResImplList() + s3;
else if (com[0].equals("txurl"))
src = s1 + "http://hl7.org/fhir/" + Utilities.fileTitle(file) + s3;
else if (com[0].equals("vstxurl"))
src = s1 + "http://hl7.org/fhir/ValueSet/" + Utilities.fileTitle(file) + s3;
else if (com[0].equals("csurl")) {
if (resource instanceof CodeSystem)
src = s1 + ((CodeSystem) resource).getUrl() + s3;
else
src = s1 + ((ValueSet) resource).getUrl() + s3;
} else if (com[0].equals("vsurl")) {
if (resource == null)
src = s1 + s3;
else if (resource instanceof CodeSystem)
src = s1 + ((CodeSystem) resource).getUrl() + s3;
else
src = s1 + ((ValueSet) resource).getUrl() + s3;
} else if (com[0].equals("txdef"))
src = s1 + generateCodeDefinition(Utilities.fileTitle(file)) + s3;
else if (com[0].equals("vsexpansion"))
src = s1 + expandValueSet(Utilities.fileTitle(file), resource == null ? null : (ValueSet) resource, genlevel(level)) + s3;
else if (com[0].equals("vsexpansionig"))
src = s1 + expandValueSetIG((ValueSet) resource, true) + s3;
else if (com[0].equals("vsdef"))
if (resource instanceof CodeSystem)
src = s1 + Utilities.escapeXml(((CodeSystem) resource).getDescription()) + s3;
else
src = s1 + Utilities.escapeXml(((ValueSet) resource).getDescription()) + s3;
else if (com[0].equals("txoid"))
src = s1 + generateOID((CodeSystem) resource) + s3;
else if (com[0].equals("vsoid"))
src = s1 + generateOID((ValueSet) resource) + s3;
else if (com[0].equals("txname"))
src = s1 + Utilities.fileTitle(file) + s3;
else if (com[0].equals("vsname"))
if (resource instanceof CodeSystem)
src = s1 + ((CodeSystem) resource).present() + s3;
else
src = s1 + ((ValueSet) resource).present() + s3;
else if (com[0].equals("vsnamed"))
if (resource instanceof CodeSystem)
src = s1 + ((CodeSystem) resource).getName() + s3;
else
src = s1 + ((ValueSet) resource).getName() + s3;
else if (com[0].equals("vstitle"))
if (resource instanceof CodeSystem)
src = s1 + checkTitle(((CodeSystem) resource).getTitle()) + s3;
else
src = s1 + checkTitle(((ValueSet) resource).getTitle()) + s3;
else if (com[0].equals("vsver"))
if (resource instanceof CodeSystem)
src = s1 + ((CodeSystem) resource).getVersion() + s3;
else
src = s1 + ((ValueSet) resource).getVersion() + s3;
else if (com[0].equals("vsref")) {
src = s1 + Utilities.fileTitle((String) resource.getUserData("filename")) + s3;
} else if (com[0].equals("vsdesc"))
src = s1 + (resource != null ? Utilities.escapeXml(((ValueSet) resource).getDescription()) : generateVSDesc(Utilities.fileTitle(file))) + s3;
else if (com[0].equals("txusage"))
src = s1 + generateValueSetUsage((ValueSet) resource, genlevel(level), true) + s3;
else if (com[0].equals("vsusage"))
src = s1 + generateValueSetUsage((ValueSet) resource, genlevel(level), true) + s3;
else if (com[0].equals("csusage"))
src = s1 + generateCSUsage((CodeSystem) resource, genlevel(level)) + s3;
else if (com[0].equals("mappings-table"))
src = s1 + genMappingsTable() + s3;
else if (com[0].equals("vssummary"))
src = s1 + "todo" + s3;
else if (com[0].equals("compartmentlist"))
src = s1 + compartmentlist() + s3;
else if (com[0].equals("comp-title"))
src = s1 + compTitle(name) + s3;
else if (com[0].equals("comp-desc"))
src = s1 + compDesc(name) + s3;
else if (com[0].equals("comp-uri"))
src = s1 + compUri(name) + s3;
else if (com[0].equals("comp-identity"))
src = s1 + compIdentity(name) + s3;
else if (com[0].equals("comp-membership"))
src = s1 + compMembership(name) + s3;
else if (com[0].equals("comp-resources"))
src = s1 + compResourceMap(name) + s3;
else if (com[0].equals("breadcrumb"))
src = s1 + breadCrumbManager.make(name) + s3;
else if (com[0].equals("navlist"))
src = s1 + breadCrumbManager.navlist(name, genlevel(level)) + s3;
else if (com[0].equals("breadcrumblist")) {
String crumbTitle = (workingTitle == null ? Utilities.escapeXml(name.toUpperCase().substring(0, 1) + name.substring(1)) : workingTitle);
src = s1 + ((ig == null || ig.isCore()) ? breadCrumbManager.makelist(name, type, genlevel(level), crumbTitle) : ig.makeList(name, type, genlevel(level), crumbTitle)) + s3;
} else if (com[0].equals("year"))
src = s1 + new SimpleDateFormat("yyyy").format(new Date()) + s3;
else if (com[0].equals("buildId"))
src = s1 + buildId + s3;
else if (com[0].equals("level"))
src = s1 + genlevel(level) + s3;
else if (com[0].equals("piperesources"))
src = s1 + pipeResources() + s3;
else if (com[0].equals("archive"))
src = s1 + makeArchives() + s3;
else if (com[0].equals("pub-type"))
src = s1 + publicationType + s3;
else if (com[0].equals("pub-notice"))
src = s1 + publicationNotice + s3;
else if (com[0].equals("profilelist"))
src = s1 + genProfilelist() + s3;
else if (com[0].equals("extensionslist"))
src = s1 + genExtensionsTable() + s3;
else if (com[0].equals("igprofileslist"))
src = s1 + genIGProfilelist() + s3;
else if (com[0].equals("operationslist"))
src = s1 + genOperationList() + s3;
else if (com[0].equals("id_regex"))
src = s1 + FormatUtilities.ID_REGEX + s3;
else if (com[0].equals("allparams"))
src = s1 + allParamlist() + s3;
else if (com[0].equals("resourcecount"))
src = s1 + Integer.toString(definitions.getResources().size()) + s3;
else if (com[0].equals("status-codes"))
src = s1 + genStatusCodes() + s3;
else if (com[0].equals("dictionary.name"))
src = s1 + definitions.getDictionaries().get(name) + s3;
else // src = s1 + ResourceUtilities.representDataElementCollection(this.workerContext, (Bundle) resource, true, "hspc-QuantitativeLab-dataelements") + s3;
if (com[0].startsWith("!"))
src = s1 + s3;
else if (com[0].equals("identifierlist"))
src = s1 + genIdentifierList() + s3;
else if (com[0].equals("allsearchparams"))
src = s1 + genAllSearchParams() + s3;
else if (com[0].equals("internalsystemlist"))
src = s1 + genCSList() + s3;
else if (com[0].equals("internalsystemlistx"))
src = s1 + genCSListX() + s3;
else if (com[0].equals("baseURLn"))
src = s1 + Utilities.appendForwardSlash(baseURL) + s3;
else if (com[0].equals("ig.title"))
src = s1 + ig.getName() + s3;
else if (com[0].equals("ig.wglink"))
src = s1 + igLink(ig) + s3;
else if (com[0].equals("ig.wgt"))
src = s1 + ig.getCommittee() + s3;
else if (com[0].equals("ig.fmm"))
src = s1 + ig.getFmm() + s3;
else if (com[0].equals("comp-name"))
src = s1 + compName(name) + s3;
else if (com[0].equals("ig.ballot"))
src = s1 + ig.getBallot() + s3;
else if (com[0].equals("fhir-path"))
src = s1 + "../" + s3;
else if (com[0].equals("modifier-list"))
src = s1 + genModifierList() + s3;
else if (com[0].equals("missing-element-list"))
src = s1 + genMeaningWhenMissingList() + s3;
else if (com[0].equals("wgreport"))
src = s1 + genWGReport() + s3;
else if (com[0].equals("r3maps-summary"))
src = s1 + genR3MapsSummary() + s3;
else if (com[0].equals("res-list-maturity"))
src = s1 + buildResListByMaturity() + s3;
else if (com[0].equals("res-list-security"))
src = s1 + buildResListBySecurity() + s3;
else if (com[0].equals("res-list-fmg"))
src = s1 + buildResListByFMG() + s3;
else if (com[0].equals("res-list-ballot"))
src = s1 + buildResListByBallot() + s3;
else if (com[0].equals("res-list-committee"))
src = s1 + buildResListByCommittee() + s3;
else if (com[0].equals("wglist"))
src = s1 + buildCommitteeList() + s3;
else if (com[0].equals("best-practice-list"))
src = s1 + genBestPracticeList() + s3;
else if (com[0].equals("extension-type-list"))
src = s1 + genExtensionTypeList() + s3;
else if (com[0].equals("wildcard-type-list"))
src = s1 + genWildcardTypeList() + s3;
else if (com[0].startsWith("GF#"))
src = s1 + "<a href=\"https://gforge.hl7.org/gf/project/fhir/tracker/?action=TrackerItemEdit&tracker_item_id=" + com[0].substring(3) + "\">" + com[0] + "</a>" + s3;
else if (com[0].startsWith("GFT#"))
src = s1 + "<a href=\"https://gforge.hl7.org/gf/project/fhir/tracker/?action=TrackerItemEdit&tracker_item_id=" + com[0].substring(3) + "\">Task</a>" + s3;
else if (com[0].equals("canonical-resources"))
src = s1 + listCanonicalResources() + s3;
else if (com[0].equals("special-search-parameters")) {
src = s1 + listSpecialParameters() + s3;
} else if (com[0].equals("patterns-analysis")) {
src = s1 + patternFinder.generateReport() + s3;
} else if (com[0].equals("res-type-count")) {
src = s1 + definitions.getResources().size() + s3;
} else if (macros.containsKey(com[0])) {
src = s1 + macros.get(com[0]) + s3;
} else
throw new Exception("Instruction <%" + s2 + "%> not understood parsing page " + file);
}
return src;
}
use of org.hl7.fhir.definitions.model.ImplementationGuideDefn in project kindling by HL7.
the class PageProcessor method genNSList.
private String genNSList() throws Exception {
StringBuilder b = new StringBuilder();
b.append("<p>Redirects on this page:</p>\r\n");
b.append("<ul>\r\n");
b.append(" <li>Resources</li>\r\n");
b.append(" <li>Data Types</li>\r\n");
b.append(" <li>Code Systems</li>\r\n");
b.append(" <li>Value Sets</li>\r\n");
b.append(" <li>Extensions</li>\r\n");
b.append(" <li>Profiles</li>\r\n");
b.append(" <li>Naming Systems</li>\r\n");
b.append(" <li>Examples</li>\r\n");
b.append(" <li>Compartments</li>\r\n");
b.append(" <li>Data Elements</li>\r\n");
b.append(" <li>Search Parameters</li>\r\n");
b.append(" <li>Implementation Guides</li>\r\n");
b.append(" <li>SIDs</li>\r\n");
b.append(" <li>Others From publish.ini</li>\r\n");
b.append("</ul>\r\n");
b.append("<table class=\"grid\">\r\n");
b.append(" <tr><td><b>URL</b></td><td><b>Thing</b></td><td><b>Page</b></td></tr>");
for (String n : definitions.sortedResourceNames()) definitions.addNs("http://hl7.org/fhir/" + n, n + " Resource", n.toLowerCase() + ".html");
for (String n : definitions.getTypes().keySet()) definitions.addNs("http://hl7.org/fhir/" + n, "Data Type " + n, definitions.getSrcFile(n) + ".html#" + n);
for (String n : definitions.getPrimitives().keySet()) definitions.addNs("http://hl7.org/fhir/" + n, "Primitive Data Type " + n, definitions.getSrcFile(n) + ".html#" + n);
for (String n : definitions.getConstraints().keySet()) definitions.addNs("http://hl7.org/fhir/" + n, "Data Type Profile " + n, definitions.getSrcFile(n) + ".html#" + n);
for (String n : definitions.getInfrastructure().keySet()) definitions.addNs("http://hl7.org/fhir/" + n, "Data Type " + n, definitions.getSrcFile(n) + ".html#" + n);
for (CodeSystem cs : getCodeSystems().getList()) if (cs != null && cs.getUrl().startsWith("http://hl7.org/fhir"))
definitions.addNs(cs.getUrl(), "CodeSystem " + cs.getName(), cs.getUserString("path"));
for (ValueSet vs : getValueSets().getList()) if (vs.getUrl().startsWith("http://hl7.org/fhir"))
definitions.addNs(vs.getUrl(), "ValueSet " + vs.present(), vs.getUserString("path"));
for (ConceptMap cm : getConceptMaps().getList()) if (cm.getUrl().startsWith("http://hl7.org/fhir"))
definitions.addNs(cm.getUrl(), "Concept Map" + cm.getName(), cm.getUserString("path"));
for (StructureDefinition sd : profiles.getList()) if (sd.getUrl().startsWith("http://hl7.org/fhir") && !definitions.getResourceTemplates().containsKey(sd.getName()))
definitions.addNs(sd.getUrl(), "Profile " + sd.getName(), sd.getUserString("path"));
for (StructureDefinition sd : workerContext.getExtensionDefinitions()) if (sd.getUrl().startsWith("http://hl7.org/fhir"))
definitions.addNs(sd.getUrl(), "Profile " + sd.getName(), sd.getUserString("path"));
for (NamingSystem nss : definitions.getNamingSystems()) {
String url = null;
definitions.addNs("http://hl7.org/fhir/NamingSystem/" + nss.getId(), "System " + nss.getName(), nss.getUserString("path"));
for (NamingSystemUniqueIdComponent t : nss.getUniqueId()) {
if (t.getType() == NamingSystemIdentifierType.URI)
url = t.getValue();
}
if (url != null && url.startsWith("http://hl7.org/fhir"))
definitions.addNs(url, "System " + nss.getName(), nss.getUserString("path"));
}
for (String n : ini.getPropertyNames("redirects")) {
String[] parts = ini.getStringProperty("redirects", n).split("\\;");
definitions.addNs(n, "System " + parts[0], parts[1]);
}
for (ImplementationGuideDefn ig : definitions.getIgs().values()) {
if (!ig.isCore()) {
definitions.addNs("http://hl7.org/fhir/ImplementationGuide/" + ig.getCode(), ig.getName(), ig.getHomePage());
definitions.addNs("http://hl7.org/fhir/" + ig.getCode(), ig.getName(), ig.getHomePage());
}
}
for (Compartment t : definitions.getCompartments()) {
definitions.addNs(t.getUri(), t.getName(), "compartmentdefinition.html#" + t.getName());
}
List<String> list = new ArrayList<String>();
list.addAll(definitions.getRedirectList().keySet());
Collections.sort(list);
for (String url : list) {
NamespacePair p = definitions.getRedirectList().get(url);
b.append(" <tr><td>" + Utilities.escapeXml(url) + "</td><td>" + hsplt(Utilities.escapeXml(p.desc)) + "</td><td><a href=\"" + p.page + "\">" + hsplt(Utilities.escapeXml(p.page)) + "</a></td></tr>\r\n");
}
b.append("</table>\r\n");
b.append("<p>" + Integer.toString(list.size()) + " Entries</p>\r\n");
return b.toString();
}
use of org.hl7.fhir.definitions.model.ImplementationGuideDefn in project kindling by HL7.
the class PageProcessor method vsCLD.
private String vsCLD(String fileTitle, ValueSet vs, String prefix) throws Exception {
if (vs == null)
throw new Exception("no vs?");
ValueSet vs1 = vs.copy();
vs1.setExpansion(null);
vs1.setText(null);
ImplementationGuideDefn ig = (ImplementationGuideDefn) vs.getUserData(ToolResourceUtilities.NAME_RES_IG);
RenderingContext lrc = rc.copy().setLocalPrefix(prefix).setTooCostlyNoteNotEmpty(TOO_MANY_CODES_TEXT_NOT_EMPTY);
RendererFactory.factory(vs1, lrc).render(vs1);
return "<hr/>\r\n" + VS_INC_START + "" + new XhtmlComposer(XhtmlComposer.HTML).compose(vs1.getText().getDiv()) + VS_INC_END;
}
use of org.hl7.fhir.definitions.model.ImplementationGuideDefn in project kindling by HL7.
the class PageProcessor method generateVSforNS.
private void generateVSforNS(StringBuilder s, String ns, CanonicalResourceManager<ValueSet> vslist, boolean hasId, ImplementationGuideDefn ig) throws FHIRException {
List<String> sorts = new ArrayList<String>();
for (ValueSet vs : vslist.getList()) {
ImplementationGuideDefn vig = (ImplementationGuideDefn) vs.getUserData(ToolResourceUtilities.NAME_RES_IG);
if (ig == vig) {
String n = getNamespace(vs.getUrl());
if (ns.equals(n) && !vs.getUrl().startsWith("http://terminology.hl7.org/ValueSet/v2-") && !vs.getUrl().startsWith("http://terminology.hl7.org/ValueSet/v3-"))
sorts.add(vs.getUrl());
}
}
if (!sorts.isEmpty()) {
s.append(" <tr><td colspan=\"5\" style=\"background: #DFDFDF\"><b>Namespace: </b>" + ns + "</td></tr>\r\n");
Collections.sort(sorts);
for (String sn : sorts) {
ValueSet ae = vslist.get(sn);
String n = getTail(sn);
ValueSet vs = ae;
if (wantPublish(vs)) {
String path = ae.hasUserData("external.url") ? ae.getUserString("external.url") : pathTail(Utilities.changeFileExt(ae.getUserString("path"), ".html"));
s.append(" <tr><td><a href=\"" + path + "\">" + n + "</a>");
if (StandardsStatus.NORMATIVE == ToolingExtensions.getStandardsStatus(vs))
s.append(" <a href=\"versions.html#std-process\" title=\"Normative Content\" class=\"normative-flag\">N</a>");
s.append("</td><td>" + Utilities.escapeXml(vs.getDescription()) + "</td><td>" + sourceSummary(vs) + "</td>");
if (hasId)
s.append("<td>" + Utilities.oidTail(ValueSetUtilities.getOID(ae)) + "</td>");
s.append("</tr>\r\n");
}
}
}
}
use of org.hl7.fhir.definitions.model.ImplementationGuideDefn in project kindling by HL7.
the class SourceParser method loadIgs.
private void loadIgs() throws Exception {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
DocumentBuilder builder = factory.newDocumentBuilder();
Document xdoc = builder.parse(new CSFileInputStream(srcDir + "igs.xml"));
Element root = xdoc.getDocumentElement();
if (root.getNodeName().equals("igs")) {
Element ig = XMLUtil.getFirstChild(root);
while (ig != null) {
if (ig.getNodeName().equals("ig") && (!ig.hasAttribute("local") || isOkLocally(ig.getAttribute("code"))) && !isRuledOutLocally(ig.getAttribute("code"))) {
ImplementationGuideDefn igg = new ImplementationGuideDefn(ig.getAttribute("committee"), ig.getAttribute("code"), ig.getAttribute("name"), ig.getAttribute("brief"), ig.getAttribute("source").replace('\\', File.separatorChar), "1".equals(ig.getAttribute("review")), ig.getAttribute("ballot"), ig.getAttribute("fmm"), ig.getAttribute("section"), "yes".equals(ig.getAttribute("core")), page.getValidationErrors());
definitions.getIgs().put(igg.getCode(), igg);
definitions.getSortedIgs().add(igg);
}
ig = XMLUtil.getNextSibling(ig);
}
}
}
Aggregations