Manual Installation Guide¶
Setting Up WSO2 API Manager for Healthcare¶
Prerequisites¶
- Download supported base distribution of WSO2 API Manager and WSO2 Healthcare APIM Accelerator. Refer to the Product Compatibilities.
Installation Steps¶
- Extract WSO2 APIM product. Let's call it
<WSO2_APIM_HOME>
. - Navigate to
<WSO2_APIM_HOME>/bin
directory and execute the update command based on the operating system to bring WSO2 API Manager up to date by running the Update Tool. -
You can try the following commands based on your Operating system to update the WSO2 API Manager. As an example, if you are Mac user, we need to execute the following commands.
Provide your wso2 credentials and update the tool.
./wso2update_darwin
Check the latest update level for the product.
./wso2update_darwin check
Update the product to the latest update level.
./wso2update_darwin --level 4.2.0.<LATEST_UPDATE_LEVEL>
Check the current state of your product.
./wso2update_darwin current-state
-
Extract WSO2 OH APIM Accelerator to
<WSO2_APIM_HOME>
. Let's call it<WSO2_OH_APIM_ACC_HOME>
. - [Optional] Check the accelerator configurations in
<WSO2_HC_APIM_ACC_HOME>
/conf/config.toml file to enable or disable features.
Note
Accelerator configs looks like below;
Setting Description | Configuration Option | Default Value |
---|---|---|
Enable or disable auto-generation of the FHIR capability statement | enable_fhir_metadata_endpoint |
true |
Enable or disable the well-known endpoint for OAuth 2.0 discovery | enable_well_known_endpoint |
true |
Enable or disable the SMART on FHIR features | enable_smart_on_fhir |
true |
Enable or disable developer sign-up and app creation approval | enable_developer_workflow |
false |
Enable or disable the healthcare theme | enable_healthcare_theme |
true |
-
Navigate to
<WSO2_OH_APIM_ACC_HOME/bin>
directory and execute the following command. This will copy the artifacts to the WSO2 APIM and add the required configurations../merge.sh
-
Navigate to
<WSO2_APIM_HOME>
directory and execute following command to start the APIM server with WSO2 OH Accelerators../bin/api-manager.sh
Note
Running ./bin/merge.sh
script creates a audit log folder in the product home. Structure of it looks like below;
hc-accelerator
├── backup
│ ├── conf
│ ├── jaggeryapps
│ └── webapps
└── merge_audit.log
merge_audit.log
will have an audit line per execution of themerge.sh
script of the accelerator. Each line contains execution date and time, user account and the version of the accelerator. Example log line is below;Mon May 31 22:01:55 +0530 2021 - john - WSO2 Healthcare API Manager 1.0.0 Accelerator - v1.0.0
backup
folder contains the files that were originally there in the APIM product before running the accelerator. Please note that only the last state will be there.
Product Compatibilities¶
Product | Compatible Healthcare Accelarator |
---|---|
Setting Up Integration Layer for Healthcare¶
Note
WSO2 Healthcare Solution offers two distinct solutions (Ballerina and Micro Integrator) each tailored to different architectural preferences. For systems that favor the Enterprise Service Bus (ESB) pattern, the Micro Integrator, enhanced with FHIR accelerators, can be utilized.
On the other hand, Ballerina, a programming language specifically designed for integrations, is ideal for implementing FHIR integrations structured as microservices.
Installation Steps¶
Go through the following steps to setup the Ballerina.
-
Follow the instructions in the Ballerina Installation Options to install Ballerina runtime.
-
Setup the Ballerina VSCode extension by following the instructions in the Ballerina VSCode Extension guide.
Installation Steps¶
Go through the following steps to setup the Micro Integrator server.
-
Install WSO2 Micro Integrator Server runtime.
-
Install WSO2 Micro Integrator Extension in VSCode.
-
In the downloaded WSO2 Micro Integrator pack, the following configurations need to be done. Go to [WSO2-MI-HOME]/conf/deployment.toml file.
- Add the following configurations.
[[custom_message_formatters]] class = "org.apache.synapse.commons.json.JsonStreamFormatter" content_type = "application/json+fhir" [[custom_message_builders]] class = "org.apache.synapse.commons.json.JsonStreamBuilder" content_type = "application/json+fhir" [[custom_message_formatters]] class = "org.apache.synapse.commons.json.JsonStreamFormatter" content_type = "application/fhir+json" [[custom_message_builders]] class = "org.apache.synapse.commons.json.JsonStreamBuilder" content_type = "application/fhir+json" [[custom_message_formatters]] class = "org.apache.axis2.transport.http.ApplicationXMLFormatter" content_type = "application/xml+fhir" [[custom_message_builders]] class = "org.apache.axis2.builder.ApplicationXMLBuilder" content_type = "application/xml+fhir" [[custom_message_formatters]] class = "org.apache.axis2.transport.http.ApplicationXMLFormatter" content_type = "application/fhir+xml" [[custom_message_builders]] class = "org.apache.axis2.builder.ApplicationXMLBuilder" content_type = "application/fhir+xml"