logicahealth / InfoButtons

Infobuttons are context-sensitive links embedded in the electronic health record (EHR). They use clinical context information from the EHR, such as patient demographics, medications, diagnoses, user role, and clinical setting to help find answers to clinicians' and patients' questions using online health information resources.
28 stars 29 forks source link

Back to the beginning - Errors encountered. #27

Closed jxfish2 closed 5 years ago

jxfish2 commented 5 years ago

I am trying to install the OIB-RESPONDER.

I am following the build guide, and in the very first step, I'm getting the following errors:

Executing create-oib-model-mysql.sql ... ERROR 1050 (42S01) at line 9: Table 'OIB_ID_SEQ' already exists Executing oib-app-property-inserts.sql ... ERROR 1062 (23000) at line 1: Duplicate entry '3146' for key 'PRIMARY' Executing oib-request-parameter-inserts ... ERROR 1146 (42S02) at line 2: Table 'OIB.OIB_REQUEST_PARAMETER' doesn't exist Executing oib-value-set-inserts.sql ... ERROR 1146 (42S02) at line 2: Table 'OIB.OIB_VALUE_SET' doesn't exist Executing oib-value-set-code-inserts.sql ... ERROR 1146 (42S02) at line 2: Table 'OIB.OIB_VALUE_SET_CODE' doesn't exist

aniskand commented 5 years ago

So I don't know what your timelines are like, but I'm actually very close to having a Docker deployment for the manager/responder/LITE. If you can hold off for a day or two so I can test it in a couple different environments and just make sure it actually works correctly, I can get that to you.

jxfish2 commented 5 years ago

I really need to get this up and working, with our application configured to use this new installation, before the end of the week.

But, I do have a little bit of time.

I would be very happy to help test this application for you, as you're tweaking it.

If you could create the Docker image in such a manner, so that end users don't need to modify anything inside of the image, that would be incredible.

All site / customer specific configuration, should be read in from a site specific configuration file.

This way, regardless of changes you make to your future Docker images, the new images always read environment variables from the external configuration file.

In this manner, different end users could plugin your Docker image, and hit the ground running, because all of the end user server configuration files are stored locally, outside of the Docker image itself.

If need be, you can specify what the external configuration file looks like, by specifying all of the variables that need to be set inside of this site specific configuration file.

You can also specify the full PATH to the configuration file:

Example:

In Linux and Unix, the /etc directory is typically used for system and application specific configuration files.

You could create an /etc/InfoButtons/InfoButtons.cfg file, and since your Docker file needs to know how to get to this external configuration file, you can make this a requirement.

It is important to make the PATH to this specific Docker config file unique, because a single server might host multiple different Docker containers.

You might require a PATH such as:

/etc/dockerfiles/InfoButtons/IB.cfg

Then, logically, multiple Docker files could be supported under this base /etc/dockerfiles directory structure.

If I was designing a local Docker server, I would probably create a base directory structure, specifically intended for Docker images:

/usr/local/Docker_Images

-OR-

/Docker_Images

Then, project related images would be opened under one of these directory structures:

/Docker_Images/InfoButtons/

-OR-

/usr/local/Docker_Images/InfoButtons/

I really want to thank you for all of the effort you've put into this, and I am so thankful that you are porting this to Docker.

It will make this entire effort so much easier for those of us who are trying to install it locally.

Let me know if you need me to test this.

I will gladly test this, the moment you have something to test.

aniskand commented 5 years ago

Yeah, external configuration file is the plan, but the first iteration will probably not include any site specific configuration. The good news is with LITE up and running out of the box, you can configure everything except the database credentials directly from that interface. After I get this done, I will work on an external configuration file for setting the database configuration and launch port from the Docker file.

jxfish2 commented 5 years ago

Good morning Andrew, Just following up, to see how the Docker image is coming along. Hope you had a great weekend.