Skip to content

Commit

Permalink
Documentation update
Browse files Browse the repository at this point in the history
  • Loading branch information
KevinMayfield committed Jan 9, 2025
1 parent 76c4571 commit 0d30d82
Show file tree
Hide file tree
Showing 3 changed files with 60 additions and 0 deletions.
47 changes: 47 additions & 0 deletions input/images-source/component.plantuml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
@startuml


interface "FHIR RESTful API" as api

component "FHIR Validation" as validator
note right
HAPI FHIR Plain Server
end note

component "NHS England Terminology Server" as onto
note right
Used for validating SNOMED Terminology
end note

component "Inbuilt Terminology Server" as internal
note right
Pre loaded with FHIR Profiles, ValueSets
and CodeSystems from supplied FHIR Packages
end note

interface "FHIR RESTful API" as Facade
note right
Facade which handles Onto Server
authentication
end note

interface "FHIR RESTful API" as AWSFacade
note right
Facade which handles Cognito
authentication
end note

component AWSFHIRWorks
note right
Repository of FHIR Questionnsaire's
end note


api -- validator
validator -- Facade
validator -- internal
validator -- AWSFacade
Facade -- onto
AWSFacade -- AWSFHIRWorks

@enduml
Binary file added input/images/component-diagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 13 additions & 0 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,16 @@ The configuration is aimed at supporting different use cases. For example the la

See [Environmental Variables](environment-variables.md) for configuration options.

## Architecture

The Validator is based on [HAPI FHIR Instance Validator](https://hapifhir.io/hapi-fhir/docs/validation/instance_validator.html), which is exposed using a [HAPI FHIR Plain Server](https://hapifhir.io/hapi-fhir/docs/server_plain/server_types.html) which gives an FHIR RESTful API to a [FHIR $validate operation](https://www.hl7.org/fhir/resource-operation-validate.html).
This API is documented via [OpenAPI Specification (swagger)](https://swagger.io/specification/) as part of the service [here](http://lb-fhir-validator-924628614.eu-west-2.elb.amazonaws.com/swagger-ui/index.html)

![validator component diagram](./input/images/component-diagram.png)

Internally validation configuration is composed of:

- `DefaultProfileValidationSupport` - which includes base FHIR CodeSystems and ValueSets
- `CommonCodeSystemsTerminologyService` - which includes UK Core and NHS England FHIR NPM packages
- A customised version of `TerminologyServiceValidationSupport` to handle the security mechanism of NHS England's Terminology Server
- `AWSValidationSupport` a custom class to enable validation of FHIR QuestionnaireResponse using FHIR Questionnaire's stored a AWS FHIRWorks server.

0 comments on commit 0d30d82

Please sign in to comment.