Author SHA1 Message Date
Mutesasira Moses 89dc4fb317 Merge pull request #10 from mozzy11/isante
update local setup
2023-07-13 16:36:16 +03:00
Mutesasira Moses 4651bd4b8e update local setup 2023-07-13 16:35:31 +03:00
Mutesasira Moses e8718a3ab7 Update README.md 2023-05-16 16:48:53 +03:00
Mutesasira Moses 357e6165cf Update README.md 2023-05-16 16:48:05 +03:00
Mutesasira Moses cee4905028 Merge pull request #5 from mozzy11/isante
redirect http to https
2023-01-17 10:05:04 +03:00
mozzy11 0b6b85e018 redirect http to https 2023-01-17 10:04:06 +03:00
Mutesasira Moses 0f4f38fd20 Update README.md 2022-12-09 12:38:22 +03:00
Mutesasira Moses 8ea047424c Update README.md 2022-12-09 12:34:42 +03:00
Mutesasira Moses ce2f3d48cf Update README.md 2022-12-09 12:32:09 +03:00
Mutesasira Moses 184469d358 Update README.md 2022-12-09 12:31:07 +03:00
Mutesasira Moses 4cfc6b073f Update README.md 2022-12-09 12:30:20 +03:00
Mutesasira Moses 9044c3eff7 Update README.md 2022-12-09 12:29:49 +03:00
Mutesasira Moses 05f57fc5c8 Update README.md 2022-12-08 11:56:12 +03:00
Mutesasira Moses 0455783e0f Merge pull request #4 from mozzy11/isante
Isante
2022-12-08 11:33:38 +03:00
mozzy11 bb0ab54d4c add config fro local setup 2022-12-08 11:32:21 +03:00
Mutesasira Moses 0e4f358cde add local setup 2022-12-07 21:24:59 +03:00
Mutesasira Moses b2862c4c8c update local conf 2022-12-07 17:16:26 +03:00
10 changed files with 390 additions and 21 deletions

No files matched your search

