Österreichischer e-Health-Terminologie-Browser
2.8.0+20240725 - TerminoloGit

Setup (en)

Für die deutsche Version bitte hier klicken.

Quickstart

Please refer to the Quickstart for setting up your own TerminoloGit.

Reset TerminoloGit

If you want to have a fresh start with TerminoloGit, it is advisable to delete all terminology related information from the forked project.

Refer to the description of how to delete a terminology in order to reset your TerminoloGit fork.

Add Landing Page

TerminoloGit expects the following files:

  • input/pagecontent/index.html
  • input/pagecontent/index_en.html

The primary language is de, hence, index.html should contain the German version of the landing page. On the other hand, index_en.html should contain the English version of the landing page.

Note, if one or both of these files are not provided they will automatically contain the content of technical_documentation_de.html and technical_documentation_en.html, respectively.

CI/CD Variables

The following table lists all CI/CD variables that may be used to configure the functionality of TerminoloGit. Apart from the Description and Required columns the columns represent the fields required to be filled when creating a CI/CD variable in GitLab.

KeyDescriptionRequiredValue (example)TypeEnvironment scopeProtect variableMask variableExpand variable reference
[username]_GITLAB_CI_TOKEN

Use your GitLab.com username as part of the CI/CD variable name.
Allows to push certain results created within the pipelines to the repository.yesCreate a personal access token with the scopes api and read_userVariableAllnoyesno
RUNNER_TAGSpecifies which SaaS runner from GitLab.com will be used by the pipeline jobs.yesDepending on your GitLab.com plan you can choose between the following SaaS runners on Linux, e.g. saas-linux-medium-amd64.VariableAllnonono
RUNNER_TAG_FOR_IG_RUNUsed only for the run_ig Job. Specifies which SaaS runner from GitLab.com will be used by the pipeline jobs.yesDepending on your GitLab.com plan you can choose between the following SaaS runners on Linux, e.g. saas-linux-medium-amd64.VariableAllnonono
TERMGIT_CANONICALSpecifies the canoncical URL for the created FHIR® IG and is being used as base URL for those terminologies that have not yet specified their own canonical.yeshttps://[username].gitlab.io/termgit-devVariableAllnonono
TERMGIT_HTML_PROJECTGitLab project path to the TerminoloGit HTML project that shall host the static HTML pages produced by the HL7® FHIR® IG publisher.yes[username]/terminologit-dev-htmlVariableAllnonono
TERMGIT_HTML_PROJECT_DEFAULT_BRANCHDefault branch of the TerminoloGit HTML project.yesmasterVariableAllnonono
TERMGIT_BOT_CI_TOKENPersonal access token of a fallback GitLab user account which is allowed to execute push operations in case the user executing the pipeline lacks of required permissions. This comes handy in case of external terminology providers.noimagine-this-is-a-tokenVariableAllnoyesno
TERMGIT_BOT_USER_NAMEGitLab user name of the fallback user.Yes, if TERMGIT_BOT_CI_TOKEN is used.bot-nameVariableAllnonono
TERMGIT_BOT_EMAILE-Mail of the fallback userYes, if TERMGIT_BOT_CI_TOKEN is used.bot@email.comVariableAllnonono
IG_PUBLISHER_URLUse this to use a specific version of the HL7® FHIR® IG Publisher. If this variable is not set, the IG publisher which is shipped with the docker image elgagmbh/fsh-ing-grounds will be used.nocurrent version: https://github.com/HL7/fhir-ig-publisher/releases/latest/download/publisher.jar
specific version:https://github.com/HL7/fhir-ig-publisher/releases/download/1.3.28/publisher.jar
VariableAllnonono
GITLAB_CI_TOKENCreated by create_gitlab_ci_token.sh and contains the token used to push to other GitLab repositories.automatically createdsome_CI_tokenVariableAllnonono
GITLAB_USER_OR_TERMGIT_BOT_EMAILCreated by create_gitlab_ci_token.sh and contains the e-mail address which will be used to configure Git within a job.automatically createdsome@email.comVariableAllnonono
GITLAB_USER_OR_TERMGIT_BOT_NAMECreated by create_gitlab_ci_token.sh and contains the user name which will be used to configure Git within a job.automatically createdsome_user_nameVariableAllnonono
CI_DO_FULL_IGPUB_CREATION_IN_BRANCHBy default, only within the default branch all terminologies will be processed by the IG publisher. If this variable is set to any value, all terminologies will be processed by the IG publisher in any branch.notrueVariableAllnonono
TURN_OFF_VERIFICATION_IN_REST_CALLSIf set to true, no certificate verification will be carried out.nofalseVariableAllnonono
IG_PUB_TEMPLATE_URLURL of the repository hosting the template which is to be used for the IG publisher. If not specified https://gitlab.com/elga-gmbh/terminologit-template.git will be used.nohttps://github.com/HL7/ig-template-base.gitVariableAllnonono
IG_PUB_TEMPLATE_BRANCHBranch of the template repository (see IG_PUB_TEMPLATE_URL) which is to be used for the IG publisher. If not specified the respective default branch will be used.nodevVariableAllnonono
JAVA_OPTSAllows to pass options to the Java call for the IG Publisher.no-Xms13g -Xmx13g -XX:+UseG1GCVariableAllnonono

