Guidance on importing terminology into self-hosted OCL

Hi everyone,

I’m currently exploring Open Concept Lab (OCL) as a self-hosted terminology server for my organization, the Thai Health Information Standards Development Center. I’ve successfully deployed both the API and web versions using Docker. However, I’m having trouble finding documentation on how to load existing terminologies (such as ICD-10 or LOINC) into the server.

Could anyone guide me on how to import these terminologies? Also, where can I find the standardized CSV files required for import?

Thanks in advance for your help!

Hi @rathpan! Welcome to the OCL Community!

I first wanted to note that we generally encourage first-time users to use OCL Online for the terminology server, just to experiment and run initial tests. That’s where we maintain content and make enhancements and bug fixes in a timely manner, and it enables new users to try things out without having to set up local infrastructure.

However, if you are feeling that your use case is past that point, or if there is a requirement to deploy locally at this time, then I’ll put some quick steps and a demonstration below to inform how you can transfer content from OCL Online to your local OCL server.

The current version of OCL enables you to import the export ZIP files of a version of a source or collection. Meaning, you can simply download the ZIP file from OCL Online and import it into your local instance using OCL’s bulk importer!

  1. Create an account in OCL Online and log in.
  2. Navigate to the source on OCL Online that you want to import locally.
  3. Go to the source’s Versions tab, and you should see a number of versions for the source. Use the Export Version button to download the .zip file.
  4. Then, move to your local OCL server, and enter the Bulk Importer app, which can be found in the Apps menu at the top right of the user interface.
  5. Upload the .zip file into the New Import section. IMPORTANT: If you are loading a hierarchical source like ICD-10 or LOINC, make sure to also check the Hierarchy button.
  6. Click the Upload button to submit the file and begin the process. You should see a new import appear in the Existing Imports section.
  7. From this page, you can monitor the status of the ongoing import. It should turn green when complete. You can also check the status of the import by searching your local OCL for the new source to see if it has appeared.
  8. Once the import is complete, it is highly recommended to review the report from the import to ensure that the results occurred as expected, and if there is any troubleshooting needed.
    1. This report will be in a JSON format. In particular, I look for the report attribute to see how many concepts were created, failed, deleted, etc.
    2. It is also recommended to look at the result attribute to check what resources were not created, and the reason why if applicable.

In the visual example below, I will get the NMRS_playground source from OCL Online and put it into a different OCL server (our QA server, in this case). I noticed in the report that three mappings failed to import, but that’s okay in this case.
BulkImportQuickDemo-ezgif.com-resize(1)

@jamlung Oh… Thank you very much for your detailed instructions! I’ll follow your suggestions. Regarding the OCL online, I’ll evaluate further as well.

Thanks again!