Search in sources :

Example 11 with Element

use of org.hl7.fhir.r5.elementmodel.Element in project kindling by HL7.

the class PageProcessor method edHeader.

private String edHeader(String mode) {
    StringBuilder b = new StringBuilder();
    b.append("<ul class=\"nav nav-tabs\">");
    b.append(makeHeaderTab("Element Definition", "elementdefinition.html", mode == null || "base".equals(mode)));
    b.append(makeHeaderTab("Examples", "elementdefinition-examples.html", mode == null || "examples".equals(mode)));
    b.append(makeHeaderTab("Detailed Descriptions", "elementdefinition-definitions.html", mode == null || "definitions".equals(mode)));
    b.append(makeHeaderTab("Mappings", "elementdefinition-mappings.html", mode == null || "mappings".equals(mode)));
    b.append(makeHeaderTab("Extensions", "elementdefinition-extras.html", mode == null || "extensions".equals(mode)));
    b.append("</ul>\r\n");
    return b.toString();
}
Also used : CommaSeparatedStringBuilder(org.hl7.fhir.utilities.CommaSeparatedStringBuilder)

Example 12 with Element

use of org.hl7.fhir.r5.elementmodel.Element in project kindling by HL7.

the class PageProcessor method getElementParent.

private ElementDefinition getElementParent(List<ElementDefinition> list, ElementDefinition element) {
    String targetPath = element.getPath().substring(0, element.getPath().lastIndexOf("."));
    int index = list.indexOf(element) - 1;
    while (index >= 0) {
        if (list.get(index).getPath().equals(targetPath))
            return list.get(index);
        index--;
    }
    return null;
}
Also used : ContactPoint(org.hl7.fhir.r5.model.ContactPoint)

Example 13 with Element

use of org.hl7.fhir.r5.elementmodel.Element 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 + "&amp;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\">&Delta;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 + "&amp;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\">&Delta;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&amp;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&amp;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;
}
Also used : ArrayList(java.util.ArrayList) CodeSystem(org.hl7.fhir.r5.model.CodeSystem) ContactPoint(org.hl7.fhir.r5.model.ContactPoint) UcumException(org.fhir.ucum.UcumException) TransformerException(javax.xml.transform.TransformerException) TransformerConfigurationException(javax.xml.transform.TransformerConfigurationException) IOException(java.io.IOException) FHIRException(org.hl7.fhir.exceptions.FHIRException) URISyntaxException(java.net.URISyntaxException) PathEngineException(org.hl7.fhir.exceptions.PathEngineException) DefinitionException(org.hl7.fhir.exceptions.DefinitionException) FileNotFoundException(java.io.FileNotFoundException) NotImplementedException(org.apache.commons.lang3.NotImplementedException) Date(java.util.Date) StructureDefinition(org.hl7.fhir.r5.model.StructureDefinition) SvgGenerator(org.hl7.fhir.definitions.generators.specification.SvgGenerator) Example(org.hl7.fhir.definitions.model.Example) OperationExample(org.hl7.fhir.definitions.model.Operation.OperationExample) ConstraintStructure(org.hl7.fhir.definitions.model.ConstraintStructure) ValueSet(org.hl7.fhir.r5.model.ValueSet) SimpleDateFormat(java.text.SimpleDateFormat)

Example 14 with Element

use of org.hl7.fhir.r5.elementmodel.Element in project kindling by HL7.

the class DefinitionsUsageTracker method usage.

private void usage(org.hl7.fhir.r5.elementmodel.Element instance, ElementDefn definition, String path) throws Exception {
    definition.setCoveredByExample(true);
    for (Element c : instance.getChildren()) {
        String p = c.getProperty().getDefinition().getPath();
        ElementDefn ed = definitions.getElementByPath(p.split("\\."), "example usage", true);
        if (ed != null)
            usage(c, ed, path + "." + c.getName());
    // else if (!c.getName().equals("extension"))
    // System.out.println("error finding "+c.getName()+" at "+path);
    }
}
Also used : Element(org.hl7.fhir.r5.elementmodel.Element) ElementDefn(org.hl7.fhir.definitions.model.ElementDefn)

