This is a service to connect to GP Connect and return the structured SCR record as a CCDA document
Current the service is designed to interact with a requesting EHR via ITI requests in order to lookup, request and convert a patients summary care record
sequenceDiagram
participant EHR
participant Service
participant NHS API's
participant Redis Cache
EHR->>Service: ITI 47 Request
Service->>NHS API's: FHIR PDS lookup
NHS API's->> Service: PDS response
Service->>EHR: ITI 47 Response
Service ->> Redis Cache: Check for cached SDS lookup
Service -->> NHS API's: SDS lookup
NHS API's -->> Service: SDS Response
Redis Cache ->> Service: Return ADIS and Fhir root
EHR->>Service: ITI 38 Request
Service->>Redis Cache: Check for cached response
Service-->>NHS API's:GPconnnect Structured SCR request
NHS API's-->> Service: Return Structured SCR
Service->>Service: convert SCR to CCDA
Service->>Redis Cache: Cache CCDA
Service->>EHR: ITI 38 Response
EHR->>Service: ITI 39 Request
Service->>EHR: ITI 39 Response
Currently on open test environment or int as able:
- ITI 47
- Fhir PDS lookup
- ITI 38 call and response
- GP Connect call
- Fhir Bundle -> CCDA conversion
- ITI 39 call and response
- Flesh out html section of CCDA
- Progress to NHS test environment
- Sign up to PDS lookup
The project is built on fastAPI and pipenv for package management
to run locally
pipenv shell
pipenv install --dev
the project requires an active redis server running on port 6379 this should be activated first by running (for example)
redis-server /etc/redis/6379.conf
the server can then be started using
uvicorn app.main:app --reload
The project can also be run using docker. Ensure you have a valid installation and simple run
docker-compose up
Development will take place on Dev, check there for latest progress. Feature development should be checked out onto their own branch.
Demo
is the branch for the internet facing demo, currently on heroku.
Integration
will be for final intergration testing and Main
will host final production builds
flowchart TD
Feature --> Dev --> Feature
Dev --PR --> Integration
Integration --PR-->Main
Dev -.-> Demo
click Dev href "https://github.com/SAFEHR-data/Xhuma/tree/dev"