Change order of the documentation parts to: 1. for users (user documentation), 2. for administrators (setup and config), 3. for developers (architecture)

This commit is contained in:
Markus Mandalka 2024-10-30 10:46:26 +01:00
parent 777719df07
commit 8cd13bc6e8

View File

@ -14,24 +14,46 @@ This bulk FHIR validation environment **aggregates/groups and presents validatio
![Bulk FHIR validation](bulk-fhir-validation.png)
## Based on open standards and powerfull and flexible Open Source Software
## Usage
Therefore this validation environment uses following standards and Open Source Software by the Python Library [fhirvalidation.py](home/fhirvalidation.py):
### Web UI
- Loading FHIR resources to be validated by [FHIR search](https://www.hl7.org/fhir/search.html) (for documentation see section "Select resources to be validated by FHIR Search parameters" below)
- [FHIR validation](https://www.hl7.org/fhir/validation.html#op) by [HAPI FHIR Validator](https://hapifhir.io/hapi-fhir/docs/validation/introduction.html) configured by Docker environment variables
- Aggregation by [Python Pandas](https://pandas.pydata.org/docs/user_guide/index.html) dataframe
- Presentation of validation results in web UI by [Jupyter Lab](https://jupyterlab.readthedocs.io/en/latest/)
Access the [web user interface of Jupyter Lab](https://jupyterlab.readthedocs.io/en/latest/) on the configured (default: 80) port:
http://yourserver/
## Architecture
#### Login
![Software architecture](bulk-fhir-validator.drawio.png)
Login with the initial password / token you configured in .env
## Installation and Configuration
#### Start validation
Now you can start the validation and aggregation of validation results.
Therefore run the Jupyter Notebook [fhir-validation.ipynb](home/fhir-validation.ipynb).
#### Navigate validation results
You can navigate the validation results by "Table of Content" of Jupyter Lab. Therefore switch the left navigation bar from "File browser" to "Table of Contents".
### User documentation
The further user documentation is embedded in the Jupyter Notebook:
The different outputs are described in markdown cells and used parameters are described in the code cells.
### Select resources to be validated by FHIR Search parameters
You can select/filter the resources to be validated by [FHIR search](https://www.hl7.org/fhir/search.html) parameters.
For filter options you can set `search_parameters`, see [FHIR search common parameters for all resource types](https://www.hl7.org/fhir/search.html#standard), as well as additional FHIR search parameters for certain resource types like [Patient](https://www.hl7.org/fhir/patient.html#search), [Condition](https://www.hl7.org/fhir/condition.html#search), [Observation](https://www.hl7.org/fhir/observation.html#search), ...
## Installation and configuration
### Setup FHIR Packages
@ -73,48 +95,30 @@ Start the validation environment by
docker compose up -d
``
## Usage
## Software architecture
### Web UI
### Based on open standards and powerful and flexible Open Source Software
Access the [web user interface of Jupyter Lab](https://jupyterlab.readthedocs.io/en/latest/) on the configured (default: 80) port:
http://yourserver/
The FHIR validation environment uses following standards and Open Source Software by the Python Library [fhirvalidation.py](home/fhirvalidation.py):
- Loading FHIR resources to be validated by [FHIR search](https://www.hl7.org/fhir/search.html) (for documentation see section "Select resources to be validated by FHIR Search parameters" below)
- [FHIR validation](https://www.hl7.org/fhir/validation.html#op) by [HAPI FHIR Validator](https://hapifhir.io/hapi-fhir/docs/validation/introduction.html) configured by Docker environment variables
- Aggregation by [Python Pandas](https://pandas.pydata.org/docs/user_guide/index.html) dataframe
- Presentation of validation results in web UI by [Jupyter Lab](https://jupyterlab.readthedocs.io/en/latest/)
#### Login
### Software architecture diagram
Login with the initial password / token you configured in .env
Visualization of the components and the deployment:
#### Start validation
Now you can start the validation and aggregation of validation results.
Therefore run the Jupyter Notebook [fhir-validation.ipynb](home/fhir-validation.ipynb).
#### Navigate validation results
You can navigate the validation results by "Table of Content" of Jupyter Lab. Therefore switch the left navigation bar from "File browser" to "Table of Contents".
#### User documentation
The further user documentation is embedded in the Jupyter Notebook:
The different outputs are described in markdown cells and used parameters are described in the code cells.
### Select resources to be validated by FHIR Search parameters
You can select/filter the resources to be validated by [FHIR search](https://www.hl7.org/fhir/search.html) parameters.
For filter options you can set `search_parameters`, see [FHIR search common parameters for all resource types](https://www.hl7.org/fhir/search.html#standard), as well as additional FHIR search parameters for certain resource types like [Patient](https://www.hl7.org/fhir/patient.html#search), [Condition](https://www.hl7.org/fhir/condition.html#search), [Observation](https://www.hl7.org/fhir/observation.html#search), ...
![Software architecture](bulk-fhir-validator.drawio.png)
### Python library
If you dont want to use Jupyter Lab as a user interface (e.g. if you want to generate markdown for CI/CD reports), you can use the Python library [fhirvalidation.py](home/fhirvalidation.py) returning a [pandas](https://pandas.pydata.org/docs/user_guide/index.html) dataframe independent from Jupyter Lab.
If you don't want to use Jupyter Lab as a user interface (e.g. if you want to generate markdown for CI/CD reports), you can use the Python library [fhirvalidation.py](home/fhirvalidation.py) returning a [pandas](https://pandas.pydata.org/docs/user_guide/index.html) dataframe independent from Jupyter Lab.
In the Jupyter Notebook, you can find documentation on how to use the library, including example with code snippets.