Example 15 with Element

use of org.hl7.fhir.r5.elementmodel.Element in project kindling by HL7.

the class ExampleAdorner method getLink.

@Override
public String getLink(XhtmlGenerator ref, XhtmlGeneratorAdornerState state, Element node) throws Exception {
    if (state == null) {
        if (node == null || !definitions.hasResource(node.getLocalName()))
            return null;
        else {
            definitions.getResourceByName(node.getLocalName()).getRoot().setCoveredByExample(true);
            return prefix + node.getLocalName().toLowerCase() + "-definitions.html";
        }
    } else {
        ExampleAdornerState s = (ExampleAdornerState) state;
        if (s.definition == null)
            if (node.getNamespaceURI().equals("http://www.w3.org/1999/xhtml"))
                return prefix + "narrative.html";
            else
                return null;
        ElementDefn t = s.definition;
        if (t.typeCode().equals("Resource") && (s.getPath().endsWith(".entry.resource") || s.getPath().endsWith(".contained")) && definitions.isResource(node.getNodeName()))
            return null;
        ElementDefn child = t.getElementByName(node.getNodeName(), true, definitions, "adorn example", false);
        String p = child == null ? null : s.getPath() + "." + child.getName();
        while (child == null && t != null && definitions.hasElementDefn(t.typeCodeNoParams())) {
            t = definitions.getElementDefn(t.typeCodeNoParams());
            child = t.getElementByName(node.getNodeName(), true, definitions, "adorn example", false);
            if (child != null) {
                p = t.getName() + "." + child.getName();
            }
        }
        if (child == null) {
            if (node.getNamespaceURI().equals("http://www.w3.org/1999/xhtml"))
                return prefix + "narrative.html";
            else
                return null;
        } else {
            child.setCoveredByExample(true);
            String r = p.contains(".") ? p.substring(0, p.indexOf(".")) : p;
            return prefix + definitions.getSrcFile(r) + "-definitions.html#" + p;
        }
    }
}
Also used : ElementDefn(org.hl7.fhir.definitions.model.ElementDefn)

Aggregations

Complex (org.hl7.fhir.r4.utils.formats.Turtle.Complex)659 Complex (org.hl7.fhir.dstu2016may.formats.RdfGenerator.Complex)488 Complex (org.hl7.fhir.dstu3.utils.formats.Turtle.Complex)486 ArrayList (java.util.ArrayList)240 FHIRException (org.hl7.fhir.exceptions.FHIRException)162 Element (org.hl7.fhir.r5.elementmodel.Element)98 IOException (java.io.IOException)97 DefinitionException (org.hl7.fhir.exceptions.DefinitionException)91 ElementDefinition (org.hl7.fhir.r5.model.ElementDefinition)84 StructureDefinition (org.hl7.fhir.r5.model.StructureDefinition)84 Element (org.w3c.dom.Element)74 JsonElement (com.google.gson.JsonElement)62 FHIRFormatError (org.hl7.fhir.exceptions.FHIRFormatError)61 XhtmlNode (org.hl7.fhir.utilities.xhtml.XhtmlNode)60 HashSet (java.util.HashSet)53 SpecialElement (org.hl7.fhir.r5.elementmodel.Element.SpecialElement)49 NamedElement (org.hl7.fhir.r5.elementmodel.ParserBase.NamedElement)48 Cell (org.hl7.fhir.utilities.xhtml.HierarchicalTableGenerator.Cell)47 CommaSeparatedStringBuilder (org.hl7.fhir.utilities.CommaSeparatedStringBuilder)46 IndexedElement (org.hl7.fhir.validation.instance.utils.IndexedElement)43