CTS2-LE Installation and Deployment: Unterschied zwischen den Versionen
Billig (Diskussion | Beiträge) |
Billig (Diskussion | Beiträge) |
||
| Zeile 30: | Zeile 30: | ||
Since the resource root is one of the building blocks of CTS2-LE, no arbitrary manipulation of the files within the directory should be done. Only apply changes to the files which are described in this section. | Since the resource root is one of the building blocks of CTS2-LE, no arbitrary manipulation of the files within the directory should be done. Only apply changes to the files which are described in this section. | ||
</div> | </div> | ||
| − | In order to permanently set the environment variable, it is recommended to create a '''setenv.sh''' script in the '''$ | + | In order to permanently set the environment variable, it is recommended to create a '''setenv.sh''' script in the '''$CATALINA_HOME/bin''' directory and add the following lines: |
#!/bin/bash | #!/bin/bash | ||
CTS2LE_RESOURCE_ROOT=/path/to/directory | CTS2LE_RESOURCE_ROOT=/path/to/directory | ||
Version vom 29. Dezember 2015, 17:09 Uhr
This section describes how to install and deploy a CTS2-LE server instance along with the navigator front-end. It has to be ensured that the system fulfils the defined prerequisites. The following steps are aligned to the recommended system environment and hence offer commands on the basis of an Ubuntu-like OS.
Inhaltsverzeichnis
General settings
Encoding
Make sure, the correct encoding for requests and responses is set. In /var/lib/tomcat7/conf/server.xml check the attribute URIEncoding in the connector tag.
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>
Increasing Java heap space
Experience has shown that increasing the heap space for tomcat positively influences the servers efficiency. Therefore, it is recommended to permanently set the environment variable CATALINA_OPTS.
CATALINA_OPTS="-Xms512m -Xmx900m"
Setting the resource root
Select a directory where the terminology store instances will be located. The directory has to be specified by setting an environment variable called CTS2LE_RESOURCE_ROOT.
Since the resource root is one of the building blocks of CTS2-LE, no arbitrary manipulation of the files within the directory should be done. Only apply changes to the files which are described in this section.
In order to permanently set the environment variable, it is recommended to create a setenv.sh script in the $CATALINA_HOME/bin directory and add the following lines:
#!/bin/bash CTS2LE_RESOURCE_ROOT=/path/to/directory export CTS2LE_RESOURCE_ROOT #permanently increase heap space CATALINA_OPTS="-Xms512m -Xmx900m" export CATALINA_OPTS
Extract the delivered start-up directory to the defined destination and set access rights recursively:
sudo chmod -R <pattern> $CTS2LE_RESOURCE_ROOT
<pattern> has to be set accordingly, such that the server have read/write access to the resources.
Delivered artifacts
You will be receiving a zip-compressed archive that combines several artifacts that allow for a fast and clean installation of CTS2-LE. The archive file has to be unzipped in the $CTS2LE_RESOURCE_ROOT directory and then shows the following structure:
/bin WebCts2LE.war WebCts2LEStarter.sh /signatures /queries /load-vocabs /jdbm2 cts2_conf.xml grouping.json setting.json
You should leave most of the directories untouched. Only adapt or execute the highlighted files as described in the section.
grouping.json
This file determines how the loaded terminologies and value sets are grouped inside the navigator. By default, the file is structured as shown below.
{
groups: [
{
_id: 'csvGroups',
children: [
{
name: 'ICD', relGroup: 'ICD'
},
{
name: 'Example', relGroup: 'EXA'
}
]
},
{
_id: 'vsGroups',
children: [
{
name: 'FHIR', relGroup: 'FHIR-vs'
}
]
}
]
}
A loaded resource either belongs to the group of code systems (_id: 'csvGroups' ) or is a child of the value set group (_id: 'vsGroups' ). The assignment of terminologies and value sets to groups is either defined in specific terminology loaders or by means of a FHIR definition file. The latter one allows for a flexible reassignment whereas for core terminologies, a change proposal has to be issued to the contact partner at Fraunhofer FOKUS. For example, the terminology loaders which import the German and English ICD and the alphabetical directory as an expansion of the German ICD individually specify the 'ICD' group membership. Groups can be hidden in the navigator by commenting out the corresponding JSON structures but reassigning a code system (e.g. any ICD related system should be grouped in a 'Diseases' section) cannot be achieved by editing the file.
The below snippet leads to the following grouping in the navigator.
cts2_conf.xml
All standard terminological resources (ICD-10, LOINC, HL7v3, FHIR etc.) require the user to obtain an individual license. Therefore such terminologies are not part of the CTS2-LE distribution but have to be licenced and loaded by the CTS2-LE customer. To ease this process, the CTS2-LE distribution includes a set of "terminology loaders" which allow for an automatic integration of the most common standard terminologies into CTS2-LE. This section describes how these loaders can be activated for loading standard terminologies and value sets into CTS2-LE.
When receiving a CTS2-LE distribution, this file will comprise a reference to any terminology for which the user has obtained a license. The XML-structured file lists the available terminologies under the element vocabularies. A specific vocabulary is defined by a friendly-name and a resourceID, e.g. the Example code system will appear as the following line:
<conf>
<vocabularies loadAll="false">
<vocabulary load="true" friendly-name="Example code system" resourceID="exa"/>
</vocabularies>
</conf>
The friendly name is a human readable name for a terminology and may be modified by the user if he prefers a different designation. However, the attribute resourceID must not be changed as it is a system intern identifier for the terminology.
To load a vocabulary, the attribute load has to be set to true.
Mark any desired vocabulary by following this strategy (or load all terminologies by enabling loadAll in the <vocabularies> element) and save the file.
WebCts2LE.war and WebCts2LEStarter.sh
The web application archive WebCts2LE.war has to be deployed in a servlet container. Because there are further activities that come along with the deployment, a script (WebCts2LEStarter) is provided.
Deployment
The delivered script WebCts2LEStarter.sh serves 2 use cases:
- it automatically deploys the war-file
- it faciliates the process of loading core terminologies
Before starting the script, open it and check the value of the tomcat version and tomcat home-directory.
NAME=tomcat7 CATALINA_BASE=/var/lib/$NAME
Ensure that the script is executable by running the following command:
chmod +x WebCts2LEStarter.sh
Finally, start the script by appending the war-file as an argument.
./WebCts2LEStarter.sh WebCts2LE.war
Troubleshooting
- Do not run the starter script with root privileges.