+3
View File
@@ -0,0 +1,3 @@
volume/.DS_Store
volume/isanteplus/.DS_Store
*/.DS_Store
+28
View File
@@ -43,3 +43,31 @@ Navigate to the `HaitiHealthBox` directory on your machine and run the following
docker-compose up -d
```
## Local setup
Spin up the services
```
docker-compose -f docker-compose.local.yml up -d
```
Acces the services at
| Instance | URL | credentials (user : password)|
|---------- |:-------------:|------: |
| Isanteplus | https://localhost/openmrs/login.htm  | admin : Admin123 |
| OpenHIM | https://localhost/ | root@openhim.org : admin |
| OpenELIS | https://localhost/OpenELIS-Global/ |  admin : adminADMIN!|
## Instructions
1. Add the necesary Lab Unit permisions to the User
Go To `Admin -> User Management -> Select User -> Under "Roles" ,Choose "ALL Lab Units" and select "All Permissions"`
2. Enable Importing electronic orders
Go To `Admin -> Order Entry Configuration -> Select "external orders" -> Click "Modify" -> select "True"`
3. Add the Right Test Catalogue ie tests with `Loinc Codes`
see [more](https://i-tech-uw.github.io/healthinformationexchange/lis-workflows/lis-workflows.html#tutorial-lab-order-communication-between-openmrs-and-openelis) for the EMR-LIS communication
+227
View File
@@ -0,0 +1,227 @@
version: "3.8"
services:
###
# reverse proxy
###
nginx:
image: nginx:latest
container_name: nginx
restart: always
ports:
- 80:80
- 443:443
volumes:
- certs-vol:/etc/nginx/certs/
- keys-vol:/etc/nginx/keys/
- ./volume/nginix/nginx.conf:/etc/nginx/conf.d/default.conf
depends_on:
- certs
##
#iSantePlus Server
##
isanteplus:
container_name: isanteplus
hostname: isanteplus
image: ghcr.io/isanteplus/docker-isanteplus-server:v2.3.7
restart: unless-stopped
env_file:
- ./isanteplus.env
volumes:
- /openmrs/data
- ./volume/isanteplus/custom_modules:/custom_modules
# ports:
# - 8081:8080
logging:
driver: "json-file"
options:
max-size: "10m"
isanteplus-mysql:
image: ghcr.io/isanteplus/docker-isanteplus-db:v2.2.1
command: mysqld --character-set-server=utf8 --collation-server=utf8_general_ci --sql_mode=""
restart: unless-stopped
container_name: isanteplus-mysql
hostname: isanteplus-mysql
healthcheck:
test: "exit 0"
environment:
- MYSQL_DATABASE=openmrs
- MYSQL_ROOT_PASSWORD=debezium
- MYSQL_USER=mysqluser
- MYSQL_PASSWORD=mysqlpw
- MYSQL_ROOT_HOST=% # Allow docker containers to connect to mysql
volumes:
# - ./mysql.cnf:/etc/mysql/conf.d/custom.cnf # mysql config preconfigured to allow binlog/debezium
- /var/lib/mysql
# streaming-pipeline:
# image: ghcr.io/i-tech-uw/openmrs-fhir-analytics/streaming-binlog:latest
# container_name: streaming-pipeline
# healthcheck:
# test: "exit 0"
# volumes:
# - ./configs/streaming-pipeline/config.json:/deployments/config.json
# # data is the directory which you want to persist the generated parquet files
# # - ./configs/streaming-pipeline/parquet:/tmp
# environment:
# - OPENMRS_URL=http://isanteplus:8080/openmrs
# - OPENMRS_USERNAME=admin
# - OPENMRS_PASSWORD=${IPLUS_ADMIN_PW-Admin123}
# - SINK_URL=https://openhim-ssl.sedish-haiti.org/SHR/fhir
# - SINK_USERNAME=${OPENHIM_STREAMING_CLIENT-streaming}
# - SINK_PASSWORD=${OPENHIM_STREAMING_PW-streaming}
# - JDBC_FETCH_SIZE=10000
# - JDBC_MAX_POOL_SIZE=50
# - JDBC_INITIAL_POOL_SIZE=10
# - JDBC_DRIVER_CLASS=com.mysql.cj.jdbc.Driver
# # the 2 variable below should be same as volume mappings above
# - PARQUET_PATH=
# - FHIR_DEBEZIUM_CONFIG_PATH=/deployments/config.json
###
# OpenHIM
###
openhim-core:
container_name: openhim-core
hostname: openhim-core
image: jembi/openhim-core:v7.1.0
restart: unless-stopped
environment:
mongo_url: "mongodb://mongo-db/openhim"
mongo_atnaUrl: "mongodb://mongo-db/openhim"
NODE_ENV: "development"
ports:
# - 5000
# - 5001
- 8080:8080
openhim-console:
container_name: openhim-console
hostname: openhim-console
image: jembi/openhim-console:v1.15.0
restart: unless-stopped
volumes:
- ./volume/openhim/console.json:/usr/share/nginx/html/config/default.json
healthcheck:
test: "curl -sS http://openhim-console || exit 1"
interval: 10s
timeout: 60s
retries: 3
# ports:
# - 3000:80
# Loads Default OpenHIM Config
openhim-config:
container_name: openhim-config
image: ghcr.io/i-tech-uw/openhim-config:v0.0.0
volumes:
- ./volume/openhim/initial-config.json:/app/test-openhim-config.json
mongo-db:
container_name: mongo-db
image: mongo:3.4
volumes:
- /data/db
restart: unless-stopped
####
# OpenELIS
####
certs:
container_name: oe-certs
image: ghcr.io/i-tech-uw/certgen:main
restart: always
environment:
- KEYSTORE_PW="kspass"
- TRUSTSTORE_PW="tspass"
volumes:
- cert-volume:/etc/openelis-global
- keys-vol:/etc/ssl/private/
- certs-vol:/etc/ssl/certs/
database:
container_name: openelisglobal-database
image: postgres:9.5
# ports:
# - "15432:5432"
restart: always
env_file:
- ./volume/database/database.env
volumes:
# preserves the database between containers
- db-data:/var/lib/postgresql/data
# files here will run on install
- ./volume/database/dbInit:/docker-entrypoint-initdb.d
healthcheck:
test: ["CMD", "pg_isready", "-q", "-d", "clinlims", "-U", "clinlims"]
timeout: 45s
interval: 10s
retries: 10
oe.openelis.org:
container_name: openelisglobal-webapp
image: ghcr.io/i-tech-uw/openelis-global-2:2.7.3.2
depends_on:
- database
# ports:
# - "8095:8080"
# - "8443:8443"
restart: always
environment:
- TZ=Africa/Nairobi
# context.xml doesn't seem to be able to pick up environment variables directly, so we are passing them in as CATALINA_OPTS
- CATALINA_OPTS= -Ddatasource.url=jdbc:postgresql://database:5432/clinlims -Ddatasource.username=clinlims -Ddatasource.password=clinlims
volumes:
- cert-volume:/etc/openelis-global
# - openelis-plugins-data:/var/lib/openelis-global/plugins
- ./volume/tomcat/oe_server.xml:/usr/local/tomcat/conf/server.xml
secrets:
- source: datasource.password
- source: common.properties
fhir.openelis.org:
container_name: external-fhir-api
image: hapiproject/hapi:v5.5.1
# ports:
# - "8081:8080"
restart: always
environment:
- hapi.fhir.auto_create_placeholder_reference_targets=true
- hapi.fhir.allow_placeholder_references=true
- hapi.fhir.allow_external_references=true
fhir.openelis.org.remote:
container_name: openelis-remote-source
image: hapiproject/hapi:v5.5.1
# ports:
# - "8081:8080"
restart: always
environment:
- hapi.fhir.auto_create_placeholder_reference_targets=true
- hapi.fhir.allow_placeholder_references=true
- hapi.fhir.allow_external_references=true
secrets:
datasource.password:
file: ./volume/properties/datasource.password
common.properties:
file: ./volume/properties/common.properties
volumes:
db-data:
cert-volume:
certs-vol:
keys-vol:
+1 -1
View File
@@ -7,5 +7,5 @@ OMRS_CONFIG_CONNECTION_URL=jdbc:mysql://isanteplus-mysql:3306/openmrs?autoReconn
OMRS_CONFIG_HAS_CURRENT_OPENMRS_DATABASE=true
OMRS_JAVA_SERVER_OPTS="-Dfile.encoding=UTF-8 -server -Djava.security.egd=file:/dev/./urandom -Djava.awt.headless=true -Djava.awt.headlesslib=true"
OMRS_CONFIG_CONNECTION_USERNAME=mysqluser
OMRS_CONFIG_CONNECTION_PASSWORD=${IPLUS_DB_PW}
OMRS_CONFIG_CONNECTION_PASSWORD=mysqlpw
OMRS_DEV_DEBUG_PORT=1044
+32
View File
@@ -0,0 +1,32 @@
server {
listen 80;
server_name localhost;
return 301 https://localhost$request_uri;
}
server {
listen 443 ssl;
server_name localhost;
ssl_certificate /etc/nginx/certs/apache-selfsigned.crt;
ssl_certificate_key /etc/nginx/keys/apache-selfsigned.key;
proxy_set_header X-Forwarded-For $proxy_protocol_addr; # To forward the original client's IP address
proxy_set_header X-Forwarded-Proto $scheme; # to forward the original protocol (HTTP or HTTPS)
proxy_set_header Host $host; # to forward the original host requested by the client
absolute_redirect off;
location /openmrs {
proxy_pass http://isanteplus:8080;
}
location /OpenELIS-Global {
proxy_pass https://oe.openelis.org:8443;
}
location / {
proxy_pass http://openhim-console;
}
}
+13
View File
@@ -0,0 +1,13 @@
{
"version": "1.10.0",
"minimumCoreVersion": "3.4.0",
"protocol": "https",
"host": "localhost",
"port": 8080,
"title": "Admin Console",
"footerTitle": "OpenHIM Administration Console",
"footerPoweredBy": "<a href='http://openhim.org/' target='_blank'>Powered by OpenHIM</a>",
"loginBanner": "",
"mediatorLastHeartbeatWarningSeconds": 60,
"mediatorLastHeartbeatDangerSeconds": 120
}
+83 -17
View File
@@ -1,19 +1,85 @@
{
"Users": [
{
"groups": [
"admin"
],
"firstname": "Super",
"surname": "User",
"email": "root@openhim.org",
"passwordAlgorithm": "sha512",
"passwordHash": "3ffa5a209fad0151388a1fc0eb2d93cfb95648c38a79ee19b8c19811ee9256a49dfc929afd1f81f35533553044d2fc19921939f9b53ef5024f9ae0486aecca05",
"passwordSalt": "b9bce89f512c986981512a91a9eeb5ef",
"expiry": null,
"locked": false,
"tokenType": null,
"token": null
}
]
"Users": [
{
"groups": [
"admin"
],
"firstname": "Super",
"surname": "User",
"email": "root@openhim.org",
"passwordAlgorithm": "sha512",
"passwordHash": "e12ea7a5468925ab2b6d839e5b0566c8d8e68d9dd48241282ec1c448c0b11386b499be64011c88060b241ed5a143fea90992dabb0d91a334daecd96e20156c24",
"passwordSalt": "5f49ab7df7fac0fd7860d3b1be95cbf4",
"expiry": null,
"locked": false,
"tokenType": null,
"token": null
}
],
"Clients": [],
"Channels": [
{
"methods": [
"GET",
"POST",
"DELETE",
"PUT",
"OPTIONS",
"HEAD",
"TRACE",
"CONNECT",
"PATCH"
],
"type": "http",
"allow": [],
"whitelist": [],
"authType": "public",
"matchContentTypes": [],
"properties": [],
"txViewAcl": [],
"txViewFullAcl": [],
"txRerunAcl": [],
"status": "enabled",
"rewriteUrls": false,
"addAutoRewriteRules": true,
"autoRetryEnabled": false,
"autoRetryPeriodMinutes": 60,
"routes": [
{
"type": "http",
"status": "enabled",
"forwardAuthHeader": false,
"name": "Central FHIR server",
"secured": false,
"host": "fhir.openelis.org.remote",
"port": 8080,
"path": "",
"pathTransform": "",
"primary": true,
"username": "",
"password": ""
}
],
"requestBody": true,
"responseBody": true,
"rewriteUrlsConfig": [],
"name": "central fhir server",
"description": "Access to the central FHIR server",
"pollingSchedule": null,
"matchContentRegex": null,
"matchContentXpath": null,
"matchContentValue": null,
"matchContentJson": null,
"urlPattern": "^/fhir/.*$",
"tcpHost": null,
"tcpPort": null,
"updatedBy": {
"id": "6374bbabba26d10013784480",
"name": "Super User"
},
"alerts": []
}
],
"Mediators": [],
"ContactGroups": []
}
+3 -3
View File
@@ -15,12 +15,12 @@ spring.jpa.hibernate.ddl-auto=update
org.openelisglobal.fhirstore.uri=http://fhir.openelis.org:8080/fhir/
org.openelisglobal.remote.source.uri=http://fhir.openelis.org.remote:8080/fhir/
org.openelisglobal.remote.source.uri=http://openhim-core:5001/fhir/
org.openelisglobal.remote.source.updateStatus=true
org.openelisglobal.remote.source.identifier=Practitioner/f9badd80-ab76-11e2-9e96-0800200c9a66
org.openelisglobal.task.useBasedOn=true
org.openelisglobal.fhir.subscriber=http://fhir.openelis.org.remote:8080/fhir/
org.openelisglobal.fhir.subscriber=http://openhim-core:5001/fhir/
org.openelisglobal.fhir.subscriber.resources=Task,Patient,ServiceRequest,DiagnosticReport,Observation,Specimen,Practitioner,Encounter
#org.openelisglobal.facilitylist.fhirstore = http://localhost:4000/fhir/DEFAULT
@@ -31,5 +31,5 @@ org.openelisglobal.fhir.subscriber.resources=Task,Patient,ServiceRequest,Diagnos
facilitylist.schedule.fixedRate=864000000
#provider List
org.openelisglobal.providerlist.fhirstore=http://fhir.openelis.org.remote:8080/fhir/
org.openelisglobal.providerlist.fhirstore=http://openhim-core:5001/fhir/
org.openelisglobal.requester.identifier=Practitioner/f9badd80-ab76-11e2-9e96-0800200c9a66