diff --git a/1-ClickServer/1-ReinstallR4.cmd b/1-ClickServer/1-ReinstallR4.cmd deleted file mode 100644 index b74eef8ed..000000000 --- a/1-ClickServer/1-ReinstallR4.cmd +++ /dev/null @@ -1,4 +0,0 @@ -if not exist fhirR4.db copy fhirRx_empty.db fhirR4.db -cd server -FHIRServer.exe -cmd remount -password sa -ini ".\fhirserver.ini" -packages hl7.fhir.core#4.0.0 -endpoint r4 -mode open -cd .. diff --git a/1-ClickServer/2-RunServer.cmd b/1-ClickServer/2-RunServer.cmd deleted file mode 100644 index 47b6c0b76..000000000 --- a/1-ClickServer/2-RunServer.cmd +++ /dev/null @@ -1,3 +0,0 @@ -cd server -FHIRServer.exe -cmd exec -debug -ini ".\fhirserver.ini" -cd .. diff --git a/1-ClickServer/filelist.txt b/1-ClickServer/filelist.txt deleted file mode 100644 index e616f8487..000000000 --- a/1-ClickServer/filelist.txt +++ /dev/null @@ -1,224 +0,0 @@ -1-ReinstallR4.cmd * -2-RunServer.cmd * -\server\auth.ini -\server\ChakraCore.dll -\server\FastMM_FullDebugMode64.dll -\server\fhir.ini -\server\fhirR4.db * -\server\fhirRx_empty.db * -\server\FHIRServer.exe -\server\fhirserver.ini * -\server\fhirserver_orig.ini -\server\FHIRServerUtils.exe -\server\fhirtests3.exe -\server\getData.cmd -\server\javaStart.bat -\server\libeay32.dll -\server\libmysql.dll -\server\LOINC_short_license.txt -\server\openssl.dll -\server\org.hl7.fhir.validator.jar -\server\sqlite3.dll -\server\ssleay32.dll -\server\ucum-essence.xml -\server\unins000.exe -\server\org.hl7.fhir.validator.jar -\server\Libraries -\server\Libraries\js -\server\Libraries\js\AdvJavascript.pas -\server\Libraries\js\chakra -\server\Libraries\js\chakra\x64_release -\server\Libraries\js\chakra\x64_release\ChakraCore.dll -\server\Libraries\js\chakra\x86_release -\server\Libraries\js\chakra\x86_release\ChakraCore.dll -\server\Libraries\js\ChakraCommon.pas -\server\Libraries\js\FHIRClientJs.pas -\server\Libraries\js\FHIRJavascript.pas -\server\Libraries\js\FHIRJavascriptTests.pas -\server\Libraries\js\Javascript.pas -\server\Libraries\js\JavascriptTests.pas -\server\load -\server\load\fhir.json.zip -\server\load\fhir.min.json.zip -\server\load\load.ini -\server\load\loadmin.ini -\server\load\us-core.json.zip -\server\load\us-daf.json.zip -\server\load\us-sdc.json.zip -\server\load\us-sdcde.json.zip -\server\loinc -\server\loinc\loinc_266.cache -\server\sql -\server\sql\country-codes - Copy.sql -\server\sql\country-codes.sql -\server\sql\lang.txt -\server\sql\ncimeta_import.sql -\server\sql\nucc.xml -\server\sql\remove resource of type.sql -\server\sql\rxnorm_import.sql -\server\sql\tslc.xml -\server\sql\tx_db.sql -\server\sql\us-state-codes.sql -\server\tx -\server\web -\server\web\AnnotationStripper.xslt -\server\web\CategorizeWarnings.xslt -\server\web\definitions.json -\server\web\definitions.json.zip -\server\web\definitions.xml.zip -\server\web\definitions1.zip -\server\web\diagnostics.html -\server\web\DocumentToHTML.xslt -\server\web\examples.zip -\server\web\facebook.png -\server\web\favicon.png -\server\web\fhir.css -\server\web\fitbit-start.html -\server\web\homepage.html -\server\web\html-form-add.png -\server\web\html-form-delete.png -\server\web\icon-fhir-16.png -\server\web\local.html -\server\web\logout.png -\server\web\oauth_choice.html -\server\web\oauth_login.html -\server\web\oauth_skype.html -\server\web\oauth_userdetails.html -\server\web\OwnerResources.xslt -\server\web\patient.html -\server\web\QuestionnaireToHTML.xslt -\server\web\RenderWarnings.xslt -\server\web\robots.txt -\server\web\scimuser.html -\server\web\scimusers.html -\server\web\sct-choice.html -\server\web\svrl_to_html.xslt -\server\web\tx-cm-id.html -\server\web\tx-cs-id.html -\server\web\txform.html -\server\web\txhome.html -\server\web\tx-vs.html -\server\web\tx-vs-id.html -\server\web\validator.zip -\server\web\WarningsToQA.xslt -\server\web\iso_schematron_skeleton_for_saxon.xsl -\server\web\iso_schematron_skeleton_for_xslt1.xsl -\server\web\iso_svrl_for_xslt1.xsl -\server\web\iso_svrl_for_xslt2.xsl -\server\web\iso_svrl_for_xslt3.xsl -\server\web\assets -\server\web\assets\css -\server\web\assets\css\bootstrap-fhir.css -\server\web\assets\css\bootstrap-glyphicons.css -\server\web\assets\css\modules.css -\server\web\assets\css\project.css -\server\web\assets\css\pygments-manni.css -\server\web\assets\css\xml.css -\server\web\assets\fonts -\server\web\assets\fonts\glyphiconshalflings-regular.eot -\server\web\assets\fonts\glyphiconshalflings-regular.otf -\server\web\assets\fonts\glyphiconshalflings-regular.svg -\server\web\assets\fonts\glyphiconshalflings-regular.ttf -\server\web\assets\fonts\glyphiconshalflings-regular.woff -\server\web\assets\ico -\server\web\assets\ico\apple-touch-icon-114-precomposed.png -\server\web\assets\ico\apple-touch-icon-144-precomposed.png -\server\web\assets\ico\apple-touch-icon-57-precomposed.png -\server\web\assets\ico\apple-touch-icon-72-precomposed.png -\server\web\assets\ico\favicon.ico -\server\web\assets\ico\favicon.png -\server\web\assets\images -\server\web\assets\images\fhir-logo.png -\server\web\assets\images\fhir-logo-www.png -\server\web\assets\images\hl7-logo.png -\server\web\assets\images\logo_ansinew.jpg -\server\web\assets\images\search.png -\server\web\assets\images\stripe.png -\server\web\assets\images\target.png -\server\web\assets\js -\server\web\assets\js\fhir.js -\server\web\assets\js\html5shiv.js -\server\web\assets\js\jquery.js -\server\web\assets\js\jquery-1.11.1.min.map -\server\web\assets\js\respond.min.js -\server\web\assets\js\xml.js -\server\web\css -\server\web\css\jquery.ui.all.css -\server\web\css\tags.css -\server\web\definitions.json\conceptmaps.json -\server\web\definitions.json\dataelements.json -\server\web\definitions.json\extension-definitions.json -\server\web\definitions.json\fhir.schema.json.zip -\server\web\definitions.json\profiles-others.json -\server\web\definitions.json\profiles-resources.json -\server\web\definitions.json\profiles-types.json -\server\web\definitions.json\search-parameters.json -\server\web\definitions.json\v2-tables.json -\server\web\definitions.json\v3-codesystems.json -\server\web\definitions.json\valuesets.json -\server\web\definitions.json\version.info -\server\web\dist -\server\web\dist\css -\server\web\dist\css\bootstrap.css -\server\web\dist\js -\server\web\dist\js\bootstrap.js -\server\web\dist\js\bootstrap.min.js -\server\web\images -\server\web\images\ui-bg_diagonals-thick_18_b81900_40x40.png -\server\web\images\ui-bg_diagonals-thick_20_666666_40x40.png -\server\web\images\ui-bg_flat_10_000000_40x100.png -\server\web\images\ui-bg_glass_100_f6f6f6_1x400.png -\server\web\images\ui-bg_glass_100_fdf5ce_1x400.png -\server\web\images\ui-bg_glass_65_ffffff_1x400.png -\server\web\images\ui-bg_gloss-wave_35_f6a828_500x100.png -\server\web\images\ui-bg_highlight-soft_100_eeeeee_1x100.png -\server\web\images\ui-bg_highlight-soft_75_ffe45c_1x100.png -\server\web\images\ui-icons_222222_256x240.png -\server\web\images\ui-icons_228ef1_256x240.png -\server\web\images\ui-icons_ef8c08_256x240.png -\server\web\images\ui-icons_ffd27a_256x240.png -\server\web\images\ui-icons_ffffff_256x240.png -\server\web\js -\server\web\js\fhir-gw.js -\server\web\js\hl7connect.js -\server\web\js\jcookie.js -\server\web\js\jquery.effects.blind.js -\server\web\js\jquery.effects.bounce.js -\server\web\js\jquery.effects.clip.js -\server\web\js\jquery.effects.core.js -\server\web\js\jquery.effects.drop.js -\server\web\js\jquery.effects.explode.js -\server\web\js\jquery.effects.fade.js -\server\web\js\jquery.effects.fold.js -\server\web\js\jquery.effects.highlight.js -\server\web\js\jquery.effects.pulsate.js -\server\web\js\jquery.effects.scale.js -\server\web\js\jquery.effects.shake.js -\server\web\js\jquery.effects.slide.js -\server\web\js\jquery.effects.transfer.js -\server\web\js\jquery.ui.accordion.js -\server\web\js\jquery.ui.autocomplete.js -\server\web\js\jquery.ui.button.js -\server\web\js\jquery.ui.core.js -\server\web\js\jquery.ui.datepicker.js -\server\web\js\jquery.ui.dialog.js -\server\web\js\jquery.ui.draggable.js -\server\web\js\jquery.ui.droppable.js -\server\web\js\jquery.ui.mouse.js -\server\web\js\jquery.ui.position.js -\server\web\js\jquery.ui.progressbar.js -\server\web\js\jquery.ui.resizable.js -\server\web\js\jquery.ui.selectable.js -\server\web\js\jquery.ui.slider.js -\server\web\js\jquery.ui.sortable.js -\server\web\js\jquery.ui.tabs.js -\server\web\js\jquery.ui.widget.js -\server\web\js\jquery-1.3.2.min.js -\server\web\js\jquery-1.6.2.js -\server\web\js\jquery-1.6.2.min.js -\server\web\js\jquery-ui-1.7.1.custom.min.js -\server\web\js\jquery-ui-1.8.16.custom.js -\server\web\js\jquery-ui-1.8.16.custom.min.js -\server\web\js\json2.js -\server\web\js\jtip.js -\server\web\js\statuspage.js diff --git a/1-ClickServer/readme.md b/1-ClickServer/readme.md deleted file mode 100644 index e2b1b89f7..000000000 --- a/1-ClickServer/readme.md +++ /dev/null @@ -1,16 +0,0 @@ -One-click FHIR Server - - - -Running the server - - - -Setup - -1. Get Terminologies -2. Define endpoints -3. Mount the database - - - diff --git a/1-ClickServer/server/fhirR4.db b/1-ClickServer/server/fhirR4.db deleted file mode 100644 index 4b982c5cf..000000000 Binary files a/1-ClickServer/server/fhirR4.db and /dev/null differ diff --git a/1-ClickServer/server/fhirRx_empty.db b/1-ClickServer/server/fhirRx_empty.db deleted file mode 100644 index 4b982c5cf..000000000 Binary files a/1-ClickServer/server/fhirRx_empty.db and /dev/null differ diff --git a/1-ClickServer/server/fhirserver.ini b/1-ClickServer/server/fhirserver.ini deleted file mode 100644 index 0ebadf5c0..000000000 --- a/1-ClickServer/server/fhirserver.ini +++ /dev/null @@ -1,95 +0,0 @@ -[databases] -dbr4= database: .\fhir4.db; type: SQLite; when-testing: true - - -[endpoints] -r4= path: /r4; validate: true; database: dbr4; version: r4 - - -[terminologies] -ucum= type: ucum; source: .\ucum-essence.xml -;loinc= type: loinc; source: .\loinc\loinc_266.cache - -;icd10= type: icd10; source: .\icd\icd10.txt -;icd10cm= type: icd10; source: .\icd\icd10cm.txt -;icd10vn= type: icd10; source: .\icd\icd10vn.txt -;s-usa= type: snomed; source: .\snomed\snomed_20190301_us.cache -;sintl= type: snomed; source: .\snomed\snomed_20190731_intl.cache -;rxnorm= type: rxnorm; database: \rxnorm\rxn -;ndc=type: ndc; database: rxn; version: 20190321 -;unii= type: unii; database: dbr4 -;scomb= default: true; type: snomed; source: .\snomed_20170306_combined.cache; when-testing: true -;lang= type: lang; source: .\sql\lang.txt - - - -[web] -clients=.\auth.ini -secure-token={uuid} -host=localhost -http=960 -base=/r4 -secure= -https= -certname= -cacertname= -certpword= -folder=.\web - -[fhir] -web=.\web - -[details] -version=r4 - -[internal] - -[scim] -; SCIM sub-system configuration -; salt= -; a random string (use a UUID) that the SCIM sub-system uses to -; salt the hashed passwords. If you change this, all existing -; SCIM passwords are invalidated. You must have some content -; for this even if you don't use SCIM -; -; the default rights to assign to anonymous users on the open/unsecured interface -default-rights=openid,profile,user/*.* -salt={E88C683B-C0D2-4B85-BEEF-289AB0CD8683} - - -[admin] -; required. Master admin account for administering user accounts. -; password is provided to database mount procedure (or install) -username=sa -email=jct@zeora.net -default-rights=openid,fhirUser,profile,user/*.* -scim-salt={908CBB82-3404-4DFB-B959-62E2AB610AED} - -[email] -; server configuration for sending email subscriptions -; -; Host= (host name to send email to) -; Port= (post name for host) -; Username= (user name with rights to send email using nominated server as a relay) -; Password= (password for username) -; Sender= (email address of sender - often related to the username) -; secure= (0 or 1: whether to use TLS when sending. Server dictates what value to use here) - -[sms] -; server configuration for sending sms subscriptions -; account details on Twilio, which is used to send SMS messages -; values as specified for the twilio account -; -; account= -; token= -; from= -; owner= if an owner is nominated, they'll be sms'ed when the server starts or stops - -[dicom] -cache=.\dicom.cache - -[lang] -source=.\sql\lang.txt -[server] -run-number=805 - diff --git a/Dockerfile b/Dockerfile index db9675217..c04ad593b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:22.04 as builder ENV DEBIAN_FRONTEND=noninteractive -RUN apt update && apt install -y tzdata wget git unixodbc-dev libgtk2.0-dev xvfb sqlite3 libsqlite3-dev build-essential +RUN apt update && apt install -y tzdata wget git unixodbc-dev libgtk2.0-dev xvfb sqlite3 libsqlite3-dev build-essential curl # Download and build OpenSSL 1.1.1w WORKDIR /tmp @@ -20,8 +20,7 @@ RUN ls -la /usr/local/lib/ # Set the timezone RUN echo "UTC" > /etc/timezone -RUN apt update && apt install -y wget git unixodbc-dev libgtk2.0-dev xvfb sqlite3 libsqlite3-dev && \ - cd /tmp && \ +RUN cd /tmp && \ wget https://dev.mysql.com/get/Downloads/Connector-ODBC/8.0/mysql-connector-odbc-8.0.26-linux-glibc2.12-x86-64bit.tar.gz && \ tar -xzvf mysql-connector-odbc-8.0.26-linux-glibc2.12-x86-64bit.tar.gz && \ cp -r mysql-connector-odbc-8.0.26-linux-glibc2.12-x86-64bit/lib/* /usr/local/lib && \ @@ -42,6 +41,11 @@ RUN cp /usr/local/lib/*.so* /usr/lib/ RUN /work/fhirserver/build/linux-fhirserver.sh /work/bootstrap RUN cp exec/pack/*.properties exec/64 +# Set the health check +HEALTHCHECK --interval=1m --timeout=10s --retries=5 \ + CMD curl -f http://localhost:${PORT}/fhir/metadata || exit 1 + +# Set the environment variables ENV DISPLAY :99 ENV PORT 80 ENV TERMINOLOGY_CACHE /terminology @@ -50,11 +54,21 @@ VOLUME /terminology ENV DEBIAN_FRONTEND= RUN printf '#!/bin/bash \n\ -Xvfb :99 -screen 0 1024x768x8 -nolisten tcp & \n\ -echo "[web]" > /work/fhirserver/exec/64/web.ini; \n\ -echo "http=${PORT}" >> /work/fhirserver/exec/64/web.ini; \n\ -/work/fhirserver/exec/64/fhirserver $(eval echo "$@")'> /bin/entrypoint.sh && \ -chmod +x /bin/entrypoint.sh + set -e \n\ + start_xvfb() { \n\ + Xvfb :99 -screen 0 1024x768x8 -nolisten tcp & \n\ + } \n\ + stop_xvfb() { \n\ + killall Xvfb || true \n\ + } \n\ + trap stop_xvfb SIGTERM \n\ + rm -f /tmp/.X99-lock \n\ + start_xvfb \n\ + echo "[web]" > /work/fhirserver/exec/64/web.ini; \n\ + echo "http=${PORT}" >> /work/fhirserver/exec/64/web.ini; \n\ + /work/fhirserver/exec/64/fhirserver $(eval echo "$@")' > /bin/entrypoint.sh && \ + chmod +x /bin/entrypoint.sh + ENTRYPOINT ["/bin/entrypoint.sh"] diff --git a/README.md b/README.md index cb53b1cb9..c49c82a6c 100644 --- a/README.md +++ b/README.md @@ -112,7 +112,6 @@ Delphi: * **library**: the pascal reference implementation with supporting code * **exec**: files needed by the server at run time -* **1-ClickServer**: Not sure what this is * **.github**: ci-build setup * **exec**: files required at execution time, and target for the compiled applications (e.g. exec/64) * **build**: build scripts for windows and linux. Will install the entire pascal toolchain from scratch - see below diff --git a/library/version.inc b/library/version.inc index e369c2bc0..c5fbefbd6 100644 --- a/library/version.inc +++ b/library/version.inc @@ -1,3 +1,3 @@ - FHIR_CODE_FULL_VERSION = '3.0.1-SNAPSHOT'; - FHIR_CODE_RELEASE_DATE = '2024-01-10'; - FHIR_CODE_RELEASE_DATETIME = '20240110124513.733Z'; + FHIR_CODE_FULL_VERSION = '3.0.1'; + FHIR_CODE_RELEASE_DATE = '2024-01-11'; + FHIR_CODE_RELEASE_DATETIME = '20240111105649.380Z'; diff --git a/server/fhirserver.lpi b/server/fhirserver.lpi index ade687b4a..dad6de62d 100644 --- a/server/fhirserver.lpi +++ b/server/fhirserver.lpi @@ -130,7 +130,7 @@ - + @@ -275,7 +275,7 @@ - + @@ -285,6 +285,7 @@ + @@ -295,7 +296,7 @@ - + @@ -306,6 +307,7 @@ + @@ -719,7 +721,7 @@ - + @@ -779,7 +781,7 @@ - +