diff --git a/config.json b/config.json index 8df3c66..c90f91e 100644 --- a/config.json +++ b/config.json @@ -34,7 +34,20 @@ "name": "change-history", "description": "Resource Change History", "isHistory": true - } + }, + { + "name": "telechargement", + "description": " telechargement" + }, + { + "name": "histoire", + "description": "histoire" + } , + { + "name": "demande", + "description": "demande" + } + ], "_formats-documentation": "Lists the formats in the order format-specific pages should be generated. (Note that suppressed formats won't appear, even if listed here.)", "formats": [ @@ -143,20 +156,32 @@ "template-format": "template/layouts/layout-instance-format.html", "template-testing": "template/layouts/layout-canonical-testing.html", "template-change-history": "template/layouts/layout-changehistory.html", + "template-telechargement": "template/layouts/layout-telechargement.html", + "template-histoire": "template/layouts/layout-histoire.html", + "template-demande": "template/layouts/layout-demande.html", "base": "{{[type]}}-{{[id]}}.html", "format": "{{[type]}}-{{[id]}}.{{[fmt]}}.html", "testing": "{{[type]}}-{{[id]}}-testing.html", - "change-history": "{{[type]}}-{{[id]}}.change.history.html" + "change-history": "{{[type]}}-{{[id]}}.change.history.html", + "telechargement": "{{[type]}}-{{[id]}}.tel.html", + "histoire": "{{[type]}}-{{[id]}}.histoire.html" , + "demande": "{{[type]}}-{{[id]}}.demande.html" }, "ValueSet": { "template-base": "template/layouts/layout-valueset.html", "template-format": "template/layouts/layout-instance-format.html", "template-testing": "template/layouts/layout-canonical-testing.html", "template-change-history": "template/layouts/layout-changehistory.html", + "template-telechargement": "template/layouts/layout-telechargement.html", + "template-histoire": "template/layouts/layout-histoire.html", + "template-demande": "template/layouts/layout-demande.html", "base": "{{[type]}}-{{[id]}}.html", "format": "{{[type]}}-{{[id]}}.{{[fmt]}}.html", "testing": "{{[type]}}-{{[id]}}-testing.html", - "change-history": "{{[type]}}-{{[id]}}.change.history.html" + "change-history": "{{[type]}}-{{[id]}}.change.history.html", + "telechargement": "{{[type]}}-{{[id]}}.tel.html", + "histoire": "{{[type]}}-{{[id]}}.histoire.html" , + "demande": "{{[type]}}-{{[id]}}.demande.html" }, "ActivityDefinition": { "template-base": "template/layouts/layout-canonical.html", @@ -189,14 +214,18 @@ "change-history": "{{[type]}}-{{[id]}}.change.history.html" }, "ConceptMap": { - "template-base": "template/layouts/layout-canonical.html", + "template-base": "template/layouts/layout-conceptmap.html", "template-format": "template/layouts/layout-instance-format.html", "template-testing": "template/layouts/layout-canonical-testing.html", "template-change-history": "template/layouts/layout-changehistory.html", + "template-histoire": "template/layouts/layout-histoire.html", + "template-demande": "template/layouts/layout-demande.html", "base": "{{[type]}}-{{[id]}}.html", "format": "{{[type]}}-{{[id]}}.{{[fmt]}}.html", "testing": "{{[type]}}-{{[id]}}-testing.html", - "change-history": "{{[type]}}-{{[id]}}.change.history.html" + "change-history": "{{[type]}}-{{[id]}}.change.history.html", + "histoire": "{{[type]}}-{{[id]}}.histoire.html" , + "demande": "{{[type]}}-{{[id]}}.demande.html" }, "ExampleScenario": { "template-base": "template/layouts/layout-examplescenario.html", @@ -273,10 +302,12 @@ "template-format": "template/layouts/layout-instance-format.html", "template-testing": "template/layouts/layout-canonical-testing.html", "template-change-history": "template/layouts/layout-changehistory.html", + "template-histoire": "template/layouts/layout-histoire.html", "base": "{{[type]}}-{{[id]}}.html", "format": "{{[type]}}-{{[id]}}.{{[fmt]}}.html", "testing": "{{[type]}}-{{[id]}}-testing.html", - "change-history": "{{[type]}}-{{[id]}}.change.history.html" + "change-history": "{{[type]}}-{{[id]}}.change.history.html", + "histoire": "{{[type]}}-{{[id]}}.histoire.html" }, "OperationDefinition": { "template-base": "template/layouts/layout-canonical.html", diff --git a/content/assets/css/style-add-ans.css b/content/assets/css/style-add-ans.css index 26344f3..1527f7e 100644 --- a/content/assets/css/style-add-ans.css +++ b/content/assets/css/style-add-ans.css @@ -70,3 +70,48 @@ a, article, aside, audio, body, div, em, fieldset, figcaption, figure, footer, h #content > .inner-wrapper, .container > .row > .inner-wrapper { margin : 10px; } + + +#terminologit-search-content-valueset-cld.accordion-group { + border: none; + } + +.accordion-heading .accordion-toggle { + display: -webkit-inline-box; + padding: 0px; + margin-left: 5px; + position: absolute; + color: var(--btn-text-color); + } + + .accordion-toggle .gg-chevron-down { + box-sizing: border-box; + position: relative; + display: block; + transform: scale(var(--ggs,1)); + width: 22px; + height: 22px; + border: 2px solid transparent; + border-radius: 100px; + transition: all 0.5s; + } + .gg-chevron-down::before { + content: ""; + display: block; + box-sizing: border-box; + position: absolute; + width: 10px; + height: 10px; + border-bottom: 2px solid; + border-right: 2px solid; + transform: rotate(45deg); + left: 4px; + top: 2px + } + + .rotate-toggle.gg-chevron-down { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + transform: rotate(180deg); + } + \ No newline at end of file diff --git a/content/assets/css/style-ans.css b/content/assets/css/style-ans.css index 941674d..087099f 100644 --- a/content/assets/css/style-ans.css +++ b/content/assets/css/style-ans.css @@ -125,7 +125,6 @@ video { -webkit-padding-before: 0; -webkit-padding-after: 0; border: 0; - font: inherit; margin: 0; /* padding: 0;*/ vertical-align: baseline; @@ -171,6 +170,7 @@ select { iframe { border: 0; } + [class*="svg-icon"] { stroke-width: 0; stroke: currentColor; @@ -2535,14 +2535,7 @@ textarea.form-control { .fade:not(.show) { opacity: 0; } -.collapse:not(.show) { - display: none; -} -.collapsing { - height: 0; - overflow: hidden; - transition: none; -} + .collapsing, .dropdown, .dropleft, @@ -5469,7 +5462,8 @@ a.btn--style1.btn--white { } .table thead td, .table thead th { - background-color: #f8f9fb; + background-color: #464c6d; + color : white; border-bottom-width: 0; } .table caption + tbody tr:first-child td, @@ -10189,3 +10183,29 @@ a[class*="border"]:hover { border-color: var(--gray-700) !important; } /*# sourceMappingURL=style-ans.css.map */ +.columns-3 { + -moz-column-count: 3; + -moz-column-gap: 10px; + -webkit-column-count: 3; + /* -webkit-column-gap: 10px; */ + /* column-count: 3; */ + /* column-gap: 10px; */ +} + tr[visible='false'], +.no-result{ + display:none; +} + + tr[visible='true']{ + display:table-row; +} + +.counter{ + padding:8px; + color:#ccc; +} + + +table.codes td { + font-size : 10px; +} \ No newline at end of file diff --git a/content/assets/js/addOnto.js b/content/assets/js/addOnto.js new file mode 100644 index 0000000..8e5156b --- /dev/null +++ b/content/assets/js/addOnto.js @@ -0,0 +1,477 @@ +/** + * addOnto_bis.js - Version améliorée + * Améliorations: code factorisé, animations, meilleure UX, tri des colonnes + */ + +// ============================================================================ +// UTILITY FUNCTIONS +// ============================================================================ + +/** + * Debounce function pour limiter les appels fréquents + */ +function debounce(func, delay) { + let timeoutId; + return function(...args) { + clearTimeout(timeoutId); + timeoutId = setTimeout(() => func.apply(this, args), delay); + }; +} + +/** + * Formate une date ISO en format lisible + */ +function formatDate(isoDate) { + if (!isoDate) return ''; + const date = new Date(isoDate); + const options = { year: 'numeric', month: 'short', day: 'numeric', hour: '2-digit', minute: '2-digit' }; + return date.toLocaleDateString('fr-FR', options); +} + +/** + * Crée un badge de statut coloré + */ +function createStatusBadge(status) { + const statusLower = status.toLowerCase(); + let badgeClass = 'badge'; + let style = ''; + + if (statusLower === 'open') { + style = 'background-color: #28a745; color: white; padding: 3px 8px; border-radius: 3px; font-size: 11px;'; + } else if (statusLower === 'closed') { + style = 'background-color: #dc3545; color: white; padding: 3px 8px; border-radius: 3px; font-size: 11px;'; + } else { + style = 'background-color: #6c757d; color: white; padding: 3px 8px; border-radius: 3px; font-size: 11px;'; + } + + return '' + status + ''; +} + +/** + * Ajoute un spinner de chargement + */ +function addLoadingSpinner(element) { + $(element).html('

Chargement...

'); +} + +/** + * Surligne les termes de recherche dans le texte + */ +function highlightSearchTerm(text, searchTerm) { + if (!searchTerm) return text; + const regex = new RegExp('(' + searchTerm.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + ')', 'gi'); + return text.replace(regex, '$1'); +} + +/** + * Transforme les TD en TH pour la première ligne (en-tête) + */ +function convertFirstRowToHeader(firstTr) { + firstTr.find('td').each(function() { + var $td = $(this); + var $th = $('').html($td.html()); + + // Copier tous les attributs sauf background-color + $.each(this.attributes, function() { + $th.attr(this.name, this.value); + }); + + // Enlever background-color du style + var style = $th.attr('style'); + if (style) { + style = style.replace(/background-color\s*:[^;]+;?/gi, '').trim(); + if (style) { + $th.attr('style', style); + } else { + $th.removeAttr('style'); + } + } + + $td.replaceWith($th); + }); + + return firstTr; +} + +/** + * Initialise la recherche avec filtrage et animations + */ +function initializeTableSearch(tableSelector, indextable) { + // Fonction de recherche avec debounce + const performSearch = debounce(function() { + var searchTerm = $(".search" + indextable).val(); + var searchSplit = searchTerm.replace(/ /g, "'):containsi('"); + + $.extend($.expr[':'], {'containsi': function(elem, i, match, array){ + return (elem.textContent || elem.innerText || '').toLowerCase().indexOf((match[3] || "").toLowerCase()) >= 0; + }}); + + // Cacher les lignes non correspondantes avec animation + $(".results" + indextable + " tbody tr").not(":containsi('" + searchSplit + "')").each(function(e){ + $(this).attr('visible','false').fadeOut(150); + }); + + // Afficher les lignes correspondantes avec animation + $(".results" + indextable + " tbody tr:containsi('" + searchSplit + "')").each(function(e){ + $(this).attr('visible','true').fadeIn(150); + }); + + if(searchSplit == "") { + $(".results" + indextable + " tbody tr").attr('visible','true').fadeIn(150); + $('.counter' + indextable).text(""); + } + + var jobCount = $('.results' + indextable + ' tbody tr[visible="true"]').length; + + if (jobCount === 0) { + $('.counter' + indextable).html('Aucun résultat trouvé'); + } else { + $('.counter' + indextable).html('' + jobCount + ' résultat' + (jobCount > 1 ? 's' : '') + ''); + } + }, 300); // Délai de 300ms + + $(".search" + indextable).on('keyup', performSearch); +} + +/** + * Ajoute la fonctionnalité de tri aux colonnes + */ +function addColumnSorting(tableSelector, indextable) { + var $table = $(tableSelector); + + $table.find('thead th').each(function(index) { + $(this).css({ + 'cursor': 'pointer', + 'user-select': 'none', + 'position': 'relative' + }); + + // Ajouter une icône de tri + if (!$(this).find('.sort-icon').length) { + $(this).append(' '); + } + + $(this).on('click', function() { + var $th = $(this); + var columnIndex = $th.index(); + var ascending = $th.data('sort-asc') !== false; + + // Récupérer toutes les lignes + var rows = $table.find('tbody tr').get(); + + rows.sort(function(a, b) { + var aVal = $(a).find('td').eq(columnIndex).text().trim().toLowerCase(); + var bVal = $(b).find('td').eq(columnIndex).text().trim().toLowerCase(); + + // Essayer de convertir en nombre + var aNum = parseFloat(aVal); + var bNum = parseFloat(bVal); + + if (!isNaN(aNum) && !isNaN(bNum)) { + return ascending ? aNum - bNum : bNum - aNum; + } + + if (ascending) { + return aVal.localeCompare(bVal); + } else { + return bVal.localeCompare(aVal); + } + }); + + // Réinsérer les lignes triées + $.each(rows, function(index, row) { + $table.find('tbody').append(row); + }); + + // Mettre à jour l'icône + $table.find('thead th .sort-icon').html('⇅').css('color', '#999'); + $th.find('.sort-icon').html(ascending ? '↑' : '↓').css('color', '#697097'); + + // Inverser l'ordre pour le prochain clic + $th.data('sort-asc', !ascending); + }); + }); +} + +/** + * Configure un tableau avec recherche, tri et animations + */ +function setupEnhancedTable(selector, indextable) { + var $table = $(selector); + + if ($table.find("tr").length == 1) { + $table.parent().hide(); + return; + } + + // Ajouter le champ de recherche + $('
').insertBefore($table); + + // Convertir la première ligne en en-tête + var firstTr = $table.find('tr:first').remove(); + firstTr = convertFirstRowToHeader(firstTr); + $table.prepend($('').append(firstTr)); + $table.addClass("results" + indextable); + $table.addClass("table-striped"); + + // Ajouter les animations CSS + $table.find('tbody tr').css('transition', 'opacity 0.15s ease-in-out'); + + // Initialiser la recherche + initializeTableSearch($table, indextable); + + // Ajouter le tri des colonnes + addColumnSorting(".results" + indextable, indextable); +} + +/** + * Colore les lignes deprecated dans table.codes + */ +function highlightDeprecatedRows() { + $("table.codes").each(function() { + var statusColumnIndex = -1; + $(this).find('tr:eq(0) th').each(function(index) { + if ($(this).text().toLowerCase() === 'status') { + statusColumnIndex = index; + return false; + } + }); + + if (statusColumnIndex !== -1) { + $(this).find('tbody tr').each(function() { + var statusCell = $(this).find('td:eq(' + statusColumnIndex + ')'); + if (statusCell.text().toLowerCase() === 'deprecated') { + $(this).children().css({ + "background-color": "#E69215", + "transition": "background-color 0.3s ease" + }); + } + }); + } + }); +} + +// ============================================================================ +// MAIN INITIALIZATION +// ============================================================================ + +var url = new URL($('#newissue').attr('href')); +url.searchParams.set('title', $('#idValue').val()); +$('#newissue').attr('href', url); + +$(document).ready(function(){ + + // ======================================================================== + // GitHub Issues + // ======================================================================== + if ($("#divDemande").length) { + addLoadingSpinner('#divDemande'); + + $.ajax({ + type: 'get', + url: "https://api.github.com/search/issues?q=is:issue " + $('#idValue').val() + " repo:ansforge/IG-terminologie-de-sante", + contentType: 'application/json', + dataType: "json", + }) + .done((data) => { + if (data.items != null && data.items.length > 0) { + $('#divDemande').html('
Statut Titre Auteur Date
'); + + $.each(data.items, function(i, obj) { + var content = ''; + content += '' + createStatusBadge(obj.state) + ''; + content += ' ' + obj.title + ''; + content += '' + obj.user.login + ''; + content += '' + formatDate(obj.created_at) + ''; + content += ''; + $('#idDemande').append(content); + }); + } else { + $('#divDemande').html('
Aucune issue trouvée
'); + } + }) + .fail((err) => { + console.error(err); + $('#divDemande').html('
❌ Erreur lors du chargement des issues
'); + }); + } + + // ======================================================================== + // History + // ======================================================================== + if ($("#divHistoire").length) { + $('#divHistoire').html('
Histoire Version Demande Resultat Date
'); + + $.ajax({ + type: 'get', + url: "https://smt.esante.gouv.fr/fhir/" + $('#typeValue').val() + "/" + $('#idValue').val() + "/_history?_summary=true", + contentType: 'application/json', + dataType: "json", + }) + .done((data) => { + if (data.entry != null) { + $.each(data.entry, function(i, obj) { + var content = ''; + content += '' + obj.resource.meta.versionId + ''; + content += '' + obj.resource.version + ''; + content += '' + obj.request.method + ''; + content += ' ' + obj.response.status + ''; + content += ' ' + formatDate(obj.response.lastModified) + ''; + content += ''; + $('#idHistoire').append(content); + + content = '
OperationCheminNomValeurPrécédent
'; + $('#idHistoire').append(content); + + $.ajax({ + type: 'get', + url: "https://smt.esante.gouv.fr/fhir/" + obj.id + "/$diff", + contentType: 'application/json', + dataType: "json", + }) + .done((data) => { + if (data.parameter != null) { + $.each(data.parameter, function(i, obj2) { + var operation = ""; + var chemin = ""; + var nom = ""; + var precedent = ""; + var valeur = ""; + + $.each(obj2.part, function(ipart, objPart) { + if (Object.values(objPart)[0] == "type") + operation = Object.values(objPart)[1]; + if (Object.values(objPart)[0] == "path") + chemin = Object.values(objPart)[1]; + if (Object.values(objPart)[0] == "name") + nom = Object.values(objPart)[1]; + if (Object.values(objPart)[0] == "value") + valeur = Object.values(objPart)[1]; + if (Object.values(objPart)[0] == "previousValue") + precedent = Object.values(objPart)[1]; + }); + + content = '' + operation + '' + chemin + ' ' + nom + ' ' + valeur + '' + precedent + ''; + $('#histoire' + obj.resource.meta.versionId).append(content); + }); + } + }); + }); + } + }) + .fail((err) => { + console.error(err); + }); + } + + // ======================================================================== + // Accordion & Back to Top + // ======================================================================== + $("#terminologit-search-content-valueset-cld").addClass("accordion-group"); + var logicalDefHeading = $("#terminologit-search-content-valueset-cld").find("#logical-definition-cld"); + $(logicalDefHeading).addClass("accordion-heading"); + $(logicalDefHeading).append(''); + $(logicalDefHeading).next().addClass("accordion-body collapse in"); + $(logicalDefHeading).next().attr('id', 'logical-definition-cld-collapse'); + + $('.gg-chevron-down').each(function() { + $(this).click(function() { + jQuery(this).toggleClass("rotate-toggle"); + }); + }); + + $(window).scroll(function() { + if ($(this).scrollTop() > 50) { + $('#back-to-top').fadeIn(); + } else { + $('#back-to-top').fadeOut(); + } + }); + + $('#back-to-top').click(function() { + $('#back-to-top').tooltip('hide'); + $('body,html').animate({ + scrollTop: 0 + }, 800); + return false; + }); + + $('#back-to-top').tooltip('show'); + + // ======================================================================== + // ValueSet Search + // ======================================================================== + $('#ontoSearch').on("change", function() { + addLoadingSpinner('#resultOnto'); + $('#counterOnto').html(""); + + $.ajax({ + type: 'get', + url: "https://smt.esante.gouv.fr/fhir//ValueSet/" + $('#idValue').val() + "/$expand?_format=json&filter=" + $('#ontoSearch').val(), + contentType: 'application/json', + dataType: "json", + }) + .done((data) => { + $('#resultOnto').html(""); + + if (data.expansion.contains != null && data.expansion.contains.length > 0) { + $('#counterOnto').html('' + data.expansion.total + ' résultat' + (data.expansion.total > 1 ? 's' : '') + ''); + $('#resultOnto').html('
CodeSystemDisplay
'); + + $.each(data.expansion.contains, function(i, obj) { + var content = ''; + content += '' + obj.code + ''; + content += '' + obj.system + ''; + content += '' + obj.display + ''; + content += ''; + $('#bodyOntoTable').append(content); + }); + } else { + $('#resultOnto').html('
Aucun résultat trouvé
'); + $('#counterOnto').html('0 résultat'); + } + }) + .fail((err) => { + console.error(err); + $('#resultOnto').html('
❌ Erreur lors de la recherche
'); + }) + .always(() => { + $('#requeteOnto').html("GET https://smt.esante.gouv.fr/fhir/ValueSet/" + $('#idValue').val() + "/$expand?_format=json&&filter=" + $('#ontoSearch').val()); + }); + }); + + // ======================================================================== + // Enhanced Table Setup - #orig + // ======================================================================== + var tableIndex = 0; + $('#orig').find('table').not(".grid").each(function() { + setupEnhancedTable(this, tableIndex); + tableIndex++; + }); + + // ======================================================================== + // Enhanced Table Setup - #origConceptMap + // ======================================================================== + $('#origConceptMap').find('table').each(function() { + setupEnhancedTable(this, tableIndex); + tableIndex++; + }); + + // ======================================================================== + // Highlight Deprecated Rows + // ======================================================================== + highlightDeprecatedRows(); + + // ======================================================================== + // Code Styling + // ======================================================================== + $("#orig").find("code").css({ + "background-color": "#c7cef1ff", + "color": "white", + "font-weight": "bolder", + "font-size": "10px", + "padding": "2px 4px", + "border-radius": "3px" + }); + +}); diff --git a/includes/fragment-base-navtabs.html b/includes/fragment-base-navtabs.html new file mode 100644 index 0000000..9c195b3 --- /dev/null +++ b/includes/fragment-base-navtabs.html @@ -0,0 +1,129 @@ +{% assign excludexml = site.data.info.excludexml | downcase | slice: 0 %} +{% assign excludejson = site.data.info.excludejson | downcase | slice: 0 %} +{% assign excludettl = site.data.info.excludettl | downcase | slice: 0 %} +{% assign excludelogbinaryformat = site.data.info.excludelogbinaryformat | downcase | slice: 0 %} +{% assign resource_ = include.type| append: '/'| append: include.id %} +{% assign has_history = site.data.resources[resource_].['history'] %} +{% if site.data.resources[resource_].sourceTail contains "#" %} +{% assign contained_resource = 'y' %} +{% endif %} +{% if excludelogbinaryformat == 'y' and site.data.artifacts[page.path].type == 'Binary' %} +{% assign profile_path = site.data.artifacts[page.path].exampleOf.url %} +{% assign profile_structure = site.data.structuredefinitions | where: "path", profile_path | first %} +{% if profile_structure.kind == 'logical' %} +{% assign suppressformat = 'y' %} +{% endif %} +{% endif %} + + diff --git a/includes/fragment-css.html b/includes/fragment-css.html new file mode 100644 index 0000000..9462186 --- /dev/null +++ b/includes/fragment-css.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/includes/fragment-footer.html b/includes/fragment-footer.html index 2112973..4f0de48 100644 --- a/includes/fragment-footer.html +++ b/includes/fragment-footer.html @@ -1,4 +1,4 @@ Liens: Table des matières | QA | Historique des versions -{% for feedbacklink in site.data.features.feedback %}{% if feedbacklink.dashboard %} | {{feedbacklink.dashboard.label}}{% endif %}{% endfor %} +{% for feedbacklink in site.data.features.feedback %}{% if feedbacklink.dashboard %} | {{feedbacklink.dashboard.label}}{% endif %}{% endfor %} \ No newline at end of file diff --git a/includes/fragment-igTable.html b/includes/fragment-igTable.html new file mode 100644 index 0000000..0ddec6d --- /dev/null +++ b/includes/fragment-igTable.html @@ -0,0 +1,3 @@ +{% assign resource_ = igId %} +{% assign table_prefix = 'IG' %} +{% include fragment-resourceTable.html %} \ No newline at end of file diff --git a/includes/fragment-intro.html b/includes/fragment-intro.html new file mode 100644 index 0000000..670286a --- /dev/null +++ b/includes/fragment-intro.html @@ -0,0 +1,15 @@ +{% assign intro = site.data.pages[page.path].intro %} +{% if intro != null %} +{% if site.data.pages[page.path].intro-type == 'xml' %} +
+{% include {{intro}} type=include.type id=include.id %} +
+{% else %} +{% capture intro-content %} +{% include {{intro}} type=include.type id=include.id %} +{% endcapture %} +
+{{ intro-content | markdownify }} +
+{% endif %} +{% endif %} diff --git a/includes/fragment-modelType.html b/includes/fragment-modelType.html new file mode 100644 index 0000000..a1adee8 --- /dev/null +++ b/includes/fragment-modelType.html @@ -0,0 +1,9 @@ +{% if site.data.structuredefinitions[include.id].type == 'Extension' %} + {% assign modelType = 'Extension' %} +{% elsif site.data.structuredefinitions[include.id].kind == 'logical' %} + {% assign modelType = 'Logical Model' %} +{% elsif site.data.structuredefinitions[include.id].kind == 'resource' %} + {% assign modelType = 'Resource Profile' %} +{% else %} + {% assign modelType = 'Data Type Profile' %} +{% endif %} diff --git a/includes/fragment-notes.html b/includes/fragment-notes.html new file mode 100644 index 0000000..380081b --- /dev/null +++ b/includes/fragment-notes.html @@ -0,0 +1,14 @@ +{% assign notes = site.data.pages[page.path].notes %} +{% if notes != null %} +

Notes:

+{% if site.data.pages[page.path].notes-type == 'xml' %} +{% include {{notes}} type=include.type id=include.id %} +{% else %} +{% capture note-content %} +{% include {{notes}} type=include.type id=include.id %} +{% endcapture %} +
+{{ note-content | markdownify }} +
+{% endif %} +{% endif %} diff --git a/includes/fragment-onto.html b/includes/fragment-onto.html new file mode 100644 index 0000000..081e9ce --- /dev/null +++ b/includes/fragment-onto.html @@ -0,0 +1,23 @@ + + +
+

+ Recherche en live sur le SMT + +

+
+ Indiquer un mot clé puis taper sur "enter" : + +
+
+
+                    Requête sur le SMT
+                
+
+
+ +
+
+
+ + diff --git a/includes/fragment-pageTable.html b/includes/fragment-pageTable.html new file mode 100644 index 0000000..5d5f0dd --- /dev/null +++ b/includes/fragment-pageTable.html @@ -0,0 +1,19 @@ +{% if site.data.pages[page.path].status or site.data.pages[page.path].fmm %} + + + {% if site.data.pages[page.path].status %} + + {% endif %} + {% if site.data.pages[page.path].fmm %} + + {% endif %} + +
+ Page standards status: {{site.data.pages[page.path].status|capitalize}} + {% if site.data.pages[page.path].normativeVersion %} + (from v{{site.data.pages[page.path].normativeVersion}}) + {% endif %} + + Maturity Level: {{site.data.pages[page.path].fmm}} +
+{% endif %} \ No newline at end of file diff --git a/includes/fragment-pagebegin.html b/includes/fragment-pagebegin.html index e5db4fc..e4ad4d5 100644 --- a/includes/fragment-pagebegin.html +++ b/includes/fragment-pagebegin.html @@ -118,4 +118,4 @@
-
+
\ No newline at end of file diff --git a/includes/fragment-pageend.html b/includes/fragment-pageend.html index e8dd4dd..256b6ac 100644 --- a/includes/fragment-pageend.html +++ b/includes/fragment-pageend.html @@ -1,177 +1,178 @@ -
-
-
-
+
+ + + - - + + {% if includetabscripts %} - + {% endif %} - - - - - - + - - + + + + + + + + - + + + + + + - - + + \ No newline at end of file diff --git a/includes/fragment-profile-navtabs.html b/includes/fragment-profile-navtabs.html new file mode 100644 index 0000000..403c0a9 --- /dev/null +++ b/includes/fragment-profile-navtabs.html @@ -0,0 +1,120 @@ +{% assign excludexml = site.data.info.excludexml | downcase | slice: 0 %} +{% assign excludejson = site.data.info.excludejson | downcase | slice: 0 %} +{% assign excludettl = site.data.info.excludettl | downcase | slice: 0 %} +{% assign excludemaps = site.data.info.excludemap | downcase | slice: 0 %} +{% assign excludeexamples = site.data.info.excludeexample | downcase | slice: 0 %} +{% assign sd_type = site.data.structuredefinitions.[include.id].type %} +{% assign resource_ = include.type| append: '/'| append: include.id %} +{% assign has_history = site.data.resources[resource_].['history'] %} +{% assign basepath = include.type | append: '-' | append: include.id | append: '.html' %} +{% assign example_count = site.data.pages[basepath].examples.size %} +{% if site.data.resources[resource_].source contains "#" %} +{% assign contained_resource = 'y' %} +{% endif %} + + diff --git a/includes/fragment-resourceTable.html b/includes/fragment-resourceTable.html new file mode 100644 index 0000000..8818bad --- /dev/null +++ b/includes/fragment-resourceTable.html @@ -0,0 +1,134 @@ + + +{% if site.data.resources[resource_].url != nil %} + + + + +{% endif %} + +{% capture newJurisdictions %} +{% for jurisdiction in site.data.resources[resource_].jurisdictions %} +{% assign foundRes = false %} +{% for igjur in site.data.resources[igId].jurisdictions %} +{% if igjur.name == jurisdiction.name %} +{% assign foundRes = true %} +{% break %} +{% endif %} +{% endfor %} +{% if foundRes == false %} +{% if jurisdiction.flag %} + {{jurisdiction.name}} flag +{% elsif jurisdiction.code %} + {{jurisdiction.code}} +{% else %} + {{jurisdiction.name}} +{% endif %} +{% endif %} +{% endfor %} +{% endcapture %} +{% assign trimmedJurisdictions = newJurisdictions | strip %} + +{% assign colspan = 1 %} +{% if site.data.resources[resource_].status.fmm == nil %} + {% assign colspan = colspan | plus: 1 %} +{% endif %} +{% if site.data.resources[igId].status.owner == site.data.resources[resource_].status.owner %} + {% assign colspan = colspan | plus: 1 %} +{% endif %} +{% if trimmedJurisdictions == "" %} + {% assign colspan = colspan | plus: 1 %} +{% endif %} + +{% if site.data.resources[resource_].status.fmm %} + +{% endif %} +{% if site.data.resources[igId].status.owner != site.data.resources[resource_].status.owner and site.data.resources[resource_].status.owner != nil %} + +{% endif %} +{% if trimmedJurisdictions != "" %} + +{% endif %} + + + + + +{% if site.data.resources[resource_].identifiers %} + + + +{% endif %} + + +{% if site.data.resources[resource_].keywords %} + + + +{% endif %} +{% if site.data.resources[resource_].contexts %} + + + +{% endif %} +{%if site.data.resources[resource_].copyright %} + + + +{% endif %} +
Official URL: {{site.data.resources[resource_].url}}Version: + {{site.data.resources[resource_].version}}
+ {% if site.data.resources[resource_].status.standards-status %} + + {% if table_prefix != nil %} + {{table_prefix}} + {% endif %} + Standards status: + {{site.data.resources[resource_].status.standards-status|capitalize}} + {% if site.data.resources[resource_].status.normativeVersion %} + (from v{{site.data.resources[resource_].status.normativeVersion}}) + {% endif %} + {% else %} + {{site.data.resources[resource_].status.status}} + {% if site.data.resources[resource_].date %} + as of {{site.data.resources[resource_].date | date: "%Y-%m-%d"}} + {% endif %} + {% endif %} + + Maturity Level: {{site.data.resources[resource_].status.fmm}} + {% if site.data.resources[resource_].status.fmmSource %} + * + {% endif %} + + Responsible: +{% if site.data.resources[resource_].status.link %} + {{site.data.resources[resource_].status.owner}} +{% else %} + {{site.data.resources[resource_].status.owner}} +{% endif %} + + Realm: {{trimmedJurisdictions}} + Computable Name: {{site.data.resources[resource_].name}}
+ Other Identifiers: {{site.data.resources[resource_].identifiers}} +
+ Keywords: {{site.data.resources[resource_].keywords}} +
{{site.data.resources[resource_].contexts | prepend: '*Usage:*' | markdownify}}
{{site.data.resources[resource_].copyright | prepend: "*Copyright/Legal*: " | markdownify}}
diff --git a/includes/fragment-simpletable.html b/includes/fragment-simpletable.html new file mode 100644 index 0000000..796b385 --- /dev/null +++ b/includes/fragment-simpletable.html @@ -0,0 +1,32 @@ +{% if site.data.resources[resource_].status.status or site.data.resources[resource_].status.standards-status %} + + +{% if site.data.resources[resource_].status.fmm %} + {% assign colspan = 1 %} +{% else %} + {% assign colspan = 2 %} +{% endif %} + +{% if site.data.resources[resource_].status.fmm %} + +{% endif %} + +
+ {% if site.data.resources[resource_].status.standards-status %} + Page standards status: {{site.data.resources[resource_].status.standards-status|capitalize}} + {% if site.data.resources[resource_].status.normativeVersion %} + (from v{{site.data.resources[resource_].status.normativeVersion}}) + {% endif %} + {% else %} + {{site.data.resources[resource_].status.status}} + {% if site.data.resources[resource_].date %} + as of {{site.data.resources[resource_].date | date: "%Y-%m-%d"}} + {% endif %} + {% endif %} + + Maturity Level: {{site.data.resources[resource_].status.fmm}} + {% if site.data.resources[resource_].status.fmmSource %} + * + {% endif %} +
+{% endif %} \ No newline at end of file diff --git a/includes/template-page-md.html b/includes/template-page-md.html new file mode 100644 index 0000000..e269a82 --- /dev/null +++ b/includes/template-page-md.html @@ -0,0 +1,44 @@ +{% include fragment-pagebegin.html %} + +
+

Publish Box goes here

+

{{site.data.pages[page.path].title | escape_once}}

+ {% assign path = page.path | split: '.html' %} + +{% capture toc-content %} +
+{:toc} +* This will not be displayed +
+{% include {{path}}.md %} +{% endcapture %} + +{% if page.path == 'index.html' %} +{% include fragment-igTable.html %} +{% endif %} +{% include fragment-pageTable.html %} + +{% capture no-toc-content %} +
+ +
+{% include {{path}}.md %} +{% endcapture %} + +{% assign teststring = no-toc-content | markdownify | remove: '###### ' | remove: '##### '| remove: '#### ' | replace: " +{% include fragment-pageend.html %} diff --git a/includes/template-page.html b/includes/template-page.html new file mode 100644 index 0000000..5ccafc7 --- /dev/null +++ b/includes/template-page.html @@ -0,0 +1,19 @@ +{% include fragment-pagebegin.html %} + +
+

Publish Box goes here

+

{{site.data.pages[page.path].title | escape_once}}

+ {% if page.path == 'index.html' %} + {% include fragment-igTable.html %} + {% endif %} + {% include fragment-pageTable.html %} + {% assign path = page.path | split: '.html' %} + {% include {{path}}.xml %} +
+{% include fragment-pageend.html %} diff --git a/layouts/layout-canonical-testing.html b/layouts/layout-canonical-testing.html new file mode 100644 index 0000000..70e8585 --- /dev/null +++ b/layouts/layout-canonical-testing.html @@ -0,0 +1,59 @@ +--- +--- +{% include fragment-pagebegin.html %} +
+

Publish Box goes here

+ {% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='testing' %} + +

{{[type]}}: {{site.data.pages[page.path].title | escape_once}} +{% if site.data.resources[resource_].experimental == true %}(Experimental){% endif %} +

+ +{% include fragment-simpletable.html %} + +{% assign basepath = page.path | replace: '-testing.html', '.html' %} + + +{% include fragment-intro.html type='{{[type]}}' id='{{[id]}}' %} + +

Test Plans

+{% if site.data.pages[basepath].testplans.size > 0 %} + + + {% for testplan in site.data.pages[basepath].testplans %} + + + + {% endfor %} + +
+ {{testplan.title | escape_once}} +
+{% else %} +

No test plans are currently available for the {{id}} {{[type]}}.

+{% endif %} + +

Test Scripts

+{% if site.data.pages[basepath].testscripts.size > 0 %} + + + {% for testscript in site.data.pages[basepath].testscripts %} + + + + {% endfor %} + +
+ {{testscript.title | escape_once}} +
+{% else %} +

No test scripts are currently available for the {{id}} {{[type]}}.

+{% endif %} + + +{% include fragment-notes.html type='{{[type]}}' id='{{[id]}}' %} + +{%include {{[type]}}-{{[id]}}-history.xhtml%} + +
+{% include fragment-pageend.html %} diff --git a/layouts/layout-canonical.html b/layouts/layout-canonical.html new file mode 100644 index 0000000..4725afb --- /dev/null +++ b/layouts/layout-canonical.html @@ -0,0 +1,47 @@ +--- +--- +{% include fragment-pagebegin.html %} +
+

Publish Box goes here

+ {% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='content' %} + + +

{{[type]}}: {{site.data.pages[page.path].title | escape_once}} +{% if site.data.resources[resource_].experimental == true %}(Experimental){% endif %} +

+ +{% include fragment-resourceTable.html %} + +{%if site.data.resources[resource_].description %} +

+{{site.data.resources[resource_].description|markdownify}} +

+{% endif %} +{%if site.data.resources[resource_].purpose %} +

+{{site.data.resources[resource_].purpose|markdownify}} +

+{% endif %} + + {% include fragment-intro.html type='{{[type]}}' id='{{[id]}}' %} + + +{% unless example %} + {% if '{{[type]}}' == 'CapabilityStatement' %} +

+ Raw OpenAPI-Swagger Definition file | Download +

+ {% endif %} +{% endunless %} + + {% include {{[type]}}-{{[id]}}-html.xhtml %} + + + {% include fragment-notes.html type='{{[type]}}' id='{{[id]}}' %} + + {%include {{[type]}}-{{[id]}}-history.xhtml%} + +
+{% include fragment-pageend.html %} diff --git a/layouts/layout-changehistory.html b/layouts/layout-changehistory.html new file mode 100644 index 0000000..7351bce --- /dev/null +++ b/layouts/layout-changehistory.html @@ -0,0 +1,21 @@ +--- +--- + + + + +{% include fragment-pagebegin.html %} + +
+

Publish Box goes here

+ {% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='history' %} + + +

{{type}}: {{[title]}} - Change History

+

History of changes for {{[id]}} {{type | downcase}}.

+ + {%include {{[type]}}-{{[id]}}-history.xhtml%} + +
+{% assign includetabscripts = 'true' %} +{% include fragment-pageend.html %} diff --git a/layouts/layout-codesystem.html b/layouts/layout-codesystem.html new file mode 100644 index 0000000..e8e0489 --- /dev/null +++ b/layouts/layout-codesystem.html @@ -0,0 +1,45 @@ +--- +--- +{% include fragment-pagebegin.html %} +
+

Publish Box goes here

+ {% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='content' %} + +

CodeSystem: {{site.data.pages[page.path].title | escape_once}} +{% if site.data.resources[resource_].experimental == true %}(Experimental){% endif %} +

+ +{% include fragment-resourceTable.html %} +{%if site.data.resources[resource_].description %} +

+{{site.data.resources[resource_].description|markdownify}} +

+{% endif %}{%if site.data.resources[resource_].purpose %} +

+{{site.data.resources[resource_].purpose|markdownify}} +

+{% endif %} + + {% include fragment-intro.html type='{{[type]}}' id='{{[id]}}' %} + +

+ Cette terminologie de référence (CodeSystem) est référencé dans la définition de contenu des jeux de valeurs (ValueSet) suivants : +

+ + {% include {{[type]}}-{{[id]}}-xref.xhtml %} + +
+ {% include {{[type]}}-{{[id]}}-content.xhtml %} + + {% if site.data.resources[resource_].contained != nil %} +

Ressources contenues

+ {% include {{[type]}}-{{[id]}}-contained-index.xhtml %} + {% endif %} +
+ + {% include fragment-notes.html type='{{[type]}}' id='{{[id]}}' %} + + {%include {{[type]}}-{{[id]}}-history.xhtml%} + +
+{% include fragment-pageend.html %} \ No newline at end of file diff --git a/layouts/layout-conceptmap.html b/layouts/layout-conceptmap.html new file mode 100644 index 0000000..85160f4 --- /dev/null +++ b/layouts/layout-conceptmap.html @@ -0,0 +1,48 @@ +--- +--- +{% include fragment-pagebegin.html %} +
+

Publish Box goes here

+ {% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='content' %} + + +

{{[type]}}: {{site.data.pages[page.path].title | escape_once}} +{% if site.data.resources[resource_].experimental == true %}(Experimental){% endif %} +

+ +{% include fragment-resourceTable.html %} + +{%if site.data.resources[resource_].description %} +

+{{site.data.resources[resource_].description|markdownify}} +

+{% endif %} +{%if site.data.resources[resource_].purpose %} +

+{{site.data.resources[resource_].purpose|markdownify}} +

+{% endif %} + + {% include fragment-intro.html type='{{[type]}}' id='{{[id]}}' %} + + +{% unless example %} + {% if '{{[type]}}' == 'CapabilityStatement' %} +

+ Raw OpenAPI-Swagger Definition file | Download +

+ {% endif %} +{% endunless %} + +
+ {% include {{[type]}}-{{[id]}}-html.xhtml %} +
+ + {% include fragment-notes.html type='{{[type]}}' id='{{[id]}}' %} + + {%include {{[type]}}-{{[id]}}-history.xhtml%} + +
+{% include fragment-pageend.html %} diff --git a/layouts/layout-demande.html b/layouts/layout-demande.html new file mode 100644 index 0000000..2d5f031 --- /dev/null +++ b/layouts/layout-demande.html @@ -0,0 +1,24 @@ +--- +--- + + + + +{% include fragment-pagebegin.html %} + +
+

Publish Box goes here

+ {% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='demande' %} + + +

{{[type]}}: {{[title]}} - Demande

+ + +
+ Pas de demande pour cette ressource + +
+ +
+{% assign includetabscripts = 'true' %} +{% include fragment-pageend.html %} diff --git a/layouts/layout-examplescenario.html b/layouts/layout-examplescenario.html new file mode 100644 index 0000000..e96d81f --- /dev/null +++ b/layouts/layout-examplescenario.html @@ -0,0 +1,50 @@ +--- +--- +{% include fragment-pagebegin.html %} +
+

Publish Box goes here

+ {% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='content' %} + + +

{{[type]}}: {{site.data.pages[page.path].title | escape_once}} +{% if site.data.resources[resource_].experimental == true %}(Experimental){% endif %} +

+ +{% include fragment-resourceTable.html %} + +{%if site.data.resources[resource_].description %} +

+{{site.data.resources[resource_].description|markdownify}} +

+{% endif %} +{%if site.data.resources[resource_].purpose %} +

+{{site.data.resources[resource_].purpose|markdownify}} +

+{% endif %} + + {% include fragment-intro.html type='{{[type]}}' id='{{[id]}}' %} + + +

Actors

+ {% include {{[type]}}-{{[id]}}-actor-table.xhtml %} + + +

Diagram

+ {% include {{[type]}}-{{[id]}}-process-diagram.xhtml %} + + +

Processes

+ {% include {{[type]}}-{{[id]}}-processes.xhtml %} + + +

Instances

+ {% include {{[type]}}-{{[id]}}-instance-table.xhtml %} + + + {% include fragment-notes.html type='{{[type]}}' id='{{[id]}}' %} + + {%include {{[type]}}-{{[id]}}-history.xhtml%} + +
+{% include fragment-pageend.html %} diff --git a/layouts/layout-ext.html b/layouts/layout-ext.html new file mode 100644 index 0000000..1701da1 --- /dev/null +++ b/layouts/layout-ext.html @@ -0,0 +1,209 @@ +--- +--- +{% include fragment-pagebegin.html %} +
+

Publish Box goes here

+ {% include fragment-profile-navtabs.html type='{{[type]}}' id='{{[id]}}' active='content' %} + +

Extension: {{site.data.pages[page.path].title | escape_once}} +{% if site.data.resources[resource_].experimental == true %}(Experimental){% endif %} +

+ +{% include fragment-resourceTable.html %} +{%if site.data.resources[resource_].description %} +{{site.data.resources[resource_].description|markdownify}} +{% endif %}{%if site.data.resources[resource_].purpose %} +{{site.data.resources[resource_].purpose|markdownify}} +{% endif %} + +

Context of Use

+

This extension may be used on the following {{site.data.structuredefinitions['{{[id]}}'].contextType}} element(s):

+
    + {% for context in site.data.structuredefinitions['{{[id]}}'].contexts %} +
  • {{context.type}} {{context.expression}}
  • + {% endfor %} +
+ + + {% include fragment-intro.html type='{{[type]}}' id='{{[id]}}' %} + +

Usage info

+ {%include StructureDefinition-{{[id]}}-sd-xref.xhtml%} + + + +

Formal Views of Extension Content

+

+ Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work. +

+
+ + +
+
+

This structure is derived from {{site.data.structuredefinitions['{{[id]}}'].basename}} +

+
+ + {%include StructureDefinition-{{[id]}}-summary.xhtml%} +
+
+
+ +
+
+

This structure is derived from {{site.data.structuredefinitions['{{[id]}}'].basename}} +

+
+ {%include StructureDefinition-{{[id]}}-diff.xhtml%} +
+
+
+ +
+
+
+ {%include StructureDefinition-{{[id]}}-snapshot.xhtml%} +
+
+
+{% unless excludexml == 'y' %} + +{% endunless %} +{% unless excludejson == 'y' %} + +{% endunless %} +{% unless excludettl == 'y' %} + +{% endunless %} + +
+
+

This structure is derived from {{site.data.structuredefinitions['{{[id]}}'].basename}} +

+
+ {%include StructureDefinition-{{[id]}}-summary-all.xhtml%} +
+
+
+

+ Differential View +

+

This structure is derived from {{site.data.structuredefinitions['{{[id]}}'].basename}} +

+
+ {%include StructureDefinition-{{[id]}}-diff-all.xhtml%} +
+
+
+

+ Snapshot View +

+
+ {%include StructureDefinition-{{[id]}}-snapshot-all.xhtml%} +
+
+{% unless excludexml == 'y' %} + +{% endunless %} +{% unless excludejson == 'y' %} + +{% endunless %} +{% unless excludettl == 'y' %} + +{% endunless %} +
+
+

 

+

Other representations of profile: CSV, Excel, Schematron +

+ + + {%include StructureDefinition-{{[id]}}-tx.xhtml%} + +{% capture invariants %} + {% include StructureDefinition-{{[id]}}-inv.xhtml %} +{% endcapture %} + +{% unless invariants.size <= 218 %} + + + {% include StructureDefinition-{{[id]}}-inv.xhtml %} +{% endunless%} + + + {% include fragment-notes.html type='{{[type]}}' id='{{[id]}}' %} + +
+{% assign includetabscripts = 'true' %} +{% include fragment-pageend.html %} diff --git a/layouts/layout-histoire.html b/layouts/layout-histoire.html new file mode 100644 index 0000000..a87664f --- /dev/null +++ b/layouts/layout-histoire.html @@ -0,0 +1,24 @@ +--- +--- + + + + +{% include fragment-pagebegin.html %} + +
+

Publish Box goes here

+ {% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='histoire' %} + + +

{{[type]}}: {{[title]}} - Histoire

+ + +
+ Pas d'historique pour cette ressource + +
+ +
+{% assign includetabscripts = 'true' %} +{% include fragment-pageend.html %} diff --git a/layouts/layout-instance-base.html b/layouts/layout-instance-base.html new file mode 100644 index 0000000..6a678c5 --- /dev/null +++ b/layouts/layout-instance-base.html @@ -0,0 +1,39 @@ +--- +--- +{% include fragment-pagebegin.html %} +
+

Publish Box goes here

+ + {% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='content' %} + + +{% if site.data.artifacts[page.path].example %} + {% assign example = 'Example ' %} +{% endif %} +{% assign prefix = site.data.artifacts[page.path].type %} +

{{example}}{{prefix}}: {{site.data.pages[page.path].title | escape_once}}

+ +{% include fragment-simpletable.html %} +{% unless example %} + {% if '{{[type]}}' == 'CapabilityStatement' %} +

+ Raw OpenAPI-Swagger Definition file | Download +

+ {% endif %} +{% endunless %} + + + {% include fragment-intro.html type='{{[type]}}' id='{{[id]}}' %} + + {% include {{[type]}}-{{[id]}}-html.xhtml %} + + {% if site.data.resources[resource_].contained != nil %} +

Contained resources

+ {% include {{[type]}}-{{[id]}}-contained-index.xhtml %} + {% endif %} + + + {% include fragment-notes.html type='{{[type]}}' id='{{[id]}}' %} + +
+{% include fragment-pageend.html %} diff --git a/layouts/layout-instance-format.html b/layouts/layout-instance-format.html new file mode 100644 index 0000000..3839d1c --- /dev/null +++ b/layouts/layout-instance-format.html @@ -0,0 +1,36 @@ +--- +--- + +{% if '{{[fmt]}}' == 'xml' %} +{% assign section = '7' %} +{% elsif '{{[fmt]}}' == 'json' %} +{% assign section = '8' %} +{% else %} +{% assign section = '9' %} +{% endif %} + +{% include fragment-pagebegin.html %} +
+

Publish Box goes here

+{% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='{{[fmt]}}' %} + + +{% if site.data.artifacts[page.path].example %} + {% assign example = 'Example ' %} +{% endif %} +{% assign prefix = site.data.artifacts[page.path].type %} +

{{example}}{{prefix}}: {{site.data.pages[page.path].title | escape_once}}

+{% include fragment-simpletable.html %} + +

Raw {{[fmt]}} | Download

+ + + {% include fragment-intro.html type='{{[type]}}' id='{{[id]}}' %} + + {% include {{[type]}}-{{[name]}}.xhtml %} + + + {% include fragment-notes.html type='{{[type]}}' id='{{[id]}}' %} + +
+{% include fragment-pageend.html %} diff --git a/layouts/layout-profile-definitions.html b/layouts/layout-profile-definitions.html new file mode 100644 index 0000000..df41200 --- /dev/null +++ b/layouts/layout-profile-definitions.html @@ -0,0 +1,51 @@ +--- +--- + +{% include fragment-modelType.html id='{{[id]}}' %} + +{% include fragment-pagebegin.html %} +
+

Publish Box goes here

+ {% include fragment-profile-navtabs.html type='{{[type]}}' id='{{[id]}}' active='definition' %} + + +

{{modelType}}: {{[title]}} - Detailed Descriptions

+{% include fragment-simpletable.html %} + +

Definitions for the {{[id]}} {{modelType | downcase}}.

+ + + {% include fragment-intro.html type='{{[type]}}' id='{{[id]}}' %} + +
+ + +
+ {%include StructureDefinition-{{[id]}}-dict-diff.xhtml%} +
+ +
+ {%include StructureDefinition-{{[id]}}-dict-key.xhtml%} +
+ +
+ {%include StructureDefinition-{{[id]}}-dict.xhtml%} +
+
+ + + {% include fragment-notes.html type='{{[type]}}' id='{{[id]}}' %} + +
+{% assign includetabscripts = 'true' %} +{% include fragment-pageend.html %} diff --git a/layouts/layout-profile-examples.html b/layouts/layout-profile-examples.html new file mode 100644 index 0000000..a0be207 --- /dev/null +++ b/layouts/layout-profile-examples.html @@ -0,0 +1,41 @@ +--- +--- + +{% include fragment-modelType.html id='{{[id]}}' %} + +{% include fragment-pagebegin.html %} +
+

Publish Box goes here

+ {% include fragment-profile-navtabs.html type='{{[type]}}' id='{{[id]}}' active='example' %} + + +

{{modelType}}: {{[title]}} - Examples

+{% include fragment-simpletable.html %} + + + {% include fragment-intro.html type='{{[type]}}' id='{{[id]}}' %} + +{% assign basepath = page.path | replace: '-examples.html', '.html' %} +{% if site.data.pages[basepath].examples.size > 0 %} +

Examples for the {{[id]}} Profile.

+ + + {% for example in site.data.pages[basepath].examples %} + + + + {% endfor %} + +
+ {{example.title | escape_once}} +
+{% else %} +

No examples are currently available for the {{id}} Profile.

+{% endif %} + + +{% include fragment-notes.html type='{{[type]}}' id='{{[id]}}' %} + +
+{% assign includetabscripts = 'true' %} +{% include fragment-pageend.html %} diff --git a/layouts/layout-profile-format.html b/layouts/layout-profile-format.html new file mode 100644 index 0000000..56f53f1 --- /dev/null +++ b/layouts/layout-profile-format.html @@ -0,0 +1,39 @@ +--- +--- + +{% include fragment-modelType.html id='{{[id]}}' %} + +{% assign format = page.path | split: '.html'| first | split: '.' | last %} + +{% if format == 'xml' %} +{% assign section = '7' %} +{% elsif format == 'json' %} +{% assign section = '8' %} +{% else %} +{% assign section = '9' %} +{% endif %} + +{% include fragment-pagebegin.html %} +
+

Publish Box goes here

+ {% include fragment-profile-navtabs.html type='{{[type]}}' id='{{[id]}}' active=format %} + + +

{{modelType}}: {{[title]}} - {{format | upcase}} Profile

+{% include fragment-simpletable.html %} + +

{{format | upcase}} representation of the {{[id]}} {{modelType | downcase }}.

+ +

Raw {{format}} | Download

+ + + {% include fragment-intro.html type='{{[type]}}' id='{{[id]}}' %} + + {%include StructureDefinition-{{[id]}}-{{format}}-html.xhtml%} + + + {% include fragment-notes.html type='{{[type]}}' id='{{[id]}}' %} + +
+{% assign includetabscripts = 'true' %} +{% include fragment-pageend.html %} diff --git a/layouts/layout-profile-history.html b/layouts/layout-profile-history.html new file mode 100644 index 0000000..cb16f7f --- /dev/null +++ b/layouts/layout-profile-history.html @@ -0,0 +1,21 @@ +--- +--- + +{% include fragment-modelType.html id='{{[id]}}' %} + +{% include fragment-pagebegin.html %} + +
+

Publish Box goes here

+ {% include fragment-profile-navtabs.html type='{{[type]}}' id='{{[id]}}' active='history' %} + + +

{{modelType}}: {{[title]}} - Change History

+{% include fragment-simpletable.html %} +

Changes in the {{[id]}} {{modelType | downcase}}.

+ + {%include {{[type]}}-{{[id]}}-history.xhtml%} + +
+{% assign includetabscripts = 'true' %} +{% include fragment-pageend.html %} diff --git a/layouts/layout-profile-mappings.html b/layouts/layout-profile-mappings.html new file mode 100644 index 0000000..c76a1e2 --- /dev/null +++ b/layouts/layout-profile-mappings.html @@ -0,0 +1,27 @@ +--- +--- + +{% include fragment-modelType.html id='{{[id]}}' %} + +{% include fragment-pagebegin.html %} +
+

Publish Box goes here

+ {% include fragment-profile-navtabs.html type='{{[type]}}' id='{{[id]}}' active='mapping' %} + + +

{{modelType}}: {{[title]}} - Mappings

+{% include fragment-simpletable.html %} + +

Mappings for the {{[id]}} {{modelType | downcase }}.

+ + + {% include fragment-intro.html type='{{[type]}}' id='{{[id]}}' %} + + {%include StructureDefinition-{{[id]}}-maps.xhtml%} + + + {% include fragment-notes.html type='{{[type]}}' id='{{[id]}}' %} + +
+{% assign includetabscripts = 'true' %} +{% include fragment-pageend.html %} diff --git a/layouts/layout-profile-testing.html b/layouts/layout-profile-testing.html new file mode 100644 index 0000000..2856dd1 --- /dev/null +++ b/layouts/layout-profile-testing.html @@ -0,0 +1,59 @@ +--- +--- + +{% include fragment-modelType.html id='{{[id]}}' %} + +{% include fragment-pagebegin.html %} +
+

Publish Box goes here

+ {% include fragment-profile-navtabs.html type='{{[type]}}' id='{{[id]}}' active='testing' %} + + +

{{modelType}}: {{[title]}} - Testing

+{% include fragment-simpletable.html %} + +{% assign basepath = page.path | replace: '-testing.html', '.html' %} + + +{% include fragment-intro.html type='{{[type]}}' id='{{[id]}}' %} + +

Test Plans

+{% if site.data.pages[basepath].testplans.size > 0 %} + + + {% for testplan in site.data.pages[basepath].testplans %} + + + + {% endfor %} + +
+ {{testplan.title | escape_once}} +
+{% else %} +

No test plans are currently available for the {{id}} Profile.

+{% endif %} + +

Test Scripts

+{% if site.data.pages[basepath].testscripts.size > 0 %} + + + {% for testscript in site.data.pages[basepath].testscripts %} + + + + {% endfor %} + +
+ {{testscript.title | escape_once}} +
+{% else %} +

No test scripts are currently available for the {{id}} Profile.

+{% endif %} + + +{% include fragment-notes.html type='{{[type]}}' id='{{[id]}}' %} + +
+{% assign includetabscripts = 'true' %} +{% include fragment-pageend.html %} diff --git a/layouts/layout-profile.html b/layouts/layout-profile.html new file mode 100644 index 0000000..0756b0c --- /dev/null +++ b/layouts/layout-profile.html @@ -0,0 +1,302 @@ +--- +--- + +{% include fragment-modelType.html id='{{[id]}}' %} + +{% include fragment-pagebegin.html %} +
+

Publish Box goes here

+ {% include fragment-profile-navtabs.html type='{{[type]}}' id='{{[id]}}' active='content' %} + + +

{{modelType}}: +{% if site.data.structuredefinitions["{{[id]}}"].abstract == true %} + {{site.data.pages[page.path].title | escape_once}} +{% else %} + {{site.data.pages[page.path].title}} +{% endif %} +{% if site.data.resources[resource_].experimental == true or site.data.structuredefinitions["{{[id]}}"].abstract == true %}({% endif %} +{% if site.data.structuredefinitions["{{[id]}}"].abstract == true %}Abstract{% endif %} +{% if site.data.resources[resource_].experimental == true %}Experimental{% endif %} +{% if site.data.resources[resource_].experimental == true or site.data.structuredefinitions["{{[id]}}"].abstract == true %}){% endif %} +

+ +{% include fragment-resourceTable.html %} +{%if site.data.resources[resource_].description %} +

+{{site.data.resources[resource_].description|markdownify}} +

+{% endif %}{%if site.data.resources[resource_].purpose %} +

+{{site.data.resources[resource_].purpose|markdownify}} +

+{% endif %} + + + +{% include fragment-intro.html type='{{[type]}}' id='{{[id]}}' %} + +{%include StructureDefinition-{{[id]}}-sd-xref.xhtml%} + + + +

Formal Views of Profile Content

+

+ Description of Profiles, Differentials, Snapshots and how the different presentations work. +

+
+ + +
+
+

This structure is derived from {{site.data.structuredefinitions['{{[id]}}'].basename}} +

+
+ {%include StructureDefinition-{{[id]}}-diff.xhtml%} + + + {%include StructureDefinition-{{[id]}}-tx-diff.xhtml%} + + {% capture invariantsdiff %} + {% include StructureDefinition-{{[id]}}-inv-diff.xhtml %} + {% endcapture %} + + {% unless invariantsdiff.size <= 218 %} + + + {% include StructureDefinition-{{[id]}}-inv-diff.xhtml %} + {% endunless%} +
+
+
+ +
+
+
+ {%include StructureDefinition-{{[id]}}-snapshot-by-key.xhtml%} + + {%include StructureDefinition-{{[id]}}-tx-key.xhtml%} + + {% capture invariantskey %} + {% include StructureDefinition-{{[id]}}-inv-key.xhtml %} + {% endcapture %} + + {% unless invariantskey.size <= 218 %} + + + {% include StructureDefinition-{{[id]}}-inv-key.xhtml %} + {% endunless%} +
+
+
+ +
+
+
+ {%include StructureDefinition-{{[id]}}-snapshot.xhtml%} + + {%include StructureDefinition-{{[id]}}-tx.xhtml%} + + {% capture invariants %} + {% include StructureDefinition-{{[id]}}-inv.xhtml %} + {% endcapture %} + + {% unless invariants.size <= 218 %} + + + {% include StructureDefinition-{{[id]}}-inv.xhtml %} + {% endunless%} +
+
+
+{% unless excludexml == 'y' %} + +{% endunless %} +{% unless excludejson == 'y' %} + +{% endunless %} +{% unless excludettl == 'y' %} + +{% endunless %} + +
+
+

This structure is derived from {{site.data.structuredefinitions['{{[id]}}'].basename}} +

+
+ + {%include StructureDefinition-{{[id]}}-summary.xhtml%} +
+
+
+ +
+
+

+ Differential View +

+

This structure is derived from {{site.data.structuredefinitions['{{[id]}}'].basename}} +

+
+ {%include StructureDefinition-{{[id]}}-diff-all.xhtml%} + + {%include StructureDefinition-{{[id]}}-tx-diff.xhtml%} + + {% capture invariantsdiff %} + {% include StructureDefinition-{{[id]}}-inv-diff.xhtml %} + {% endcapture %} + + {% unless invariantsdiff.size <= 218 %} + + + {% include StructureDefinition-{{[id]}}-inv-diff.xhtml %} + {% endunless%} +
+
+
+

+ Key Elements View +

+
+ {%include StructureDefinition-{{[id]}}-snapshot-by-key-all.xhtml%} + + {%include StructureDefinition-{{[id]}}-tx-key.xhtml%} + + {% capture invariantskey %} + {% include StructureDefinition-{{[id]}}-inv-key.xhtml %} + {% endcapture %} + + {% unless invariantskey.size <= 218 %} + + + {% include StructureDefinition-{{[id]}}-inv-key.xhtml %} + {% endunless%} +
+
+
+

+ Snapshot View +

+
+ {%include StructureDefinition-{{[id]}}-snapshot-all.xhtml%} + + {%include StructureDefinition-{{[id]}}-tx.xhtml%} + + {% capture invariants %} + {% include StructureDefinition-{{[id]}}-inv.xhtml %} + {% endcapture %} + + {% unless invariants.size <= 218 %} + + + {% include StructureDefinition-{{[id]}}-inv.xhtml %} + {% endunless%} +
+
+{% unless excludexml == 'y' %} + +{% endunless %} +{% unless excludejson == 'y' %} + +{% endunless %} +{% unless excludettl == 'y' %} + +{% endunless %} +
+

This structure is derived from {{site.data.structuredefinitions['{{[id]}}'].basename}} +

+
+ {%include StructureDefinition-{{[id]}}-summary-all.xhtml%} +
+
+
+
+

 

+

Other representations of profile: CSV, Excel{% unless modelType == 'Logical Model' %}, Schematron +{% endunless %} +

+ + {% if site.data.resources[resource_].contained != nil %} +

Contained resources

+ {% include {{[type]}}-{{[id]}}-contained-index.xhtml %} + {% endif %} + + +{% include fragment-notes.html type='{{[type]}}' id='{{[id]}}' %} + +
+{% assign includetabscripts = 'true' %} +{% include fragment-pageend.html %} diff --git a/layouts/layout-telechargement.html b/layouts/layout-telechargement.html new file mode 100644 index 0000000..caf8fc1 --- /dev/null +++ b/layouts/layout-telechargement.html @@ -0,0 +1,45 @@ +--- +--- + + + + +{% include fragment-pagebegin.html %} + +
+

Publish Box goes here

+ {% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='tel' %} + + +

{{[type]}}: {{[title]}} - Telechargement

+
+
+ + + + + + + + + + + + + + + + + + + + + + +
csv Fichier csv (.tabs)
svs Fichier xml (Sharing Value Sets)
fhir Fichier Fhir Json
fhir Fichier Fhir Xml
+ +
+ +
+{% assign includetabscripts = 'true' %} +{% include fragment-pageend.html %} diff --git a/layouts/layout-valueset.html b/layouts/layout-valueset.html new file mode 100644 index 0000000..a3a8fe0 --- /dev/null +++ b/layouts/layout-valueset.html @@ -0,0 +1,97 @@ +--- +--- +{% include fragment-pagebegin.html %} +
+

Publish Box goes here

+ {% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='content' %} + +

ValueSet: {% if site.data.resources[resource_].title %} + {{ site.data.resources[resource_].title | escape_once}} + {% else %} + {{ site.data.resources[resource_].name | escape_once}} + {% endif %} + + +{% if site.data.resources[resource_].experimental == true %}(Experimental){% endif %} +

+{% include fragment-resourceTable.html %} +{%if site.data.resources[resource_].description %} +

+{{site.data.resources[resource_].description|markdownify}} +

+{% endif %}{%if site.data.resources[resource_].purpose %} +

+{{site.data.resources[resource_].purpose|markdownify}} +

+{% endif %} + +

+ References +

+ {%include {{[type]}}-{{[id]}}-xref.xhtml%} + + + + + + {% include fragment-intro.html type='{{[type]}}' id='{{[id]}}' %} + + {% include fragment-onto.html type='{{[type]}}' id='{{[id]}}' %} +
+ + + +
+ {%include {{[type]}}-{{[id]}}-cld.xhtml%} +
+ +

 

+ +

Expansion

+ + {%include {{[type]}}-{{[id]}}-expansion.xhtml%} + +
+

+ Explanation of the columns that may appear on this page: +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
LevelA few code lists that FHIR defines are hierarchical - each code is assigned a level. + In this scheme, some codes are under other codes, and imply that the code they are under also applies
SystemThe source of the definition of the code (when the value set draws in codes defined elsewhere)
CodeThe code (used as the code in the resource instance)
DisplayThe display (used in the display element of a Coding). If there is no display, implementers should not simply display the code, but map the concept into their application
DefinitionAn explanation of the meaning of the concept
CommentsAdditional notes about how to use the code
+
+ {% if site.data.resources[resource_].contained != nil %} +

Contained resources

+ {% include {{[type]}}-{{[id]}}-contained-index.xhtml %} + {% endif %} + + + {% include fragment-notes.html type='{{[type]}}' id='{{[id]}}' %} + + {%include {{[type]}}-{{[id]}}-history.xhtml%} + +
+{% include fragment-pageend.html %}