CINXE.COM
SNOMED International Browser
<!DOCTYPE html> <html> <head> <title>SNOMED International Browser</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="cache-control" content="no-cache"> <meta name="viewport" content="width=device-width"> <meta name="description" content="SNOMED International SNOMED CT Browser"> <meta name="author" content="SNOMED International"> <script src="internal-libs/snomed-interaction-components.min.js?version=3.43.1-18"></script> <script type="text/javascript" src="internal-libs/node_modules/snomed-ecl-builder/output/ecl-builder.js"></script> <link rel="stylesheet" type="text/css" href="css/external.css"> <link rel="stylesheet" type="text/css" href="css/footer.css"> <style> .modal.fade .modal-dialog { margin-top: 60px; } .row.splitter_panel { height: calc(100vh - 95px) !important; } .ecl-builder ngb-typeahead-window.dropdown-menu { max-width: 60vw !important; } .ecl-builder div.modal-body button.circle { top: 20px !important; } .ecl-builder div.expression-group.grey div.expression-row:first-child div.position-relative, .ecl-builder div.expression-group.grey div.expression-row:first-child input[type=text] { width: 61.3vw !important; } .ecl-builder div.expression-group.grey div.expression-row:not(:first-child) div.position-relative, .ecl-builder div.expression-group.grey div.expression-row:not(:first-child) input[type=text] { width: 57vw !important; } .ecl-builder div.expression-group.blue div.expression-row:not(:first-child) div.position-relative, .ecl-builder div.expression-group.blue div.expression-row:not(:first-child) input[type=text] { width: 19.85vw !important; } .ecl-builder div.expression-group.grey div.expression-row:first-child ngb-typeahead-window.dropdown-menu { left: 0px !important; } .ecl-builder div.expression-group.grey div.expression-row:not(:first-child) ngb-typeahead-window.dropdown-menu { left: 0px !important; } </style> <script> function changeFavicon(iconPrefix) { var link; link = document.createElement('link'); link.type = 'image/x-icon'; link.rel = 'shortcut icon'; link.href = iconPrefix + '-favicon.png'; document.getElementsByTagName('head')[0].appendChild(link); } function getIconPrefixFromEnv() { const env = window.location.hostname.split(/[.]/)[0]; let prefix; if (env === 'local') { prefix = 'loc'; } else if (env.startsWith('dev-')) { prefix = 'dev'; } else if (env.startsWith('uat-')) { prefix = 'uat'; } else if (env.startsWith('training-')) { prefix = 'trn'; } else { prefix = 'prd'; } return prefix; } function getEnvPrefix() { const env = window.location.hostname.split(/[.]/)[0]; let prefix = ''; if (env.startsWith('dev-')) { prefix = 'dev-'; } else if (env.startsWith('uat-')) { prefix = 'uat-'; } return prefix; } changeFavicon(getIconPrefixFromEnv()); </script> <script type="text/javascript"> function getCookie(c_name) { if (document.cookie.length > 0) { var c_start = document.cookie.indexOf(c_name + "="); if (c_start != -1) { c_start = c_start + c_name.length + 1; c_end = document.cookie.indexOf(";", c_start); if (c_end == -1) { c_end = document.cookie.length; } return unescape(document.cookie.substring(c_start, c_end)); } } return ""; } function createCookie(name, value, days) { var expires; if (days) { var date = new Date(); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); expires = "; expires=" + date.toGMTString(); } else { expires = ""; } document.cookie = name + "=" + value + expires + "; path=/"; } var QueryString = queryString(); var enableQueriesInFullPerspective = true; var currentPerspective = "home"; var selectedLanguage = ''; var options = { serverUrl: "", queryServerUrl: "", queryBranch: "", edition: "", release: "", showIds: false, hideNotAcceptable: true, displayInactiveDescriptions: false, displaySynonyms: true, selectedView: "inferred", displayChildren: false, languages: ["en"], languagesArray: { 'en': 'English' }, defaultLanguage: 'en', defaultAcceptLanguage: "", closeButton: false, collapseButton: false, linkerButton: true, subscribersMarker: false, searchMode: "partialMatching", searchLang: "english", diagrammingMarkupEnabled: false, statusSearchFilter: "activeOnly", highlightByEffectiveTime: "false", dailyBuildBrowser: false, publicBrowser: false, previewBrowser: false, tsBrowser: false, communityBrowser: false, communityContentReleases: [], modules: [], ecl: "", history: false }; options.updateReleaseSwitcher = function(branch, conceptId) { options.edition = branch; defaultConceptId = conceptId; for (let i = 0; i < options.releases.items.length; ++i) { let release = options.releases.items[i]; if (typeof release.latestVersion !== "undefined" && (release.latestVersion.branchPath === options.edition || release.branchPath === options.edition)) { $("#editionLabel").html(release.name + " " + release.latestVersion.version); break; } } }; options.setEcl = function(eclQuery) { options.ecl = eclQuery; }; function getCopyrightYear() { $.ajax({ type: 'GET', url: '/', success: function(data, textStatus, response) { let copyrightYear = new Date(response.getResponseHeader('Date')).getFullYear(); $('.copyright_year').text(copyrightYear); } }); } function setUILanguage() { var ui_language = ''; if (typeof(Storage) !== "undefined") { if (localStorage.getItem("ui_language")) { ui_language = localStorage.getItem("ui_language"); } } var selectedLanguageAndFlag = getSelectedLanguageAndFlag(ui_language !== '' ? ui_language : options.defaultLanguage); switchLanguage(selectedLanguageAndFlag.selectedLanguage, selectedLanguageAndFlag.selectedFlag, false); } function determineServer() { if (window.location.hostname.includes('dailybuild')) { options.dailyBuildBrowser = true; } else if (window.location.hostname.includes('community')) { options.communityBrowser = true; } else if (window.location.hostname.includes('concrete') || window.location.hostname.includes('preview')) { options.previewBrowser = true; } else if (window.location.hostname.includes('browser')) { options.publicBrowser = true; } else { // do nothing } if (options.dailyBuildBrowser) { $("#fh-daily_canvas-li").css({ "display": "block" }); } else { $("#fh-daily_canvas-li").css({ "display": "none" }); } if (options.communityBrowser) { $("#fh-commnunity_content_canvas-li").css({ "display": "block" }); } else { $("#fh-commnunity_content_canvas-li").css({ "display": "none" }); } var getCodeSystems = function() { var dfd = $.Deferred(); $.getJSON("/snowstorm/snomed-ct/codesystems", function(result) {}).done(function(result) { options.serverUrl = "/snowstorm/snomed-ct"; options.queryServerUrl = "/snowstorm/snomed-ct"; options.releases = result; const internationalEditionShortNames = ['SNOMEDCT', 'SNOMEDCT-ES', 'SNOMEDCT-DERIVATIVES']; // dynamic extension links var internationalReleases = []; var localReleases = []; options.dailyBuildReleases = []; var dailyBuildInternational = []; var dailyBuildLocal = []; options.communityContentReleases = []; if (options.releases) { for (let i = 0; i < options.releases.items.length; ++i) { var release = options.releases.items[i]; /* TODO: The default Accept language should be handled by code-system */ if (release.shortName === 'SNOMEDCT-NZ') { release.defaultAcceptLanguage = 'en-X-271000210107'; } else if (release.shortName === 'SNOMEDCT-SE') { release.defaultAcceptLanguage = 'sv-X-46011000052107'; } else if (release.shortName === 'SNOMEDCT-IE') { release.defaultAcceptLanguage = 'en-X-21000220103'; } if (internationalEditionShortNames.indexOf(release.shortName) > -1) { if (release.shortName === 'SNOMEDCT') { release.stats = true; release.mrcm = true; } internationalReleases.push(release); if (release.maintainerType && release.maintainerType === 'Community Content') { options.communityContentReleases.push(release); } else { options.dailyBuildReleases.push(release); dailyBuildInternational.push(release); } } else { if (release.maintainerType && release.maintainerType === 'Community Content') { options.communityContentReleases.push(release); } else { localReleases.push(release); if (release.dailyBuildAvailable) { options.dailyBuildReleases.push(release); dailyBuildLocal.push(release); } } } } } // sort international extensions internationalReleases.sort(function(a, b) { return internationalEditionShortNames.indexOf(a.shortName) - internationalEditionShortNames.indexOf(b.shortName); }); // sort local extensions again localReleases.sort(function(a, b) { return a.name.localeCompare(b.name); }); if (options.publicBrowser) { addEditionLinks($('#international_editions'), internationalReleases); addEditionLinks($('#local_editions'), localReleases); addStatsLinks($('#international_tools'), internationalReleases); addMrcmLink($('#international_tools'), internationalReleases); } else if (options.previewBrowser) { addEditionLinks($('#preview_editions'), internationalReleases); addMrcmLink($('#preview_mrcm'), internationalReleases); } else if (options.communityBrowser) { addEditionLinks($('#commnunity_content_editions'), options.communityContentReleases) } else if (options.dailyBuildBrowser) { addEditionLinks($('#dailybuild_editions'), dailyBuildInternational); addEditionLinks($('#dailybuild_local_editions'), dailyBuildLocal); addMrcmLink($('#dailybuild_mrcm'), internationalReleases); } else { // do nothing } dfd.resolve({ internationalReleases: internationalReleases, localReleases: localReleases }); }).fail(function() { console.log('fail'); dfd.resolve(); }); return dfd.promise(); }; var getConfig = function() { var dfd = $.Deferred(); $.ajax({ url: 'config.json', async: false, cache: false, contentType: 'application/json; charset=utf-8', dataType: 'json', success: function(data, status) { countryIcons = data.countryIcons; options.languageNameOfLangRefset = data.languageRefsetShortname; options.singleCharacterSearchLanguageRefsets = data.singleCharacterSearchLanguageRefsets; dfd.resolve(); } }); return dfd.promise(); } var getUIConfiguration = function() { var dfd = $.Deferred(); if (options.dailyBuildBrowser || options.publicBrowser || options.communityBrowser || options.previewBrowser) { options.imsUrl = null; return dfd.resolve(); } $.getJSON("/authoring-services/ui-configuration", function(result) {}).done(function(result) { options.imsUrl = result.endpoints.imsEndpoint; options.tsBrowser = true; options.language = 'en'; options.languageObject = { en: "English" }; var $header = $('#header-nav'); var $projectSpan = $('<span>'); $projectSpan.css('margin-left', '10px'); $projectSpan.html('Project'); $header.append($projectSpan); var $projectSelect = $('<select>'); $projectSelect.css('margin-top', '18px'); $projectSelect.css('margin-left', '2px'); $projectSelect.css('width', '110px'); $projectSelect.attr('id', 'projectDdl'); $header.append($projectSelect); var $taskSpan = $('<span>'); $taskSpan.css('margin-left', '10px'); $taskSpan.html('Task'); $header.append($taskSpan); var $taskSelect = $('<select>'); $taskSelect.css('margin-top', '18px'); $taskSelect.css('margin-left', '2px'); $taskSelect.css('width', '110px'); $taskSelect.attr('id', 'taskDdl'); $header.append($taskSelect); dfd.resolve(); }).fail(function() { options.imsUrl = null; dfd.resolve(); }) return dfd.promise(); }; $.when(getCodeSystems(), getUIConfiguration(), getConfig()).then(function(response) { if (options.imsUrl == null) { // Marked as public browser if both daily build and community browser could not be specifed from URL if (!options.communityBrowser && !options.dailyBuildBrowser && !options.publicBrowser && !options.previewBrowser) { options.publicBrowser = true; if (response && response.internationalReleases && response.localReleases) { addEditionLinks($('#international_editions'), response.internationalReleases); addEditionLinks($('#local_editions'), response.localReleases); addStatsLinks($('#international_tools'), response.internationalReleases); addMrcmLink($('#international_tools'), response.internationalReleases); } } $('#edition-selector').css('display', 'block'); if (options.publicBrowser) { if (options.releases) { let count = 0; for (let i = 0; i < options.releases.items.length; i++) { let release = options.releases.items[i]; if (typeof release.latestVersion !== 'undefined' && release.countryCode) { count++; $('#extension-flags').append('<div class="phoca-flagbox" style="width:16px;height:11px"><span class="phoca-flag ' + release.countryCode + '" style="width:100%;height:100%"></span></div>').append(' '); if (count !== 0 && (count % 7 === 0)) { $('#extension-flags').append('<br>'); } } } } $('#multi-extension-search').css('display', 'block'); $('#version-selector').css('display', 'block'); } } else { // do nothing } start(); }); } function addStatsLinks($statsLinks, releases) { for (let i = 0; i < releases.length; ++i) { if (releases[i].stats) { let release = releases[i]; var $span1 = $('<span>'); var $span2 = $('<span>'); $span1.text("Release Stats"); $span1.attr("style", "margin-left:15px;"); $span2.attr("class", "glyphicon glyphicon-signal").attr("style", "top: 30px; left: -50px; font-size: 18px;"); var $a = $('<a>').attr("class", "btn btn-primary btn-lg").attr("role", "button").attr("style", "height:81px; width:165px; margin-bottom:10px;"); $a.append($span1); $a.append($span2); $a.attr("href", '/qa'); $a.attr("target", "_blank"); $statsLinks.append($a); $statsLinks.append(" "); } } } function addMrcmLink($statsLinks, releases) { for (let i = 0; i < releases.length; ++i) { if (releases[i].mrcm) { let release = releases[i]; var $span1 = $('<span>'); var $span2 = $('<span>'); $span1.text("MRCM Browser"); $span1.attr("style", "margin-left:15px;"); if (options.previewBrowser) { var $a = $('<a>').attr("class", "btn btn-primary btn-lg").attr("role", "button").attr("style", "height:81px; width:253px; margin-bottom:10px;"); } else { var $a = $('<a>').attr("class", "btn btn-primary btn-lg").attr("role", "button").attr("style", "height:81px; width:165px; margin-bottom:10px;"); } $span2.attr("class", "glyphicon glyphicon-tasks").attr("style", "top: 30px; left: -70px; font-size: 18px;"); $a.append($span1); $a.append($span2); $a.attr("href", '/mrcm'); $a.attr("target", "_blank"); $statsLinks.append($a); $statsLinks.append(" "); } } } function addEditionLinks($releaseSwitcher, releases) { for (let i = 0; i < releases.length; ++i) { let release = releases[i]; if (typeof release.latestVersion !== 'undefined' || options.dailyBuildBrowser || options.communityBrowser) { var $img = '<div class="phoca-flagbox" style="' + (release.countryCode !== '' ? 'width:16px;height:11px' : 'width:20px;height:20px') + '"><span class="phoca-flag ' + (release.countryCode !== '' ? release.countryCode : 'logo') + '" style="width:100%;height:100%"></span></div>' + ' '; var $span1 = $('<span>').attr("class", "i18n").attr("data-i18n-id", "i18n_go_browsing"); $span1.text("Go browsing..."); var $span2 = $('<span>').attr("class", "small"); if (options.dailyBuildBrowser) { $span2.append(release.name + "<br>DAILY BUILD"); $("#editionLabel").html(release.name + " DAILY BUILD"); } else if (options.communityBrowser) { $span2.append(release.name + "<br>Community Content"); $("#editionLabel").html(release.name + " Community Content"); } else { $span2.append(release.name + "<br>" + release.latestVersion.version); } var $a = $('<a>').attr("class", "btn btn-primary btn-lg").attr("role", "button").attr("style", "margin-bottom : 15px"); if (!options.communityBrowser) { $a.append($img); } $a.append(" "); $a.append($span1); $a.append("<br>"); $a.append($span2); if (release.href) { $a.attr("href", release.href); $a.attr("target", "_blank"); } else { $a.attr("href", "javascript:void(0);"); $a.attr("editionCode", release.countryCode); $a.attr("codesystem-shortname", release.shortName); $a.on("click", function() { var parsedLanguages = ""; for (var language in release.languages) { parsedLanguages = parsedLanguages + language + ','; } parsedLanguages = parsedLanguages.slice(0, -1); if (options.dailyBuildBrowser) { options.edition = release.branchPath; $("#editionLabel").html(release.name + " DAILY BUILD"); } else if (options.communityBrowser) { options.edition = release.branchPath; $("#editionLabel").html(release.name + " Community Content"); if (typeof release.latestVersion !== 'undefined') { $("#fh-commnunity_content_canvas-li").css({ "display": "none" }); } else { $("#fh-commnunity_content_canvas-li").css({ "display": "block" }); } } else { options.edition = release.latestVersion.branchPath; if (options.publicBrowser) { $("#editionLabel").html(release.name); $("#versionLabel").html(release.latestVersion.version); initVersionsDropdown(release.shortName); } else { $("#editionLabel").html(release.name + " " + release.latestVersion.version); } } options.release = ''; options.languages = parsedLanguages; options.languageObject = release.languages; options.editionShortname = release.shortName; options.modules = release.modules; delete options.latestRedirect; options.defaultLanguageReferenceSets = release.defaultLanguageReferenceSets ? release.defaultLanguageReferenceSets : []; options.defaultLanguage = getDefaultLanguage(release.defaultLanguageCode, parsedLanguages); options.defaultAcceptLanguage = release.defaultAcceptLanguage ? release.defaultAcceptLanguage : ''; switchToFullHeight(404684003, 138875005); var selectedLanguageAndFlag = getSelectedLanguageAndFlag(options.defaultLanguage); switchLanguage(selectedLanguageAndFlag.selectedLanguage, selectedLanguageAndFlag.selectedFlag, false); }); } $releaseSwitcher.append($a); $releaseSwitcher.append(" "); } } } function getSelectedLanguageAndFlag(ui_language) { var language = ''; var flag = ''; if (ui_language == "en") { language = 'en'; flag = 'us'; } else if (ui_language == "es") { language = 'es'; flag = 'es'; } else if (ui_language == "sv") { language = 'sv'; flag = 'se'; } else if (ui_language == "da") { language = 'da'; flag = 'dk'; } else if (ui_language == "fr") { language = 'fr'; flag = 'fr'; } else if (ui_language == "pt") { language = 'pt'; flag = 'pt'; } else if (ui_language == "no") { language = 'no'; flag = 'no'; } else if (ui_language == "de") { language = 'de'; flag = 'de'; } else { language = 'en'; flag = 'us'; } return { 'selectedLanguage': language, 'selectedFlag': flag }; } var tours = {}; var tour; function queryString() { var query_string = {}; var query = window.location.search.substring(1); var vars = query.split("&"); for (var i = 0; i < vars.length; i++) { var pair = vars[i].split("="); if (typeof query_string[pair[0]] === "undefined") { query_string[pair[0]] = pair[1]; } else if (typeof query_string[pair[0]] === "string") { var arr = [query_string[pair[0]], pair[1]]; query_string[pair[0]] = arr; } else { query_string[pair[0]].push(pair[1]); } } return query_string; } function start() { if (options.imsUrl === null) { if (!!window.MSInputMethodContext && !!document.documentMode) { window.location.replace("http://browser.ihtsdotools.org/index-ie.html"); } } // Read parameters $.ajaxSetup({ "error": function(jqXHR, textStatus, errorThrown) { if (options.imsUrl && jqXHR.status == 403) { window.location = decodeURIComponent(options.imsUrl + 'login' + '?serviceReferer=' + window.location.href); } } }); $(function() { $.extend($.fn.disableTextSelect = function() { return this.each(function() { $(this).mousedown(function() { return false; }); }); }); $('.noSelect').disableTextSelect(); //No text selection on elements with a class of 'noSelect' }); // hide any open popovers when the anywhere else in the body is clicked $('body').on('mouseup', function(e) { $("div[class$='-popover'],div[class*='-popover ']").each(function() { if (!$(this).is(e.target) && $(this).has(e.target).length === 0 && $('.popover').has(e.target).length === 0 && $(this).hasClass("in")) { $.each($(this).attr('class').split(/\s+/), function(i, name) { if (name.indexOf('-popover') > -1) { $('#' + name.substr(0, name.indexOf('-popover'))).popover('hide'); } }); } }); }); var diagrammingMarkupEnabled = QueryString.diagrammingMarkupEnabled; if (typeof diagrammingMarkupEnabled == "undefined" || diagrammingMarkupEnabled == null || diagrammingMarkupEnabled == "") { diagrammingMarkupEnabled = false; } options.diagrammingMarkupEnabled = diagrammingMarkupEnabled; if (typeof QueryString.languages != "undefined") { options.languages = QueryString.languages; } if (QueryString.languages) { var languages = QueryString.languages.split(","); if (typeof languages == "undefined" || languages == null || languages == "") { languages = options.languages; } options.languages = languages; } // For TS Browser if (options.imsUrl) { initializeTSBrowser(); } // For Public Browser else { initializePublicBrowser(); } } function hideCommunityContentTab(release) { if (release.branchPath === QueryString.edition && options.communityBrowser && release.latestVersion) { $("#fh-commnunity_content_canvas-li").css({ "display": "none" }); } } function initializePublicBrowser() { setUILanguage(); var edition = QueryString.edition; var isLatestRedirect = true; if (QueryString.latestRedirect) { isLatestRedirect = (QueryString.latestRedirect == 'true'); options.latestRedirect = isLatestRedirect; } if (options.dailyBuildBrowser || options.communityBrowser) { var releases = options.dailyBuildBrowser ? options.dailyBuildReleases : options.communityContentReleases; if (releases.filter(function(release) { hideCommunityContentTab(release); return release.branchPath === edition; }).length !== 0) { options.edition = edition; } else { options.edition = 'MAIN'; } if (releases && releases.length > 0) { for (let i = 0; i < releases.length; i++) { let release = releases[i]; if (release.branchPath === options.edition) { options.languageObject = release.languages; options.editionShortname = release.shortName; options.defaultLanguageReferenceSets = release.defaultLanguageReferenceSets ? release.defaultLanguageReferenceSets : []; options.modules = release.modules; if (typeof release.latestVersion !== "undefined") { options.highlightByEffectiveTime = release.latestVersion.effectiveDate; } var parsedLanguages = ""; for (var language in release.languages) { parsedLanguages = parsedLanguages + language + ','; } parsedLanguages = parsedLanguages.slice(0, -1); options.defaultLanguage = getDefaultLanguage(release.defaultLanguageCode, parsedLanguages); options.defaultAcceptLanguage = release.defaultAcceptLanguage ? release.defaultAcceptLanguage : ''; break; } } } } else { if (!isLatestRedirect) { if (typeof edition !== 'undefined') { options.edition = edition; } else { console.error('Edition not found'); } } else { var filteredReleases = options.releases.items.filter(function(release) { return (typeof release.latestVersion !== "undefined") && (release.branchPath === edition || release.latestVersion.branchPath === edition); }); if (filteredReleases.length !== 0) { options.edition = filteredReleases[0].latestVersion.branchPath; } else { for (let i = 0; i < options.releases.items.length; i++) { let release = options.releases.items[i]; if (typeof release.latestVersion !== "undefined" && release.latestVersion.branchPath) { options.edition = release.latestVersion.branchPath; break; } } } } QueryString = queryString(); if (options.releases && options.releases.items && options.releases.items.length > 0) { for (let i = options.releases.items.length - 1; i >= 0; i--) { let release = options.releases.items[i]; if ((isLatestRedirect && typeof release.latestVersion !== "undefined" && release.latestVersion.branchPath === options.edition) || (!isLatestRedirect && options.edition.includes(release.branchPath))) { options.languageObject = release.languages; options.editionShortname = release.shortName; options.defaultLanguageReferenceSets = release.defaultLanguageReferenceSets ? release.defaultLanguageReferenceSets : []; options.defaultAcceptLanguage = release.defaultAcceptLanguage ? release.defaultAcceptLanguage : ''; options.modules = release.modules; var parsedLanguages = ""; for (var language in release.languages) { parsedLanguages = parsedLanguages + language + ','; } parsedLanguages = parsedLanguages.slice(0, -1); options.defaultLanguage = getDefaultLanguage(release.defaultLanguageCode, parsedLanguages); if (!QueryString || !QueryString.languages) { options.languages = parsedLanguages; } break; } } } } var cdValue1 = QueryString.conceptId1; if (typeof cdValue1 == "undefined" || cdValue1 == null || cdValue1 == "") { cdValue1 = 404684003; } var cdValue2 = QueryString.conceptId2; if (typeof cdValue2 == "undefined" || cdValue2 == null || cdValue2 == "") { cdValue2 = 404684003; } var txValue1 = QueryString.conceptIdTx1; if (typeof txValue1 == "undefined" || txValue1 == null || txValue1 == "") { txValue1 = 138875005; } var txValue2 = QueryString.conceptIdTx2; if (typeof txValue2 == "undefined" || txValue2 == null || txValue2 == "") { txValue2 = 138875005; } console.log(options); if (QueryString.perspective == "home") { initialize(); } else if (QueryString.perspective == "browsing") { currentPerspective = "browsing"; switchToBrowsing(cdValue1, cdValue2, txValue1); } else if (QueryString.perspective == "full") { currentPerspective = "full"; switchToFullHeight(cdValue1, cdValue1); } else if (QueryString.perspective == "compare_concepts") { currentPerspective = "compare_concepts"; switchToComparingConcepts(cdValue1, cdValue2); } else if (QueryString.perspective == "compare_hierarchies") { currentPerspective = "compare_hierarchies"; switchToComparingTaxonomies(cdValue1, txValue1, txValue2); } else if (QueryString.perspective == "responsive") { currentPerspective = "responsive"; switchToResponsiveLayout(cdValue1, cdValue2, txValue1) } else { initialize(); } var acceptLicense = QueryString.acceptLicense; if (typeof acceptLicense == "undefined" || acceptLicense == null || acceptLicense == "") { acceptLicense = false; } $("#navBarBrand").unbind(); $("#navBarBrand").on("click", function() { initialize(); }); $("#accept-license-button-modal").unbind(); $("#accept-license-button-modal").click(function() { createCookie("licenseCookie", "true", 2); }); options.acceptLicense = (acceptLicense == "true" || getCookie("licenseCookie") == "true"); if (!options.acceptLicense) { $('#license-modal').modal('show'); } $("#cookiescript_accept").unbind(); $("#cookiescript_accept").click(function() { createCookie("complianceCookie", "true", 2); $('#cookiescript').hide(); }); options.complianceCookie = getCookie("complianceCookie") == "true"; if (!options.complianceCookie) { $('#cookiescript').show(); } else { $('#cookiescript').hide(); } // set language one more time after finishing components initialization setUILanguage(); // RELEASES DROPDOWN HANDLER for daily build/community content if (options.dailyBuildBrowser || options.communityBrowser) { if ((options.dailyBuildBrowser && options.dailyBuildReleases) || (options.communityBrowser && options.communityContentReleases)) { var $releaseSwitcher = $('#releaseSwitcher'); var releases = options.dailyBuildBrowser ? options.dailyBuildReleases : options.communityContentReleases; for (let i = 0; i < releases.length; ++i) { let release = releases[i]; var $li = $('<li>'); var $a = $('<a>').attr("shortName", release.shortName).append(release.name + " ").append('<span style="color: dodgerblue;">' + (options.dailyBuildBrowser ? 'DAILY BUILD' : 'Community Content') + '</span>'); $a.attr("href", "javascript:void(0);"); $a.on("click", function() { var parsedLanguages = ""; if (options.communityBrowser) { if (typeof release.latestVersion !== 'undefined') { $("#fh-commnunity_content_canvas-li").css({ "display": "none" }); } else { $("#fh-commnunity_content_canvas-li").css({ "display": "block" }); } } for (var language in release.languages) { parsedLanguages = parsedLanguages + language + ','; } parsedLanguages = parsedLanguages.slice(0, -1); options.edition = release.branchPath; options.release = ''; options.languages = parsedLanguages; options.languageObject = release.languages; options.editionShortname = release.shortName; $("#editionLabel").html(release.name + (options.dailyBuildBrowser ? " DAILY BUILD" : ' Community Content')); options.defaultLanguageReferenceSets = release.defaultLanguageReferenceSets ? release.defaultLanguageReferenceSets : []; options.modules = release.modules; options.defaultLanguage = getDefaultLanguage(release.defaultLanguageCode, parsedLanguages); options.defaultAcceptLanguage = release.defaultAcceptLanguage ? release.defaultAcceptLanguage : ''; if (currentPerspective == "home") { currentPerspective = "full"; } reloadCurrentPerspective(); var selectedLanguageAndFlag = getSelectedLanguageAndFlag(options.defaultLanguage); switchLanguage(selectedLanguageAndFlag.selectedLanguage, selectedLanguageAndFlag.selectedFlag, false); }); $li.append($a); $releaseSwitcher.append($li); // set default selection for release if (options.edition && release.branchPath === options.edition) { $("#editionLabel").html(release.name + (options.dailyBuildBrowser ? " DAILY BUILD" : ' Community Content')); } } } } // RELEASES DROPDOWN HANDLER for public browser else { if (options.releases && options.releases.items) { var $releaseSwitcher = $('#releaseSwitcher'); var foundRelease = null; for (let i = 0; i < options.releases.items.length; ++i) { let release = options.releases.items[i]; if (typeof release.latestVersion !== "undefined" && (!release.maintainerType || release.maintainerType !== 'Community Content')) { var $li = $('<li>') var $a = $('<a>').attr("shortName", release.shortName).append(release.name); $a.attr("href", "javascript:void(0);"); $a.on("click", function(event) { event.stopPropagation(); var parsedLanguages = ""; for (var language in release.languages) { parsedLanguages = parsedLanguages + language + ','; } parsedLanguages = parsedLanguages.slice(0, -1); options.edition = release.latestVersion.branchPath; options.release = ''; delete options.latestRedirect; options.languages = parsedLanguages; options.languageObject = release.languages; options.editionShortname = release.shortName; options.defaultLanguageReferenceSets = release.defaultLanguageReferenceSets ? release.defaultLanguageReferenceSets : []; options.modules = release.modules; options.defaultLanguage = getDefaultLanguage(release.defaultLanguageCode, parsedLanguages); options.defaultAcceptLanguage = release.defaultAcceptLanguage ? release.defaultAcceptLanguage : ''; var selectedLanguageAndFlag = getSelectedLanguageAndFlag(options.defaultLanguage); QueryString = queryString(); if (currentPerspective == "home") { currentPerspective = "full"; } if (QueryString.conceptId1) { var checkConceptExist = function(conceptId) { var dfd = $.Deferred(); xhr = $.getJSON(options.serverUrl + "/" + options.edition + "/concepts/" + QueryString.conceptId1, function(result) { dfd.resolve(true); }).done(function(result) {}).fail(function() { dfd.resolve(false); }); return dfd.promise(); }; checkConceptExist(QueryString.conceptId1).then(function(result) { if (result) { reloadCurrentPerspective(); } else { reloadCurrentPerspective(404684003); } switchLanguage(selectedLanguageAndFlag.selectedLanguage, selectedLanguageAndFlag.selectedFlag, false); if (options.publicBrowser) { $("#editionLabel").html(release.name); $("#versionLabel").html(release.latestVersion.version); initVersionsDropdown(release.shortName); } else { $("#editionLabel").html(release.name + " " + release.latestVersion.version); } }); } else { reloadCurrentPerspective(); switchLanguage(selectedLanguageAndFlag.selectedLanguage, selectedLanguageAndFlag.selectedFlag, false); if (options.publicBrowser) { $("#editionLabel").html(release.name); $("#versionLabel").html(release.latestVersion.version); initVersionsDropdown(release.shortName); } else { $("#editionLabel").html(release.name + " " + release.latestVersion.version); } } }); $li.append($a); $releaseSwitcher.append($li); if (options.edition && release.latestVersion.branchPath === options.edition) { foundRelease = release; } } } // set default selection for release if (foundRelease) { if (options.publicBrowser) { $("#editionLabel").html(foundRelease.name); $("#versionLabel").html(foundRelease.latestVersion.version); initVersionsDropdown(foundRelease.shortName); } else { $("#editionLabel").html(foundRelease.name + " " + foundRelease.latestVersion.version); } } else { if (options.publicBrowser && /^MAIN.*\d{4}-\d{2}-\d{2}$/.test(options.edition)) { var isInternationalBranch = /^MAIN\/+\d{4}-\d{2}-\d{2}$/.test(options.edition); for (let i = 0; i < options.releases.items.length; ++i) { let release = options.releases.items[i]; if ((isInternationalBranch && release.branchPath === 'MAIN') || (!isInternationalBranch && release.branchPath !== 'MAIN' && options.edition.startsWith(release.branchPath))) { $("#editionLabel").html(release.name); $("#versionLabel").html(options.edition.substring(options.edition.lastIndexOf('/') + 1)); initVersionsDropdown(release.shortName); break; } } } } } } } function initVersionsDropdown(shortName) { $.getJSON("/snowstorm/snomed-ct/codesystems/" + shortName + "/versions?showFutureVersions=false&showInternalReleases=false", function(result) {}).done(function(result) { var $versionSwitcher = $('#versionSwitcher'); $versionSwitcher.html(""); if (result.items.length > 0) { result.items.sort(function(a, b) { return b.effectiveDate - a.effectiveDate; }); } for (let j = 0; j < result.items.length; j++) { let version = result.items[j]; var $li = $('<li>'); var $a = $('<a>').append(version.version); $a.attr("href", "javascript:void(0);"); $a.on("click", function() { if (currentPerspective == "home") { currentPerspective = "full"; } options.edition = version.branchPath; $("#versionLabel").html(version.version); reloadCurrentPerspective(); }); $li.append($a); $versionSwitcher.append($li); } }); } function getDefaultLanguage(defaultLanguageCode, parsedLanguages) { return typeof defaultLanguageCode !== 'undefined' ? defaultLanguageCode : parsedLanguages.substr(0, 2); } function initializeTSBrowser() { var selectedLanguageAndFlag = getSelectedLanguageAndFlag(options.defaultLanguage); switchLanguage(selectedLanguageAndFlag.selectedLanguage, selectedLanguageAndFlag.selectedFlag, false); var isTask = function(task) { var strArray = task.split('-'); if (strArray.length === 2 && !isNaN(strArray[1])) { return true; } return false; }; options.edition = QueryString.edition; var release = QueryString.release; if (typeof release != "undefined" && isTask(release)) { options.release = release; } $("#navBarBrand").unbind(); $("#navBarBrand").on("click", function() { window.open("https://" + getEnvPrefix() + "browser.ihtsdotools.org/", "_blank"); }); $.when(getAuth(), getProjects()).then(function(roles, projects) { if (options.managedServiceUser) { findProjectMainline(projects); } else { if (options.releases && options.releases.items && options.releases.items.length > 0) { options.editionShortname = options.releases.items[0].shortName; } } var found = projects.filter(function(item) { return item.branchPath === options.edition; }).length !== 0; if (!found || !options.edition) { if (options.managedServiceUser) { if (options.projectMainlinePath) { options.edition = options.projectMainlinePath; } else { options.edition = projects[0].branchPath; } } else { options.edition = 'MAIN'; } } findDefaultLanguageRefsetsByBranchPath(options.edition); var $projectDdl = $('#projectDdl'); if (!options.managedServiceUser) { $('<option>').val('MAIN').text('MAIN').appendTo($projectDdl); } else { if (options.projectMainlinePath) { $('<option>').val(options.projectMainlinePath).text(options.projectMainlineText).appendTo($projectDdl); } } $.each(projects, function() { $('<option>').val(this.branchPath).text(this.key).appendTo($projectDdl); }); $("#projectDdl").val(options.edition); getTasks().then(function(tasks) { if (options.release) { var found = tasks.filter(function(item) { return item.key === options.release; }).length !== 0; if (!found) { options.release = "None"; } } else { options.release = "None"; } $("#taskDdl").val(options.release); var focusConcept = QueryString.conceptId1 ? QueryString.conceptId1 : 138875005; switchToFullHeight(focusConcept, focusConcept); }); }); function getAuth() { var dfd = $.Deferred(); $.getJSON("/auth", function() {}).done(function(response) { options.managedServiceUser = response.roles.includes('ROLE_ms-users') && !response.roles.includes('ROLE_int-sca-author'); dfd.resolve(response.roles); }); return dfd.promise(); } function getProjects() { var dfd = $.Deferred(); $.getJSON("/authoring-services/projects?lightweight=true").done(function(result) { var projectsInDateFormat = []; var projectsInStringFormat = []; result.forEach(function(item) { var strArray = item.key.split('-'); if (!isNaN(strArray[0])) { projectsInDateFormat.push(item); } else { projectsInStringFormat.push(item); } }); projectsInStringFormat.sort(function(a, b) { return a.key.localeCompare(b.key); }); projectsInDateFormat.sort(function(a, b) { return b.key.localeCompare(a.key); }); result.items = projectsInStringFormat.concat(projectsInDateFormat); var projectChanged = function() { options.edition = $('#projectDdl').val(); options.release = "None"; findDefaultLanguageRefsetsByBranchPath(options.edition); reloadCurrentPerspective(null, false); getTasks(); var selectedLanguageAndFlag = getSelectedLanguageAndFlag(selectedLanguage); switchLanguage(selectedLanguageAndFlag.selectedLanguage, selectedLanguageAndFlag.selectedFlag, false); } $("#projectDdl").on("change", function(event) { projectChanged(this, event); }); dfd.resolve(result.items.length !== 0 ? result.items : []); }); return dfd.promise(); } // TASK DROPDOWN HANDLER function getTasks() { var dfd = $.Deferred(); var groupTaskList = function(taskList) { //return b.baseTimestamp - a.baseTimestamp; var map = {}; for (var i = 0; i < taskList.length; i++) { var task = taskList[i]; var strArray = task.key.split('-'); var items = []; if (strArray.length === 2 && !isNaN(strArray[1])) { if (strArray[0] in map) { items = map[strArray[0]]; } items.push(task); items.sort(function(a, b) { var strArrayA = a.key.split('-'); var strArrayB = b.key.split('-'); if (strArrayA[0] > strArrayB[0]) { return -1; } else if (strArrayA[0] < strArrayB[0]) { return 1; } else if (strArrayA.length > 1 && strArrayB.length > 1) { return parseInt(strArrayB[1]) - parseInt(strArrayA[1]); } else { return b.key.localeCompare(a.key); } }); map[strArray[0]] = items; } else { items.push(task); map[task.key] = items; } } var keys = Object.keys(map); keys.sort(function(a, b) { return a.localeCompare(b); }); var result = []; for (var i = 0; i < keys.length; i++) { result = result.concat(map[keys[i]]); } return result; }; var project = options.edition.substring(options.edition.lastIndexOf("/") + 1); if (project === 'MAIN' || (options.projectMainlinePath && options.projectMainlinePath === options.edition)) { var $taskDdl = $('#taskDdl'); options.release = "None"; $taskDdl.html(""); $('<option>').val("None").text("None").appendTo($taskDdl); return dfd.resolve([]); } $.getJSON("/authoring-services/projects/" + project + "/tasks?lightweight=true").done(function(result) { var $taskDdl = $('#taskDdl'); $taskDdl.html(""); $('<option>').val("None").text("None").appendTo($taskDdl); result = groupTaskList(result); $.each(result, function() { $('<option>').val(this.key).text(this.key).appendTo($taskDdl); }); var taskChanged = function() { options.release = $('#taskDdl').val(); reloadCurrentPerspective(null, false); var selectedLanguageAndFlag = getSelectedLanguageAndFlag(selectedLanguage); switchLanguage(selectedLanguageAndFlag.selectedLanguage, selectedLanguageAndFlag.selectedFlag, false); } $("#taskDdl").on("change", function(event) { taskChanged(this, event); }); dfd.resolve(result); }); return dfd.promise() } function findDefaultLanguageRefsetsByBranchPath(branchPath) { if (options.releases && options.releases.items && options.releases.items.length > 0) { let internationalEdition = null; let found = false; for (let i = 0; i < options.releases.items.length; i++) { let release = options.releases.items[i]; if (typeof release.branchPath !== "undefined") { if (release.branchPath === 'MAIN') { internationalEdition = release; } else { if (branchPath.includes(release.branchPath)) { options.languageObject = release.languages; options.defaultLanguageReferenceSets = release.defaultLanguageReferenceSets ? release.defaultLanguageReferenceSets : []; options.modules = release.modules; var parsedLanguages = ""; for (var language in release.languages) { parsedLanguages = parsedLanguages + language + ','; } parsedLanguages = parsedLanguages.slice(0, -1); options.languages = parsedLanguages; options.defaultLanguage = parsedLanguages.substr(0, 2); found = true; break; } } } } if (!found && internationalEdition) { options.languageObject = internationalEdition.languages; options.defaultLanguageReferenceSets = []; options.modules = internationalEdition.modules; } } } function findProjectMainline(projects) { if (options.releases && options.releases.items && options.releases.items.length > 0 && projects.length > 0) { for (let i = 0; i < options.releases.items.length; i++) { let release = options.releases.items[i]; if (typeof release.branchPath !== "undefined" && release.branchPath !== 'MAIN' && projects[0].branchPath.split('/').length > 1 && projects[0].branchPath.includes(release.branchPath)) { options.projectMainlinePath = release.branchPath; options.projectMainlineText = release.shortName; options.editionShortname = release.shortName; options.modules = release.modules; options.defaultAcceptLanguage = release.defaultAcceptLanguage ? release.defaultAcceptLanguage : ''; } } } } } function initTour() { if (typeof tours[selectedLanguage] == "undefined") { tours[selectedLanguage] = new Tour({ steps: [{ element: "nothing", title: i18n_tour_step1_fh_title, content: i18n_tour_step1_fh_text, placement: "bottom", orphan: true, backdrop: false, onShow: function(tour) { switchToFullHeight(204351007, 138875005) } }, { element: "#fh-tabs-pane", title: i18n_tour_step2_title, content: i18n_tour_step2_text, placement: "right", backdrop: true }, { element: "#fh-taxonomy_canvas-taxonomyConfigBar", title: i18n_tour_step5_title, content: i18n_tour_step5_text, placement: "bottom", backdrop: true }, { element: "#fh-taxonomy_canvas-treenode-404684003", title: i18n_tour_step10_title, content: i18n_tour_step10_text, placement: "right", backdrop: true }, { element: "#fh-taxonomy_canvas-treeicon-404684003", title: i18n_tour_step11_title, content: i18n_tour_step11_text, placement: "right", backdrop: true }, { element: "#fh-tabs", title: i18n_tour_step2_5_title, content: i18n_tour_step2_5_text, placement: "bottom", backdrop: true, onNext: function(tour) { $('#fh-tabs li:eq(1) a').tab('show') } }, { element: "#fh-tabs-pane", title: i18n_tour_step3_title, content: i18n_tour_step3_text, placement: "right", backdrop: true }, { element: "#fh-search_canvas-searchConfigBar", title: i18n_tour_step6_title, content: i18n_tour_step6_text, placement: "bottom", backdrop: true }, { element: "#fh-search_canvas", title: i18n_tour_step12_title, content: i18n_tour_step12_text, placement: "right", backdrop: true }, { element: "#fh-search_canvas-historyButton", title: i18n_tour_step13_title, content: i18n_tour_step13_text, placement: "left", backdrop: true, onNext: function(tour) { $('#fh-tabs li:eq(0) a').tab('show') } }, { element: "#fh-cd1_canvas", title: i18n_tour_step4_title, content: i18n_tour_step4_text, placement: "left", backdrop: true }, { element: "#fh-cd1_canvas-configButton", title: i18n_tour_step7_title, content: i18n_tour_step7_text, placement: "left", backdrop: true }, /*{ element: "#fh-taxonomy_canvas-linkerButton", title: i18n_tour_step8_title, content: i18n_tour_step8_text, placement: "left", backdrop: true }, { element: "#bp-taxonomy_canvas-subscribersMarker", title: i18n_tour_step9_title, content: i18n_tour_step9_text, placement: "right", backdrop: true },*/ { element: "#details-tabs-fh-cd1_canvas", title: i18n_tour_step13_1_title, content: i18n_tour_step13_1_text, placement: "bottom", backdrop: true }, { element: "#fh-cd1_canvas-panelBody", title: i18n_tour_step13_2_title, content: i18n_tour_step13_2_text, placement: "left", backdrop: true, onNext: function(tour) { $('#details-tabs-fh-cd1_canvas li:eq(1) a').tab('show') } }, { element: "#fh-cd1_canvas-panelBody", title: i18n_tour_step13_3_title, content: i18n_tour_step13_3_text, placement: "left", backdrop: true }, { element: "#fh-cd1_canvas-attributesClip", title: i18n_tour_step14_title, content: i18n_tour_step14_text, placement: "left", backdrop: true, onNext: function(tour) { initialize() } }, { element: "nothing", title: i18n_tour_step15_title, content: i18n_tour_step15_text, placement: "bottom", orphan: true, backdrop: true } ], storage: false, debug: false, template: "<div class='popover tour'><div class='arrow'></div><h3 class='popover-title'></h3><div class='popover-content'></div><div class='popover-navigation'><button class='btn btn-default' data-role='prev'>« " + i18n_tour_prev + "</button><span data-role='separator'>|</span><button class='btn btn-default' data-role='next'>" + i18n_tour_next + " »</button><button class='btn btn-default' data-role='end'>" + i18n_tour_end_tour + "</button></div></div>" }); tour = tours[selectedLanguage]; tour.init(); } else { tour = tours[selectedLanguage]; } } function tourStart() { if (tour.ended()) { tour.restart(); } else { tour.start(); } } function initialize() { var historyUrl = "?"; manualStateChange = false; var state = { name: "Home", conceptId: "", url: historyUrl }; History.pushState(state, "SNOMED CT - Home"); window.history.pushState("", "", "?"); componentsRegistry = []; postal.unsubscribeFor(); currentPerspective = "home"; if (options.dailyBuildBrowser) { $("#welcome-perspective-dailybuild").css({ "display": "block" }); } else if (options.communityBrowser) { $("#welcome-perspective-community-content").css({ "display": "block" }); } else if (options.previewBrowser) { $("#welcome-perspective-preview").css({ "display": "block" }); } else { $("#welcome-perspective").css({ "display": "block" }); } $("#browsing-perspective").css({ "display": "none" }); $("#comparing-concepts-perspective").css({ "display": "none" }); $("#comparing-taxonomies-perspective").css({ "display": "none" }); $("#full-height-perspective").css({ "display": "none" }); $("#responsive-perspective").css({ "display": "none" }); $("#perspectiveLabel").html("<span class='i18n' data-i18n-id='i18n_full_perspective'>" + jQuery.i18n.prop('i18n_full_perspective') + "</span>"); $('.more-fields-button').popover('hide'); } function switchToBrowsing(cd1Value, cd2Value, txValue1) { currentPerspective = "browsing"; postal.unsubscribeFor(); if (typeof componentsRegistry != "undefined") { $.each(componentsRegistry, function(i, field) { field = null; }); componentsRegistry = []; } $("#welcome-perspective").css({ "display": "none" }); $("#welcome-perspective-dailybuild").css({ "display": "none" }); $("#welcome-perspective-community-content").css({ "display": "none" }); $("#welcome-perspective-preview").css({ "display": "none" }); $("#browsing-perspective").css({ "display": "block" }); $("#comparing-concepts-perspective").css({ "display": "none" }); $("#comparing-taxonomies-perspective").css({ "display": "none" }); $("#full-height-perspective").css({ "display": "none" }); $("#responsive-perspective").css({ "display": "none" }); $("#perspectiveLabel").html("Browsing"); var tpt = new taxonomyPanel(document.getElementById("bp-taxonomy_canvas"), txValue1, options); var spa = new searchPanel(document.getElementById("bp-search_canvas"), options); var cdPanel1 = new conceptDetails(document.getElementById("bp-cd1_canvas"), cd1Value, options); var cdPanel2 = new conceptDetails(document.getElementById("bp-cd2_canvas"), cd2Value, options); cdPanel1.subscribe(tpt); cdPanel1.setupCanvas(); cdPanel2.subscribe(spa); cdPanel2.setupCanvas(); loadLanguageRefsets().then(function(result) { cdPanel1.setLangugeRefsets(result.languageRefsets); cdPanel2.setLangugeRefsets(result.languageRefsets); spa.setLanguageRefsets(result.languageRefsets); tpt.setLanguageRefsets(result.languageRefsets); }); $('#spliter2').split({ orientation: 'vertical', limit: 20, position: '30%' }); $('#searchDetails').split({ orientation: 'horizontal', limit: 10 }); $('#details').split({ orientation: 'vertical', limit: 20 }); $.each(componentsRegistry, function(i, field) { field.loadMarkers(); }); } function switchToComparingConcepts(conceptId) { QueryString = queryString(); var cdValue1 = conceptId ? conceptId : QueryString.conceptId1; if (typeof cdValue1 == "undefined" || cdValue1 == null || cdValue1 == "") { cdValue1 = 404684003; } var cdValue2 = QueryString.conceptId2; if (typeof cdValue2 == "undefined" || cdValue2 == null || cdValue2 == "") { if (typeof cdValue1 == "undefined" || cdValue1 == null || cdValue1 == "") { cdValue2 = 404684003; } else { cdValue2 = cdValue1; } } currentPerspective = "compare_concepts"; postal.unsubscribeFor(); if (typeof componentsRegistry != "undefined") { $.each(componentsRegistry, function(i, field) { field = null; }); componentsRegistry = []; } $("#welcome-perspective").css({ "display": "none" }); $("#welcome-perspective-dailybuild").css({ "display": "none" }); $("#welcome-perspective-community-content").css({ "display": "none" }); $("#welcome-perspective-preview").css({ "display": "none" }); $("#browsing-perspective").css({ "display": "none" }); $("#comparing-concepts-perspective").css({ "display": "block" }); $("#comparing-taxonomies-perspective").css({ "display": "none" }); $("#full-height-perspective").css({ "display": "none" }); $("#responsive-perspective").css({ "display": "none" }); $("#perspectiveLabel").html("<span class='i18n' data-i18n-id='i18n_comp_concepts_perspective'>" + jQuery.i18n.prop('i18n_comp_concepts_perspective') + "</span>"); var spa = new searchPanel(document.getElementById("cc-search_canvas"), options); var cdPanel1 = new conceptDetails(document.getElementById("cc-cd1_canvas"), cdValue1, options); var cdPanel2 = new conceptDetails(document.getElementById("cc-cd2_canvas"), cdValue2, options); cdPanel1.subscribe(spa); cdPanel1.setupCanvas(); cdPanel2.setupCanvas(); loadLanguageRefsets().then(function(result) { cdPanel1.setLangugeRefsets(result.languageRefsets); cdPanel2.setLangugeRefsets(result.languageRefsets); spa.setLanguageRefsets(result.languageRefsets); }); $('#comparing-concepts-wrapper').split({ orientation: 'horizontal' }); $('#comparing-concept-details').split({ orientation: 'vertical' }); $.each(componentsRegistry, function(i, field) { field.loadMarkers(); }); } function switchToComparingTaxonomies(cd1Value, txValue1, txValue2) { currentPerspective = "compare_hierarchies"; postal.unsubscribeFor(); if (typeof componentsRegistry != "undefined") { $.each(componentsRegistry, function(i, field) { field = null; }); componentsRegistry = []; } $("#welcome-perspective").css({ "display": "none" }); $("#welcome-perspective-dailybuild").css({ "display": "none" }); $("#welcome-perspective-community-content").css({ "display": "none" }); $("#welcome-perspective-preview").css({ "display": "none" }); $("#browsing-perspective").css({ "display": "none" }); $("#comparing-concepts-perspective").css({ "display": "none" }); $("#comparing-taxonomies-perspective").css({ "display": "block" }); $("#full-height-perspective").css({ "display": "none" }); $("#responsive-perspective").css({ "display": "none" }); $("#perspectiveLabel").html("<span class='i18n' data-i18n-id='i18n_comp_hier_perspective'>" + jQuery.i18n.prop('i18n_comp_hier_perspective') + "</span>"); var tx1 = new taxonomyPanel(document.getElementById("ct-tx1_canvas"), txValue1, options); var tx2 = new taxonomyPanel(document.getElementById("ct-tx2_canvas"), txValue2, options); var spa = new searchPanel(document.getElementById("ct-search_canvas"), options); var cdPanel1 = new conceptDetails(document.getElementById("ct-cd1_canvas"), cd1Value, options); cdPanel1.subscribe(tx2); cdPanel1.subscribe(tx1); cdPanel1.subscribe(spa); cdPanel1.setupCanvas(); loadLanguageRefsets().then(function(result) { cdPanel1.setLangugeRefsets(result.languageRefsets); spa.setLanguageRefsets(result.languageRefsets); tx1.setLanguageRefsets(result.languageRefsets); tx2.setLanguageRefsets(result.languageRefsets); tx1.updateCanvas(); tx2.updateCanvas(); }); $('#comparing-taxonomies-wrapper').split({ orientation: 'horizontal' }); $('#taxonomies-canvas-wrapper').split({ orientation: 'vertical' }); $('#search-cd-wrapper').split({ orientation: 'vertical' }); $.each(componentsRegistry, function(i, field) { field.loadMarkers(); }); } function switchToFullHeight(focusSearchTab) { QueryString = queryString(); var cdValue1 = QueryString.conceptId1; var txValue1 = QueryString.conceptId1; if (typeof cdValue1 == "undefined" || cdValue1 == null || cdValue1 == "") { cdValue1 = 404684003; txValue1 = 404684003; } var cdValue2 = QueryString.conceptId2; if (typeof cdValue2 == "undefined" || cdValue2 == null || cdValue2 == "") { if (typeof cdValue1 == "undefined" || cdValue1 == null || cdValue1 == "") { cdValue2 = 404684003; } else { cdValue2 = cdValue1; } } currentPerspective = "full"; postal.unsubscribeFor(); if (typeof componentsRegistry != "undefined") { $.each(componentsRegistry, function(i, field) { field = null; }); componentsRegistry = []; } $("#welcome-perspective").css({ "display": "none" }); $("#welcome-perspective-dailybuild").css({ "display": "none" }); $("#welcome-perspective-community-content").css({ "display": "none" }); $("#welcome-perspective-preview").css({ "display": "none" }); $("#browsing-perspective").css({ "display": "none" }); $("#comparing-concepts-perspective").css({ "display": "none" }); $("#comparing-taxonomies-perspective").css({ "display": "none" }); $("#full-height-perspective").css({ "display": "block" }); $("#responsive-perspective").css({ "display": "none" }); $("#perspectiveLabel").html("<span class='i18n' data-i18n-id='i18n_full_perspective'>" + jQuery.i18n.prop('i18n_full_perspective') + "</span>"); options.subscribersMarker = false; options.linkerButton = false; options.disableRefsetsInitialLoad = true; var tpt = new taxonomyPanel(document.getElementById("fh-taxonomy_canvas"), txValue1, options); var fav = new favoritePanel(document.getElementById("fh-favorites_canvas"), options); var ref = new refsetPanel(document.getElementById("fh-refset_canvas"), options); var spa = new searchPanel(document.getElementById("fh-search_canvas"), options); var cdPanel1 = new conceptDetails(document.getElementById("fh-cd1_canvas"), cdValue1, options); var qpa = new queryComputerPanel(document.getElementById("fh-query_canvas"), options); if (options.dailyBuildBrowser) { var dai = new dailyBuildPanel(document.getElementById("fh-daily_canvas"), options); cdPanel1.subscribe(dai); } if (options.communityBrowser) { var com = new communityContentPanel(document.getElementById("fh-commnunity_content_canvas"), options); cdPanel1.subscribe(com); } $("#fh-query_canvas-li").show(); options.fhTaxonomyCanvasLoaded = false; $("#fh-taxonomies_canvas-li").unbind(); $("#fh-taxonomies_canvas-li").click(function() { if (!options.fhTaxonomyCanvasLoaded) { tpt.updateCanvas(); options.fhTaxonomyCanvasLoaded = true; } }); cdPanel1.subscribe(qpa); cdPanel1.subscribe(tpt); cdPanel1.subscribe(spa); cdPanel1.subscribe(fav); cdPanel1.subscribe(ref); cdPanel1.setupCanvas(); loadLanguageRefsets().then(function(result) { cdPanel1.setLangugeRefsets(result.languageRefsets); spa.setLanguageRefsets(result.languageRefsets); ref.renderRefsets(result.referenceSets); qpa.setLanguageRefsets(result.languageRefsets); tpt.setLanguageRefsets(result.languageRefsets); }); if (window.screen.width > 1500) { $('#spliter-fh').split({ orientation: 'vertical', limit: 20, position: '40%' }); } else { $('#spliter-fh').split({ orientation: 'vertical', limit: 20, position: '50%' }); } if (typeof QueryString.searchTerm != "undefined") { $('#fh-tabs li:eq(1) a').tab('show'); searchInPanel(spa.divElement.id, decodeURI(QueryString.searchTerm)); } $.each(componentsRegistry, function(i, field) { if (field.loadMarkers) field.loadMarkers(); }); // Focus Search Panel if (typeof focusSearchTab === "undefined" || focusSearchTab) { $('#fh-tabs li:eq(1) a').tab('show'); $('#fh-search_canvas-searchBox').focus(); } } function switchToResponsiveLayout(cd1Value, cd2Value, txValue1) { currentPerspective = "responsive"; postal.unsubscribeFor(); if (typeof componentsRegistry != "undefined") { $.each(componentsRegistry, function(i, field) { field = null; }); componentsRegistry = []; } $("#welcome-perspective").css({ "display": "none" }); $("#welcome-perspective-dailybuild").css({ "display": "none" }); $("#welcome-perspective-community-content").css({ "display": "none" }); $("#welcome-perspective-preview").css({ "display": "none" }); $("#browsing-perspective").css({ "display": "none" }); $("#comparing-concepts-perspective").css({ "display": "none" }); $("#comparing-taxonomies-perspective").css({ "display": "none" }); $("#full-height-perspective").css({ "display": "none" }); $("#responsive-perspective").css({ "display": "block" }); $("#perspectiveLabel").html("<span class='i18n' data-i18n-id='i18n_responsive'>" + jQuery.i18n.prop('i18n_responsive') + "</span>"); var tpt = new taxonomyPanel(document.getElementById("rp-taxonomy_canvas"), txValue1, options); var spa = new searchPanel(document.getElementById("rp-search_canvas"), options); var cdPanel1 = new conceptDetails(document.getElementById("rp-cd1_canvas"), cd1Value, options); var cdPanel2 = new conceptDetails(document.getElementById("rp-cd2_canvas"), cd2Value, options); cdPanel1.subscribe(tpt); cdPanel1.setupCanvas(); cdPanel2.subscribe(spa); cdPanel2.setupCanvas(); loadLanguageRefsets().then(function(result) { cdPanel1.setLangugeRefsets(result.languageRefsets); cdPanel2.setLangugeRefsets(result.languageRefsets); spa.setLanguageRefsets(result.languageRefsets); tpt.setLanguageRefsets(result.languageRefsets); tpt.updateCanvas(); }); $('#spliter2').split({ orientation: 'vertical', limit: 20, position: '30%' }); $('#searchDetails').split({ orientation: 'horizontal', limit: 10 }); $('#details').split({ orientation: 'vertical', limit: 20 }); $.each(componentsRegistry, function(i, field) { field.loadMarkers(); }); } function loadLanguageRefsets() { var dfd = $.Deferred(); var branch = options.edition; if (options.release.length > 0 && options.release !== 'None') { branch = branch + "/" + options.release; }; $.ajaxSetup({ headers: { 'Accept-Language': options.languages } }); $.getJSON(options.serverUrl + "/browser/" + branch + "/members?active=true&limit=1", function(result) {}).done(function(result) { var languageRefsets = []; Object.keys(result.referenceSets).forEach(function(key) { if (result.referenceSets[key].referenceSetType && result.referenceSets[key].referenceSetType.id === '900000000000506000') { languageRefsets.push(result.referenceSets[key]); } }); languageRefsets.sort(function(a, b) { if (a.conceptId === '900000000000509007') { return -1; } if (b.conceptId === '900000000000509007') { return 1; } return a.fsn.term.localeCompare(b.fsn.term); }); dfd.resolve({ 'referenceSets': result, 'languageRefsets': languageRefsets }); }).fail(function() { dfd.reject(); }); return dfd.promise(); } function reloadCurrentPerspective(conceptId, focusSearchTab) { QueryString = queryString(); var cdValue1 = conceptId ? conceptId : QueryString.conceptId1; if (typeof cdValue1 == "undefined" || cdValue1 == null || cdValue1 == "") { cdValue1 = 404684003; } var cdValue2 = QueryString.conceptId2; if (typeof cdValue2 == "undefined" || cdValue2 == null || cdValue2 == "") { cdValue2 = 404684003; } var txValue1 = QueryString.conceptIdTx1; if (typeof txValue1 == "undefined" || txValue1 == null || txValue1 == "") { txValue1 = 138875005; } var txValue2 = QueryString.conceptIdTx2; if (typeof txValue2 == "undefined" || txValue2 == null || txValue2 == "") { txValue2 = 138875005; } if (currentPerspective == "home") { initialize(); } else if (currentPerspective == "browsing") { switchToBrowsing(cdValue1, cdValue2, txValue1); } else if (currentPerspective == "full") { switchToFullHeight(focusSearchTab); } else if (currentPerspective == "compare_concepts") { switchToComparingConcepts(cdValue1, cdValue2); } else if (currentPerspective == "compare_hierarchies") { switchToComparingTaxonomies(cdValue1, txValue1, txValue2); } else if (currentPerspective == "responsive") { switchToResponsiveLayout(cdValue1, cdValue2, txValue1) } else { currentPerspective = "home"; initialize(); } } function markTaxonomyTabAsLoaded() { options.fhTaxonomyCanvasLoaded = true; } //PWI 20161108 This function went missing at some point. Returning as urgent P1 function verifyDate(release) { var now = new Date(); //console.log("releasedate is " + release); //console.log(release.substring(1, 5) + " " + release.substring(5, 7) + " " + release.substring(7, 9)); var releaseDate = new Date(release.substring(1, 5), release.substring(5, 7) - 1, release.substring(7, 9)); if (releaseDate < now) { // console.log("bien"); $("#alert-section").html(""); } else { // console.log("expirada"); var alertHtml = '<div class="alert alert-danger" id="outdated-alert">'; alertHtml = alertHtml + '<a href="#" class="close" data-dismiss="alert">×</a>'; alertHtml = alertHtml + '<strong>Warning!</strong> the release you are browsing is expired.'; alertHtml = alertHtml + '</div>'; $("#alert-section").html(alertHtml); $("#outdated-alert").alert(); } } function switchLanguage(language, flagPng, fade) { selectedLanguage = language; if (typeof(Storage) !== "undefined") { localStorage.setItem("ui_language", language); } $("#nav-selected-flag").html('<div class="phoca-flagbox" style="width:16px;height:11px"><span class="phoca-flag ' + flagPng + '" style="width:100%;height:100%"></span></div>'); $("#nav-selected-flag-modal").html('<div class="phoca-flagbox" style="width:16px;height:11px"><span class="phoca-flag ' + flagPng + '" style="width:100%;height:100%"></span></div>'); jQuery.i18n.properties({ name: 'Languages', path: 'i18n/', mode: 'both', language: language, cache: true }); $(".i18n").each(function(index) { var translation = jQuery.i18n.prop($(this).attr('data-i18n-id')); if (translation != "[" + $(this).attr('data-i18n-id') + "]") { if (fade) { $(this).fadeOut("slow", function() { $(this).html(translation); $(this).fadeIn("slow"); }); } else { $(this).html(translation); } } else { console.log($(this).attr('data-i18n-id') + " = " + $(this).html()); } }); var i18n_search_placeholder = jQuery.i18n.prop('i18n_search_placeholder'); var i18n_ecl_search_option_placeholder = jQuery.i18n.prop('i18n_ecl_search_option_placeholder'); if (fade) { $('#fh-search_canvas-searchBox').fadeOut("slow", function() { $('#fh-search_canvas-searchBox').attr('placeholder', i18n_search_placeholder); $('#fh-search_canvas-searchBox').fadeIn("slow"); }); $('#fh-query_canvas-searchBoxOption').fadeOut("slow", function() { $('#fh-query_canvas-searchBoxOption').attr('placeholder', i18n_ecl_search_option_placeholder); $('#fh-query_canvas-searchBoxOption').fadeIn("slow"); }); } else { $('#fh-search_canvas-searchBox').attr('placeholder', i18n_search_placeholder); $('#fh-query_canvas-searchBoxOption').attr('placeholder', i18n_ecl_search_option_placeholder); } initTour(); $("#navBarBrand").tooltip().tooltip('destroy'); $("#navBarBrand").tooltip({ placement: 'bottom', trigger: 'hover', title: i18n_go_back_home, animation: true, delay: 1000 }); $("#fh-search_canvas-historyButton").tooltip().tooltip('destroy'); $("#fh-search_canvas-historyButton").tooltip({ placement: 'left', trigger: 'hover', title: i18n_history, animation: true, delay: 1000 }); $("#fh-taxonomy_canvas-historyButton").tooltip().tooltip('destroy'); $("#fh-taxonomy_canvas-historyButton").tooltip({ placement: 'left', trigger: 'hover', title: i18n_history, animation: true, delay: 1000 }); $("#fh-cd1_canvas-historyButton").tooltip().tooltip('destroy'); $("#fh-cd1_canvas-historyButton").tooltip({ placement: 'left', trigger: 'hover', title: i18n_history, animation: true, delay: 1000 }); } </script> <script> function openEclBuilder() { var eclString = $('#fh-query_canvas-ExpText').val(); var valueContainsApostropheChar = false; if (eclString && eclString.indexOf("'") >= 0) { valueContainsApostropheChar = true; } if (valueContainsApostropheChar) { $('body').append('<ecl-builder id="ecl-builder" branch=' + options.edition + ' api-url="/snowstorm/snomed-ct" ecl-string="' + eclString + '"></ecl-builder>'); } else { $("body").append("<ecl-builder id='ecl-builder' branch=" + options.edition + " api-url='/snowstorm/snomed-ct' ecl-string='" + eclString + "'></ecl-builder>"); } const el = document.querySelector('ecl-builder'); el.addEventListener('output', e => { $('#fh-query_canvas-ExpText').val(e.detail); if (typeof options.setEcl !== 'undefined') { options.setEcl(e.detail); } }); } </script> <style> .ribbon { background-color: #a00; overflow: hidden; white-space: nowrap; position: absolute; left: -47px; top: 22px; -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); -o-transform: rotate(-45deg); transform: rotate(-45deg); } .ribbon span { border: 1px solid #faa; color: #fff; display: block; font: bold 100% 'Helvetica Neue', Helvetica, Arial, sans-serif; margin: 1px 0; padding: 3px 70px; text-align: center; text-decoration: none; } .navbar-brand { margin-top: 4px; } .navbar .navbar-btn { margin-left: 10px; } </style> </head> <body onLoad="getCopyrightYear(); determineServer();" style="height: 100%; display: block;"> <nav class="navbar navbar-default navbar-static-top" role="navigation"> <div> <!-- Brand and toggle get grouped for better mobile display --> <div class="navbar-header" id="header-nav"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="javascript:void(0);" id="navBarBrand"> <strong> SNOMED CT Browser</strong></a> </div> <!-- Collect the nav links, forms, and other content for toggling --> <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1" style="padding-left: 20px; padding-right: 20px;"> <ul class="nav navbar-nav navbar-right"> <li class="navbar-btn" id="edition-selector" style="display: none"> <button type="button" class="btn btn-success dropdown-toggle" data-toggle="dropdown"> <span class="i18n" data-i18n-id="i18n_release">Release</span>: <span id="editionLabel"></span> <span class="caret"></span> </button> <ul class="dropdown-menu" id="releaseSwitcher" role="menu"> </ul> </li> <li class="navbar-btn" id="version-selector" style="display: none"> <button type="button" class="btn btn-success dropdown-toggle" data-toggle="dropdown"> <span class="i18n" data-i18n-id="i18n_version">Version</span>: <span id="versionLabel"></span> <span class="caret"></span> </button> <ul class="dropdown-menu" id="versionSwitcher" role="menu" style="max-height: 600px;overflow: auto;"> </ul> </li> <li class="navbar-btn" id="perspective-selector"> <button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown"> <span class="i18n" data-i18n-id="i18n_perspective">Perspective</span>: <span id="perspectiveLabel"><em>...</em></span> <span class="caret"></span> </button> <ul class="dropdown-menu"> <li><a href="javascript:void(0);" onclick="switchToFullHeight();"><span class="i18n" data-i18n-id="i18n_full_perspective">Full</span></a></li> <li><a href="javascript:void(0);" onclick="switchToComparingConcepts();"><span class="i18n" data-i18n-id="i18n_comp_concepts_perspective">Comparing concepts</span></a></li> <li><a href="javascript:void(0);" onclick="switchToComparingTaxonomies(404684003, 138875005, 138875005);"><span class="i18n" data-i18n-id="i18n_comp_hier_perspective">Comparing hierarchy</span></a></li> <!-- <li><a href="javascript:void(0);" onclick="switchToResponsiveLayout(404684003, 404684003, 138875005);"><span class="i18n" data-i18n-id="i18n_responsive_perspective">Responsive (tablets, phones)</span></a></li>--> </ul> </li> <li class="navbar-btn feedback-button"> <button type="button" class="btn btn-info" onclick="FreshWidget.show(); return false;"> <span class="i18n" data-i18n-id="i18n_feedback">Feedback</span> </button> </li> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown"><span class="i18n" data-i18n-id="i18n_about">Help</span> <b class="caret"></b></a> <ul class="dropdown-menu"> <li><a href="http://snomed.org/snomedtools-privacy" target=_blank>SNOMED International Privacy Policy</a></li> <li class="divider"></li> <li><a href="https://github.com/IHTSDO/sct-browser-frontend" target="_blank"><span class="i18n" data-i18n-id="i18n_github">See the code on GitHub</span></a></li> <li class="divider"></li> <li><a href="https://confluence.ihtsdotools.org/display/SCTBROWSERUG" target="_blank">User Guide</a></li> <li class="divider"></li> <li><a href="https://www.snomed.org/snomed-ct/software-tools" target="_blank">SNOMED International Tooling</a></li> <li><a href="http://www.snomed.org" target="_blank">SNOMED International</a></li> </ul> </li> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown"><span id="nav-selected-flag"></span> <b class="caret"></b></a> <ul class="dropdown-menu"> <li> <a href="javascript:void(0);" onclick="switchLanguage('en', 'us', true);"> <div class="phoca-flagbox" style="width:16px;height:11px"><span class="phoca-flag us" style="width:100%;height:100%"></span></div> English</a> </li> <li> <a href="javascript:void(0);" onclick="switchLanguage('da', 'dk', true);"> <div class="phoca-flagbox" style="width:16px;height:11px"><span class="phoca-flag dk" style="width:100%;height:100%"></span></div> Dansk</a> </li> <li> <a href="javascript:void(0);" onclick="switchLanguage('es', 'es', true);"> <div class="phoca-flagbox" style="width:16px;height:11px"><span class="phoca-flag es" style="width:100%;height:100%"></span></div> Español</a> </li> <li> <a href="javascript:void(0);" onclick="switchLanguage('fr', 'fr', true);"> <div class="phoca-flagbox" style="width:16px;height:11px"><span class="phoca-flag fr" style="width:100%;height:100%"></span></div> Français</a> </li> <li> <a href="javascript:void(0);" onclick="switchLanguage('de', 'de', true);"> <div class="phoca-flagbox" style="width:16px;height:11px"><span class="phoca-flag de" style="width:100%;height:100%"></span></div> Deutsch</a> </li> <li> <a href="javascript:void(0);" onclick="switchLanguage('pt', 'pt', true);"> <div class="phoca-flagbox" style="width:16px;height:11px"><span class="phoca-flag pt" style="width:100%;height:100%"></span></div> Português</a> </li> <li> <a href="javascript:void(0);" onclick="switchLanguage('no', 'no', true);"> <div class="phoca-flagbox" style="width:16px;height:11px"><span class="phoca-flag no" style="width:100%;height:100%"></span></div> Norsk</a> </li> <li> <a href="javascript:void(0);" onclick="switchLanguage('sv', 'se', true);"> <div class="phoca-flagbox" style="width:16px;height:11px"><span class="phoca-flag se" style="width:100%;height:100%"></span></div> Swedish</a> </li> <li class="divider"></li> <li style="margin: 5px;"><em><span class="i18n text-muted small" data-i18n-id="i18n_translation_warning">This option only applies to the Browser. Terminology language depends on the selected edition.</span></em></li> </ul> </li> <li> <p class="pull-right"> <a href="http://www.snomed.org" target="_blank"> <div class="phoca-flagbox pull-right visible-lg" style="width:110px;height: 48px;" alt="SNOMED International delivering SNOMED, the global clinical terminology"><span class="phoca-flag snomed-logo"></span></div> </a> </li> </ul> </div> <!-- /.navbar-collapse --> </div> <!-- /.container-fluid --> </nav> <div id="alert-section"> </div> <div class="container-fluid" style="height: 100%"> <!-- Welcome Perspective --> <div id="welcome-perspective" class="bperspective"> <div class="jumbotron"> <h1><span class="i18n" data-i18n-id="i18n_welcome_2nd">SNOMED International's SNOMED CT Browser</span></h1> <p><span class="i18n" data-i18n-id="i18n_home1">SNOMED International's SNOMED CT Browser provides ways to browse and search SNOMED CT. The browser has been implemented as part of development within the SNOMED International Open Tooling Framework, by SNOMED International and its development partners</span></p> <p><span class="i18n" data-i18n-id="i18n_home5">The Browser is provided by the SNOMED International to anyone for reference purposes and the interface and REST APIs are <strong>not</strong> to be used as part of production systems. There are other tools developed by SNOMED International for Members for the use in health care settings.<br>Any abuse of the REST APIs will result in the offending IP address being banned from accessing the browser.</span></p> <p><span class="i18n" data-i18n-id="i18n_home3">Please provide any feedback by clicking on the feedback button at the top of the page. Your feedback is essential to the evolution and improvement of this service.</span></p> <p class="i18n" data-i18n-id="i18n_home9">This site has been optimized for the Google Chrome browser and <strong>it will not work with Internet Explorer.</strong></p> <div class="row"> <div class="col-md-6" style="padding-left:15px;"> <h2><span class="i18n" data-i18n-id="i18n_international_editions">International Editions</span></h2> <div id="international_editions" style="margin-bottom : 0px;"></div> </div> <div class="col-md-6"> <h2><span class="i18n" data-i18n-id="i18n_international_tools">Additional Information</span></h2> <div id="international_tools" style="margin-bottom : 0px"></div> </div> </div> <h2 style="margin-top : 2px"><span class="i18n" data-i18n-id="i18n_local_extensions">Local Extensions</span></h2> <p id="local_editions" style="margin-bottom : 0px"></p> <p id="multi-extension-search" style="display: none;"> <a class="btn btn-primary btn-lg" role="button" onclick="window.location.href='multi-extension-search.html'" style="width: 160px;"> <span class="i18n" data-i18n-id="i18n_go_browsing">Go browsing...</span><br><span class="small">All Editions</span><br><span id="extension-flags" style="font-size: 10px"></span></a> </p> <p> <span class="i18n" data-i18n-id="i18n_or">or</span> <a class="btn btn-primary " role="button" onclick="tourStart();"><span class="i18n" data-i18n-id="i18n_take_tour">take the Tour...</span></a></p> <h2 style="margin-top : 2px"> <span class="i18n" data-i18n-id="i18n_home10">Externally Hosted Extensions</span> </h2> <a class="btn btn-primary btn-lg" role="button" style="margin-bottom : 15px" href="https://termbrowser.nhs.uk/" target="_blank"> <div class="phoca-flagbox" style="width:16px;height:11px"><span class="phoca-flag gb" style="width:100%;height:100%"></span></div> <span class="i18n" data-i18n-id="i18n_go_browsing">Go browsing...</span><br><span class="small">United Kingdom edition<br>(hosted by the UK)</span></a> <a class="btn btn-primary btn-lg" role="button" style="margin-bottom : 15px; margin-left: 2px" href="https://snomedsns.es/" target="_blank"> <div class="phoca-flagbox" style="width:16px;height:11px"><span class="phoca-flag es" style="width:100%;height:100%"></span></div> <span class="i18n" data-i18n-id="i18n_go_browsing">Go browsing...</span><br><span class="small">Spain edition<br>(hosted by Spain)</span></a> <p><span class="i18n" data-i18n-id="i18n_home8">Many thanks to the SNOMED International Member countries who have provided their extensions in this browser. If you would like to enquire further about any of the Member country extensions in this browser, please contact the relevant National Release Center via the URL's below:</span></p> <p class="lead"> <span class="phoca-flagbox" style="width:16px;height:16px"><span class="phoca-flag ar"></span></span> <a href="https://www.argentina.gob.ar/salud/snomed" target="_blank">SNOMED Argentina</a> <br><span class="phoca-flagbox" style="width:16px;height:11px"><span class="phoca-flag au" style="width:100%;height:100%"></span></span> <a href="https://www.digitalhealth.gov.au/" target="_blank">Australian Digital Health Agency</a> <br><span class="phoca-flagbox" style="width:16px;height:11px"><span class="phoca-flag be" style="width:100%;height:100%"></span></span> <a href="http://www.terminology-center.be/" target="_blank">Federal Public Service Health, Food Chain Safety and Environment, Belgium</a> <br><span class="phoca-flagbox" style="width:16px;height:11px"><span class="phoca-flag ca" style="width:100%;height:100%"></span></span> <a href="https://ic.infoway-inforoute.ca/" target="_blank">Canada Health Infoway, Canada</a> <br><span class="phoca-flagbox" style="width:16px;height:11px"><span class="phoca-flag dk" style="width:100%;height:100%"></span></span> <a href="https://sundhedsdatastyrelsen.dk/" target="_blank">The Danish Health Data Authority, Denmark</a> <br><span class="phoca-flagbox" style="width:16px;height:11px"><span class="phoca-flag nl" style="width:100%;height:100%"></span></span> <a href="https://www.nictiz.nl/" target="_blank">Nictiz, Netherlands</a> <br><span class="phoca-flagbox" style="width:16px;height:11px"><span class="phoca-flag se" style="width:100%;height:100%"></span></span> <a href="https://www.socialstyrelsen.se" target="_blank">The National Board of Health and Welfare, Sweden</a> <br><span class="phoca-flagbox" style="width:16px;height:11px"><span class="phoca-flag gb" style="width:100%;height:100%"></span></span> <a href="https://digital.nhs.uk/article/290/Terminology-and-Classifications" target="_blank">UK Terminology Centre, NHS Digital, United Kingdom</a> <br><span class="phoca-flagbox" style="width:16px;height:11px"><span class="phoca-flag us" style="width:100%;height:100%"></span></span> <a href="http://www.nlm.nih.gov/" target="_blank">National Library of Medicine (NLM), United States</a> <br><span class="phoca-flagbox" style="width:16px;height:11px"><span class="phoca-flag uy" style="width:100%;height:100%"></span></span> <a href="http://www.agesic.gub.uy/innovaportal/v/4425/1/agesic/programa-saluduy.html" target="_blank">Salud.uy, Uruguay</a> <br><span class="phoca-flagbox" style="width:16px;height:11px"><span class="phoca-flag nz" style="width:100%;height:100%"></span></span> <a href="https://www.health.govt.nz/nz-health-statistics/classification-and-terminology/new-zealand-snomed-ct-national-release-centre" target="_blank">New Zealand SNOMED CT National Release Centre</a> </p> <p><span class="i18n" data-i18n-id="i18n_home4">If you would like to get involved in the development, this code is available under an Apache v2 open source license. You can also find more information on the current backlog of feedback that is up for possible development here - <a href="https://confluence.ihtsdotools.org/display/TOOLS/SNOMED+CT+Browser" target="_blank">SNOMED International Browser service page</a></span></p> </div> <p><span class="i18n" data-i18n-id="i18n_home6"><span class="btn-success"><em>Releases</em></span> will allow the selection of SNOMED CT content from the International Edition or other extensions, with specific dates.</span> </p> <p><span class="i18n" data-i18n-id="i18n_home7"><span class="btn-primary"><em>Perspectives</em></span> are pre-defined browsing layouts for specific purposes. Use the <a href="javascript:void(0);" onclick="switchToResponsiveLayout(404684003, 404684003, 138875005);">responsive perspective</a> for best results in tablets and phones.</span> </p> <p><strong><a href="http://snomed.org/snomedtools-privacy" target=_blank>SNOMED International Privacy Policy</a></strong> <span id="csconsentlink">Cookie Settings</span></small> </p> <br> <br> </div> <!-- Welcome Perspective DailyBuild --> <div id="welcome-perspective-dailybuild" class="bperspective"> <div class="jumbotron"> <h1>Daily Build SNOMED CT Browser</h1> <p>This is a browser for the SNOMED CT Daily Build.</p> <h2><span class="text-warning">Warning</span></h2> <p>This browser contains a test build of the terminology for evaluation purposes only. There can be no expectation of continuity of identifiers, descriptions text or changes in components (e.g. relationships).</p> <p>No new concepts or identifiers may be used in clinical systems.</p> <p id="dailybuild_editions" style="margin-bottom : 0px"></p> <p id="dailybuild_mrcm" style="margin-bottom : 0px"></p> <!--<a class="btn btn-primary btn-lg" role="button" onclick="switchRelease('Daily Build Edition 20200131', 'en-edition', 'v20200131', '', '900000000000509007', 'https://prod-dailybuild.ihtsdotools.org/api/snomed');switchToFullHeight(404684003, 138875005);"><img src="img/box-logo.png" style="height:20px"> <span class="i18n" data-i18n-id="i18n_start_browsing">Start browsing...</span><br><span class="small">Daily Build edition</span></a>--> </p> <p id="lastUpdatedText"></p> <h3>Other Daily Builds:</h3> <p id="dailybuild_local_editions" style="margin-bottom : 0px"></p> </div> <p><span class="i18n" data-i18n-id="i18n_home6"><span class="btn-success"><em>Releases</em></span> will allow the selection of SNOMED CT content from the International Edition or other extensions, with specific dates.</span> </p> <p><span class="i18n" data-i18n-id="i18n_home7"><span class="btn-primary"><em>Perspectives</em></span> are pre-defined browsing layouts for specific purposes. Use the <a href="javascript:void(0);" onclick="switchToResponsiveLayout(404684003, 404684003, 138875005);">responsive perspective</a> for best results in tablets and phones.</span> </p> <p><strong><a href="http://snomed.org/snomedtools-privacy" target=_blank>SNOMED International Privacy Policy</a></strong></small> </p> <p> <small><b>© SNOMED International <span class="copyright_year"/></b> v<span>3.43.1</span><br></small> </p> </div> <!-- Welcome Perspective Community Content --> <div id="welcome-perspective-community-content" class="bperspective"> <div class="jumbotron" style="background-color:darkgray"> <h1>Community Content Browser</h1> <p style="padding-top:20px; font-weight: bold">For more information on the Community Content platform and the content provided within this browser visit - <a href="http://snomed.org/community-content">snomed.org/community-content</a></p> <p>This browser contains the first, draft view into different content projects being created collaboratively by the SNOMED community in the <strong>Community Content area</strong>. This content has not been verified by SNOMED International but has been quality assured by those working on each project.</p> <p>At this stage, it is strongly recommended to not use any new concepts or identifiers in production clinical data.</p> <p>Future iterations of this browser will provide ways for you to provide feedback on any new content that you see in a project.</p> <p id="commnunity_content_editions" style="margin-bottom : 0px"></p> </div> <p><span class="i18n" data-i18n-id="i18n_home6"><span class="btn-success"><em>Releases</em></span> will allow the selection of SNOMED CT content from the International Edition or other extensions, with specific dates.</span> </p> <p><span class="i18n" data-i18n-id="i18n_home7"><span class="btn-primary"><em>Perspectives</em></span> are pre-defined browsing layouts for specific purposes. Use the <a href="javascript:void(0);" onclick="switchToResponsiveLayout(404684003, 404684003, 138875005);">responsive perspective</a> for best results in tablets and phones.</span> </p> <p><strong><a href="http://snomed.org/snomedtools-privacy" target=_blank>SNOMED International Privacy Policy</a></strong></small> </p> <p> <small><b>© SNOMED International <span class="copyright_year"/></b> v<span>3.43.1</span><br></small> </p> </div> <!-- Welcome Perspective Preview Browser --> <div id="welcome-perspective-preview" class="bperspective"> <div class="jumbotron"> <h1>SNOMED CT Concrete Domains Technical Preview Browser</h1> <p style="padding-top:20px;">This Concrete Domains (CD) Technical Preview (TP) has been published in line with the SNOMED CT January 2021 International Edition, with drug concept strengths and counts expressed as concrete values in the new Relationships file.</p> <p>It is a full RF2 International Edition package (as opposed to a standalone Delta file containing only Concrete Domains), containing all the January 2021 International content together with the new CD Relationships file. The release files offer a preview of the final release package contents and format once the CD transition is complete.</p> <p>The CD TP Browser presents the TP content through the familiar SNOMED CT Browser user interface for ease of viewing and consideration of the impact and scope of the changes. Whilst browsing the content you can use the Feedback button in the header bar to send your thoughts and questions to SNOMED International via a pop-up form.</p> <p style="padding-bottom:20px;">The CD TP Browser is optimized for the Google Chrome web browser, but may be usable in other modern web browsers, such as Safari, Firefox and Microsoft Edge. Internet Explorer is not supported since it is now deprecated by Microsoft in favour of Microsoft Edge.</p> <h2><span class="i18n" data-i18n-id="i18n_international_editions">International Editions</span></h2> <p id="preview_editions" style="margin-bottom : 0px"></p> <p id="preview_mrcm" style="margin-bottom : 0px"></p> </div> <p><span class="i18n" data-i18n-id="i18n_home6"><span class="btn-success"><em>Releases</em></span> will allow the selection of SNOMED CT content from the International Edition or other extensions, with specific dates.</span> </p> <p><span class="i18n" data-i18n-id="i18n_home7"><span class="btn-primary"><em>Perspectives</em></span> are pre-defined browsing layouts for specific purposes. Use the <a href="javascript:void(0);" onclick="switchToResponsiveLayout(404684003, 404684003, 138875005);">responsive perspective</a> for best results in tablets and phones.</span> </p> <p><strong><a href="http://snomed.org/snomedtools-privacy" target=_blank>SNOMED International Privacy Policy</a></strong></small> </p> <p> <small><b>© SNOMED International <span class="copyright_year"/></b> v<span>3.43.1</span><br></small> </p> </div> <!-- Browsing Perspective --> <div id="browsing-perspective" class="bperspective"> <div id="spliter2" class="row" style="width:100%; height: 91%; position: absolute;"> <div class="a panel panel-default" style="border-radius: 0px;"> <div id="bp-taxonomy_canvas" style="padding: 0px;margin: 0;"></div> </div> <div class="" id="searchDetails"> <div class="row panel panel-default" style="border-radius: 0px;"> <div class="col-md-12" id="bp-search_canvas" style="padding: 0px;margin: 0;"></div> </div> <div class="" id="details"> <div class="col-md-6 panel panel-default" style="border-radius: 0px;"> <div class="col-md-12" id="bp-cd1_canvas" style="padding: 0px;margin: 0;"></div> </div> <div class="col-md-6 panel panel-default" style="border-radius: 0px;"> <div class="col-md-12" id="bp-cd2_canvas" style="padding: 0px;margin: 0;"></div> </div> </div> </div> </div> </div> <footer> </footer> <!-- Comparing concepts --> <div id="comparing-concepts-perspective" class="bperspective"> <div id="comparing-concepts-wrapper" class="row" style="width:100%; height: 91%; position: absolute;"> <div class="" id="comparing-concept-details"> <div class="col-md-6" style="padding: 0px;margin: 0;"> <div class="col-md-12" id="cc-cd1_canvas" style="padding: 0px;margin: 0;"></div> </div> <div class="col-md-6" style="padding: 0px;margin: 0;"> <div class="col-md-12" id="cc-cd2_canvas" style="padding: 0px;margin: 0;"></div> </div> </div> <div class=""> <div class="col-md-12" id="cc-search_canvas" style="padding: 0px;margin: 0;"></div> </div> </div> </div> <!-- Comparing hierarchy --> <div id="comparing-taxonomies-perspective" class="bperspective"> <div id="comparing-taxonomies-wrapper" class="row" style="width:100%; height: 91%; position: absolute;"> <div class="" id="taxonomies-canvas-wrapper"> <div class="col-md-6" style="padding: 0px;margin: 0;"> <div class="col-md-12" id="ct-tx1_canvas" style="padding: 0px;margin: 0;"></div> </div> <div class="col-md-6" style="padding: 0px;margin: 0;"> <div class="col-md-12" id="ct-tx2_canvas" style="padding: 0px;margin: 0;"></div> </div> </div> <div class="" id="search-cd-wrapper"> <div class="col-md-6" style="padding: 0px;margin: 0;"> <div class="col-md-12" id="ct-search_canvas" style="padding: 0px;margin: 0;"></div> </div> <div class="col-md-6" style="padding: 0px;margin: 0;"> <div class="col-md-12" id="ct-cd1_canvas" style="padding: 0px;margin: 0;"></div> </div> </div> </div> </div> <!-- Full Perspective --> <div id="full-height-perspective" class="bperspective"> <div id="spliter-fh" class="row" style="width:100%; height: 91%; position: absolute;"> <div class="a panel panel-default" id="fh-tabs-pane" style="border-radius: 0px;"> <!-- Nav tabs --> <ul class="nav nav-tabs" id="fh-tabs"> <li id="fh-taxonomies_canvas-li"> <a href="#fh-taxonomy_canvas" data-toggle="tab"> <div> <span ondrop="dropT(event, 'fh-taxonomy_canvas');$('#fh-tabs a:first').tab('show');markTaxonomyTabAsLoaded();" ondragleave="removeHighlight();" ondragover="allowDrop(event)" class="i18n" data-i18n-id="i18n_taxonomy">Taxonomy</span> </div> </a> </li> <li class="active"><a href="#fh-search_canvas" data-toggle="tab"><span class="i18n" data-i18n-id="i18n_search">Search</span></a></li> <li id="fh-favorites_canvas-li"><a href="#fh-favorites_canvas" data-toggle="tab"><span class="i18n" data-i18n-id="i18n_favorites">Favorites</span></a></li> <li id="fh-refset_canvas-li"><a href="#fh-refset_canvas" data-toggle="tab" id="fh-refset_canvas-link"><span class="i18n" data-i18n-id="i18n_refset">Refset</span></a></li> <li id="fh-daily_canvas-li"><a href="#fh-daily_canvas" data-toggle="tab"><span class="i18n" data-i18n-id="i18n_daily_build">Daily Build</span></a></li> <li id="fh-commnunity_content_canvas-li"><a href="#fh-commnunity_content_canvas" data-toggle="tab"><span class="i18n" data-i18n-id="i18n_community_content">Community Content</span></a></li> <!--<li id="fh-query_canvas-li"><a href="#fh-query_canvas" data-toggle="tab"><span class="i18n" data-i18n-id="i18n_constraint">Constraint</span></a></li>--> </ul> <div class="tab-content" id="left-nav-tabs"> <div class="tab-pane" id="fh-taxonomy_canvas" style="padding: 0px;margin: 0;"></div> <div class="tab-pane active" id="fh-search_canvas" style="padding: 0px;margin: 0;"></div> <div class="tab-pane" id="fh-favorites_canvas" style="padding: 0px;margin: 0;"></div> <div class="tab-pane" id="fh-refset_canvas" style="padding: 0px;margin: 0;"></div> <div class="tab-pane" id="fh-daily_canvas" style="padding: 0px;margin: 0;"></div> <div class="tab-pane" id="fh-commnunity_content_canvas" style="padding: 0px;margin: 0;"></div> <!--<div class="tab-pane" id="fh-query_canvas" style="padding: 0px;margin: 0;"></div>--> </div> </div> <div class="a panel panel-default" id="fh-tabs-pane2" style="border-radius: 0px;"> <ul class="nav nav-tabs" id="fh-tabs2"> <li class="active"><a href="#fh-cd1_canvas-pane" data-toggle="tab"><span class="i18n" data-i18n-id="i18n_concept_details">Concept Details</span></a></li> <li id="fh-query_canvas-li"><a href="#fh-query_canvas" data-toggle="tab"><span class="i18n" data-i18n-id="i18n_expression_constraint_queries">Expression Constraint Queries</span></a></li> </ul> <div class="tab-content"> <div class="tab-pane active" id="fh-cd1_canvas-pane" style="padding: 0px;margin: 0;"> <div class="col-md-12" id="fh-cd1_canvas" style="padding: 0px;margin: 0;"></div> </div> <div class="tab-pane" id="fh-query_canvas" style="padding: 0px;margin: 0;"></div> </div> </div> </div> </div> <!-- Responsive Perspective --> <div id="responsive-perspective" class="bperspective"> <div id="comparing-taxonomies-wrapper3" class="row" style="width:100%; height: 91%; position: absolute;padding: 0px !important;margin: 0 !important;"> <div class="row"> <div id="rp-taxonomy_canvas" class="col-sm-6" style="height: 500px;padding: 0px;margin: 0;border: 1px solid gainsboro;"></div> <div id="rp-cd1_canvas" class="col-sm-6" style="height: 500px;padding: 0px;margin: 0;border: 1px solid gainsboro;"></div> <div id="rp-search_canvas" class="col-sm-6" style="height: 500px;padding: 0px;margin: 0;border: 1px solid gainsboro;"></div> <div id="rp-cd2_canvas" class="col-sm-6" style="height: 500px;padding: 0px;margin: 0;border: 1px solid gainsboro;"></div> </div> </div> </div> </div> <!-- License agreement modal --> <div class="modal fade" id="license-modal" data-backdrop="static"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h4 class="modal-title"><span class="i18n" data-i18n-id="i18n_licence_agreement">SNOMED International SNOMED CT Browser License Agreement</span></h4> </div> <div class="modal-body"> <p><span class="i18n" data-i18n-id="i18n_licence_agreement_1">In order to use the SNOMED International SNOMED CT Browser, please accept the following license agreement</span>:</p> <div style="height: 300px; overflow: auto; margin: 20px; border: 1px solid; padding: 10px;"> <p><span class="i18n" data-i18n-id="i18n_licence_agreement_2"><strong>SNOMED International SNOMED CT Browser</strong> includes SNOMED Clinical Terms® (SNOMED CT®) which is used by permission of SNOMED International. All rights reserved. SNOMED CT® was originally created by the College of American Pathologists.</span> <span class="i18n" data-i18n-id="i18n_licence_agreement_3">“SNOMED”, “SNOMED CT” and “SNOMED Clinical Terms” are registered trademarks of the SNOMED International (<a href="http://www.snomed.org">www.snomed.org</a>).</span></p> <p><span class="i18n" data-i18n-id="i18n_licence_agreement_4">Use of SNOMED CT in <strong>SNOMED International SNOMED CT Browser</strong> is governed by the conditions of the following SNOMED CT license issued by the SNOMED International</span>:</p> <p style="margin-left: 20px;">1. <span class="i18n" data-i18n-id="i18n_licence_agreement_5">The meaning of the terms “Affiliate”, or “Data Analysis System”, “Data Creation System”, “Derivative”, “End User”, “Extension”, “Member”, “Non-Member Territory”, “SNOMED CT” and “SNOMED CT Content” are as defined in the SNOMED International Affiliate License Agreement (see www.snomed.org/license.pdf)</span>.</p> <p style="margin-left: 20px;">2. <span class="i18n" data-i18n-id="i18n_licence_agreement_6">Information about Affiliate Licensing is available at <a href="http://snomed.org/license-affiliate">http://snomed.org/license-affiliate</a>. Individuals or organizations wishing to register as SNOMED International Affiliates can register at <a href="https://mlds.ihtsdotools.org">mlds.ihtsdotools.org</a>, subject to acceptance of the Affiliate License Agreement (see <a href="http://snomed.org/license-affiliate">http://snomed.org/license-affiliate)</a></span>.</p> <p style="margin-left: 20px;">3. <span class="i18n" data-i18n-id="i18n_licence_agreement_7">The current list of SNOMED International Member Territories can be viewed at <a href="http://snomed.org/members">snomed.org/members</a>. Countries not included in that list are “Non-Member Territories”</span>.</p> <p style="margin-left: 20px;">4. <span class="i18n" data-i18n-id="i18n_licence_agreement_8">End Users, that do not hold an SNOMED International Affiliate License, may access SNOMED CT® using <strong>SNOMED International SNOMED CT Browser</strong> subject to acceptance of and adherence to the following sub-license limitations</span>:</p> <p style="margin-left: 40px;">a) <span class="i18n" data-i18n-id="i18n_licence_agreement_9">The sub-licensee is only permitted to access SNOMED CT® using this software (or service) for the purpose of exploring and evaluating the terminology</span>.</p> <p style="margin-left: 40px;">b) <span class="i18n" data-i18n-id="i18n_licence_agreement_10">The sub-licensee is not permitted the use of this software as part of a system that constitutes a SNOMED CT “Data Creation System” or “Data Analysis System”, as defined in the SNOMED International Affiliate License. This means that the sub-licensee must not use <strong>SNOMED International SNOMED CT Browser</strong> to add or copy SNOMED CT identifiers into any type of record system, database or document</span>.</p> <p style="margin-left: 40px;">c) <span class="i18n" data-i18n-id="i18n_licence_agreement_11">The sub-licensee is not permitted to translate or modify SNOMED CT Content or Derivatives</span>.</p> <p style="margin-left: 40px;">d) <span class="i18n" data-i18n-id="i18n_licence_agreement_12">The sub-licensee is not permitted to distribute or share SNOMED CT Content or Derivatives</span>.</p> <p style="margin-left: 20px;">5. <span class="i18n" data-i18n-id="i18n_licence_agreement_13">SNOMED International Affiliates may use <strong>SNOMED International SNOMED CT Browser</strong> as part of a “Data Creation System” or “Data Analysis System” subject to the following conditions</span>:</p> <p style="margin-left: 40px;">a) <span class="i18n" data-i18n-id="i18n_licence_agreement_14">The SNOMED International Affiliate, using <strong>SNOMED International SNOMED CT Browser</strong> must accept full responsibility for any reporting and fees due for use or deployment of such a system in a Non-Member Territory</span>.</p> <p style="margin-left: 40px;">b) <span class="i18n" data-i18n-id="i18n_licence_agreement_15">The SNOMED International Affiliate must not use <strong>SNOMED International SNOMED CT Browser</strong> to access or interact with SNOMED CT in any way that is not permitted by the Affiliate License Agreement</span>.</p> <p style="margin-left: 40px;">c) <span class="i18n" data-i18n-id="i18n_licence_agreement_16">In the event of termination of the Affiliate License Agreement, the use of <strong>SNOMED International SNOMED CT Browser</strong> will be subject to the End User limitations noted in 4</span>.</p> </div> </div> <div class="modal-footer"> <a href="http://www.snomed.org" class="btn btn-danger"><span class="i18n" data-i18n-id="i18n_reject">Reject</span></a> <button id="accept-license-button-modal" type="button" class="btn btn-success" data-dismiss="modal"><span class="i18n" data-i18n-id="i18n_accept">Accept</span></button> <div class="btn-group dropup pull-left"> <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"> <span id="nav-selected-flag-modal"></span> <span class="caret"></span> </button> <ul class="dropdown-menu" role="menu"> <li class="pull-left"> <a href="javascript:void(0);" onclick="switchLanguage('en', 'us', true);"> <div class="phoca-flagbox" style="width:16px;height:11px"><span class="phoca-flag us" style="width:100%;height:100%"></span></div> English</a> </li> <li class="pull-left"> <a href="javascript:void(0);" onclick="switchLanguage('es', 'es', true);"> <div class="phoca-flagbox" style="width:16px;height:11px"><span class="phoca-flag es" style="width:100%;height:100%"></span></div> Español</a> </li> <li class="pull-left"> <a href="javascript:void(0);" onclick="switchLanguage('da', 'dk', true);"> <div class="phoca-flagbox" style="width:16px;height:11px"><span class="phoca-flag dk" style="width:100%;height:100%"></span></div> Dansk</a> </li> <li class="pull-left"> <a href="javascript:void(0);" onclick="switchLanguage('pt', 'pt', true);"> <div class="phoca-flagbox" style="width:16px;height:11px"><span class="phoca-flag pt" style="width:100%;height:100%"></span></div> Português</a> </li> <li class="pull-left"> <a href="javascript:void(0);" onclick="switchLanguage('se', 'se', true);"> <div class="phoca-flagbox" style="width:16px;height:11px"><span class="phoca-flag se" style="width:100%;height:100%"></span></div> Svenska</a> </li> </ul> </div> </div> </div> <!-- /.modal-content --> </div> <!-- /.modal-dialog --> </div> <!-- /.modal --> <div id="footer"> <a class="footer-link" href="http://www.snomed.org/" target="_blank">Copyright © 2024 SNOMED International</a> <a class="footer-link" href="https://confluence.ihtsdotools.org/display/SCTBROWSERUG" target="_blank">User Guide</a> <a class="footer-link" href="http://www.snomed.org/contact-us/" target="_blank">Contact Us</a> <a class="footer-link inactive">v<span>3.43.1</span></a> </div> <!-- Using Freshdesk Widget for feedback --> <script type="text/javascript" src="https://s3.amazonaws.com/assets.freshdesk.com/widget/freshwidget.js"></script> <script type="text/javascript"> FreshWidget.init("", { "queryString": "&widgetType=popup&formTitle=SNOMED+CT+Browser+Feedback&submitTitle=Send+Feedback&submitThanks=Thank+you+for+your+feedback&captcha=yes&searchArea=no", "utf8": "✓", "backgroundImage": "https://s3.amazonaws.com/assets.freshdesk.com/widget/help-button.png", "widgetType": "popup", "buttonType": "image", "buttonText": "Support", "buttonColor": "white", "buttonBg": "#00aadd", "alignment": "1", "offset": "-1500px", "submitThanks": "Thank you for your feedback", "formHeight": "500px", "captcha": "yes", "url": "https://ihtsdo.freshdesk.com" }); </script> <script type="text/javascript"> var $buoop = {}; $buoop.ol = window.onload; window.onload = function() { try { if ($buoop.ol) $buoop.ol(); } catch (e) {} var e = document.createElement("script"); e.setAttribute("type", "text/javascript"); e.setAttribute("src", "//browser-update.org/update.js"); document.body.appendChild(e); } </script> <script type="text/javascript" src="external-libs/iubenda-cookies.js"></script> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-MFCMKEHSYB"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-MFCMKEHSYB'); </script> <script> // History capture of the manual back and forward buttons manualStateChange = true; History.Adapter.bind(window, 'statechange', function() { // Note: We are using statechange instead of popstate if (manualStateChange == true) { // BACK BUTTON WAS PRESSED var State = History.getState(); // Note: We are using History.getState() instead of event.state if (State.data && State.data.url) { //console.log("Back button! ", State.data.name); if (State.data.url.indexOf("acceptLicense") == -1) { State.data.url = State.data.url + "&acceptLicense=true"; } window.location.href = State.data.url; } } manualStateChange = true; }); </script> </body> </html>