The following CI/CD variables predefined by GitLab do also have an effect on TerminoloGit:

KeyDescriptionValue (example)
CI_COMMIT_BRANCHThe commit branch name.dev
CI_DEFAULT_BRANCHThe name of the project’s default branch.main
CI_COMMIT_TITLEThe full first line of the commit message, also known as commit title. Commit messages which start with AUTOMATIC_COMMIT shall not trigger a pipeline. Refer to the chapter explaining how to start a pipeline to see how a pipeline can be triggered without commit.Add terminology
CI_PIPELINE_SOURCEHow the pipeline was triggered.push, pipeline, etc.
CI_JOB_TOKENA token to authenticate with certain API endpoints. The token is valid as long as the job is running. Used for cloning other GitLab repositories.some_CI_token
GITLAB_USER_LOGINThe username of the user who started the pipeline, unless the job is a manual job. In manual jobs, the value is the username of the user who started the job.gitlab_user_name
CI_PROJECT_PATHThe project namespace with the project name included.elga-gmbh/termgit-dev

Integration Test

For integration tests the following additional CI/CD variables are required.

KeyDescriptionRequiredValue (example)TypeEnvironment scopeProtect variableMask variableExpand variable reference
MALAC_CT_PROJECTGitLab project path of the MaLaC-CT project to be used for the integration test.Yes, if the pipeline has not been started within the MaLaC-CT project.elga-gmbh/malac-ctVariableAllnonono
MALAC_CT_PROJECT_BRANCHBranch of the MaLaC-CT project to be checked out for the integration test.Yes, if the pipeline has not been started within the MaLaC-CT project.mainVariableAllnonono
CS_INPUT_FORMATFile format to be used as source for code systems by MaLaC-CT for creating all other file formats.Yes, if the pipeline has not been started within the MaLaC-CT project..1.propcsv.xlsxVariableAllnonono
VS_INPUT_FORMATFile format to be used as source for value sets by MaLaC-CT for creating all other file formats.Yes, if the pipeline has not been started within the MaLaC-CT project..1.propcsv.xlsxVariableAllnonono
TERMGIT_TERMINOLOGIES_PROJECTGitLab project path of the TerminoloGit project whose terminologies will be used within the integration test.Yes, if the pipeline has not been started within the MaLaC-CT project.elga-gmbh/termgitVariableAllnonono
TERMGIT_TERMINOLOGIES_PROJECT_BRANCHBranch of the TerminoloGit project whose terminologies will be used within the integration test.Yes, if the pipeline has not been started within the MaLaC-CT project.mainVariableAllnonono

The following CI/CD variables predefined by GitLab do also have an effect on the integration test:

KeyDescriptionValue (example)
CI_PIPELINE_SOURCEHow the pipeline was triggered.pipeline (required)
CI_JOB_URLThe job details URL. Used to create the download page of a terminology.https://some_url