Working with Discovery: Difference between revisions

From Discovery Data Service
Jump to navigation Jump to search
m (Addition of GitFlow link)
No edit summary
 
(13 intermediate revisions by 3 users not shown)
Line 4: Line 4:
Contact Stephen Janering (email [mailto:stephen.janering@nhs.net stephen.janering@nhs.net]) for access.  
Contact Stephen Janering (email [mailto:stephen.janering@nhs.net stephen.janering@nhs.net]) for access.  


'''How do I communicate with LHS?''' 
'''How do I upload code to the Github repository?'''
 
Where LHS are asked to support an organisation, all communication is via [[Jira]].  This helps to ensure that issues and questions are tracked, lessons are learnt and activity can be reported.
 
'''How do I upload code to the Github repository?'''  


Contact Stephen Janering (email [mailto:stephen.janering@nhs.net stephen.janering@nhs.net]) for access and ways of working. See [[GitHub repositories]] for a description of each repository.  
Contact Stephen Janering (email [mailto:stephen.janering@nhs.net stephen.janering@nhs.net]) for access and ways of working. See [[GitHub repositories]] for a description of each repository.  
Line 32: Line 28:
'''What is the capacity of the DDS?'''
'''What is the capacity of the DDS?'''


<TBC>
The Discovery Data Service has been designed from the ground up to work in the cloud with a modular architecture designed to scale. The current cloud provider has the capacity to go well beyond all patient records in the UK, the current system is operating at over 12.5 million distinct patient records. See [[Current published data]] for details on the data already published.


'''How are CDS extracts transformed?'''  
'''How are CDS extracts transformed?'''  
Line 53: Line 49:


See [[Homerton ADT FHIR Mapping]] for more details.
See [[Homerton ADT FHIR Mapping]] for more details.
'''Is there an overview of the inbound pipeline?'''
See [[Inbound Transformation Pipeline]] for more details.
'''How is data being published to the DDS monitored?'''
See [[Monitoring and alerting]] for more details.


== Development projects ==
== Development projects ==
Line 59: Line 63:
Applications should be made to the London Discovery Technical leads. Contact Stephen Janering (email [mailto:stephen.janering@nhs.net stephen.janering@nhs.net]) or Gary McAlister (email [mailto:gary.mcallister@nhs.net gary.mcallister@nhs.net]) for access.  
Applications should be made to the London Discovery Technical leads. Contact Stephen Janering (email [mailto:stephen.janering@nhs.net stephen.janering@nhs.net]) or Gary McAlister (email [mailto:gary.mcallister@nhs.net gary.mcallister@nhs.net]) for access.  


'''How do I access and use the DDS FHIR Care Connect API?'''
'''Is there an overview of the outbound data pipeline?'''  


See the [[FHIR Get Structured Record API|FHIR Care Connect API]] for more details.
See [[Outbound Transformation Pipeline]] for more details.
 
'''How do I access and use the DDS FHIR Get Structured Record API?'''
 
See the [[FHIR Get Structured Record API]] page for more details.
 
'''How do I access and use the DDS HL7v2 API?'''
 
See the [[HL7v2 API]] page for more details.


'''How do I access Jira to view current development projects?'''
'''How do I access Jira to view current development projects?'''
Line 69: Line 81:
'''What are the Standard Operating Procedures for developing for DDS?'''
'''What are the Standard Operating Procedures for developing for DDS?'''


See this document [https://drive.google.com/file/d/1RDb1NGINnNLmT0gsLiUQK1VmWSih8go4/view?usp=sharing Discovery Software Development Standard Operating Procedures.doc]  
See [https://drive.google.com/file/d/1RDb1NGINnNLmT0gsLiUQK1VmWSih8go4/view?usp=sharing Discovery Software Development Standard Operating Procedures.doc] for details that include:


Within this document you will find sections covering:
* Roles & responsibilities
 
* Development & coding standards
* Roles & Responsibilities
* Development & Coding Standards
** Java
** Java
** HTML5 & CSS
** HTML5 & CSS
** Javascript
** Javascript
* Development framework, Tools & Technologies
* Development framework, tools & technologies
* Development Environments
* Development environments
* Processes & Controls
* Processes & controls
* Security & Assurance
* Security & assurance
 
'''What code reviews will take place?'''
 
The code review for all contractor submissions to DDS will cover as a minimum:
 
* Data sharing manager API has been used to control access to data
* The config database has been used correctly to establish correct connections to the correct databases
* The correct SQL connection classes and patterns have been used to ensure DB pool connections are created and released correctly
* No SQL penetration vulnerabilities
* SQL accuracy and efficiency
* The information model has been used correctly to apply the correct value sets to the queries
* REST API security and use of auth tokens
* Code algorithm accuracy
* Adequate exception handling
* Code standards adherence
* Code is adequately commented
 
In addition to the code review there will be a deployment review to check that the correct build and deployment scripts have been integrated into the project code.
 
'''What is the Software Development Project Lifecycle & Assurance Report?'''
 
A typical development project lifecycle is illustrated within the steps contained in the [https://drive.google.com/file/d/1hYmfk2pyQlWslyaDQ-5XyTSnCdCgmn2M/view?usp=sharing Project Assurance template].
 
'''How are the data feeds monitored?'''
 
A set of internal dashboards are used to monitor data flows in to and out of DDS. These dashboards have been built into an application called DDS-UI which provides many back-end DDS management utilities. For more information see the [[DDS-UI dashboards]] page.


'''Where are the GitHub Repositories and how do I access them?'''
'''Where are the GitHub Repositories and how do I access them?'''
Line 90: Line 126:


A summary of GitFlow can be found here: https://datasift.github.io/gitflow/IntroducingGitFlow.html
A summary of GitFlow can be found here: https://datasift.github.io/gitflow/IntroducingGitFlow.html
Guides to using GitHub can be found here: https://guides.github.com/


'''How is data access linked to sharing and processing agreements?'''
'''How is data access linked to sharing and processing agreements?'''
Line 100: Line 138:


== Subscriber projects ==
== Subscriber projects ==
'''Is there an overview of the outbound pipeline?'''
See [[Outbound Transformation Pipeline]] for more details.


== Primary care ==
== Primary care ==

Latest revision as of 13:11, 2 July 2021

Getting started

How do I access the DDS?

Contact Stephen Janering (email stephen.janering@nhs.net) for access.

How do I upload code to the Github repository?

Contact Stephen Janering (email stephen.janering@nhs.net) for access and ways of working. See GitHub repositories for a description of each repository.

What data sets are currently published to the DDS?

See Current data sets for the data sets that are currently published to the DDS by different supplier systems.

What data is currently published to the DDS?

See Current published data for the latest data publisher information by sector, geographical area, service, and system provider.

What is the status of the publisher feeds?

See Publisher feed status for the latest published data status of the three main system suppliers.

How do I access and add DDS wiki articles?

See Wiki tips for more details.


Publishing data

What is the capacity of the DDS?

The Discovery Data Service has been designed from the ground up to work in the cloud with a modular architecture designed to scale. The current cloud provider has the capacity to go well beyond all patient records in the UK, the current system is operating at over 12.5 million distinct patient records. See Current published data for details on the data already published.

How are CDS extracts transformed?

See Barts Health CDS FHIR Mapping.

How is data publication to the DDS secured?

See Secure publication to the DDS.

How is data stored in the DDS?

See Data storage architecture for more details.

How is data encrypted in the DDS?

Data is transferred, via HSCN, into the DDS HSCN connected AWS instance by SFTP, HTTP, or MLLP. See Secure publication to the DDS for more details.

How is ADT data mapped in FHIR?

See Homerton ADT FHIR Mapping for more details.

Is there an overview of the inbound pipeline?

See Inbound Transformation Pipeline for more details.

How is data being published to the DDS monitored?

See Monitoring and alerting for more details.

Development projects

How do I access a development version of the DDS?

Applications should be made to the London Discovery Technical leads. Contact Stephen Janering (email stephen.janering@nhs.net) or Gary McAlister (email gary.mcallister@nhs.net) for access.

Is there an overview of the outbound data pipeline?

See Outbound Transformation Pipeline for more details.

How do I access and use the DDS FHIR Get Structured Record API?

See the FHIR Get Structured Record API page for more details.

How do I access and use the DDS HL7v2 API?

See the HL7v2 API page for more details.

How do I access Jira to view current development projects?

See the Jira page for more details.

What are the Standard Operating Procedures for developing for DDS?

See Discovery Software Development Standard Operating Procedures.doc for details that include:

  • Roles & responsibilities
  • Development & coding standards
    • Java
    • HTML5 & CSS
    • Javascript
  • Development framework, tools & technologies
  • Development environments
  • Processes & controls
  • Security & assurance

What code reviews will take place?

The code review for all contractor submissions to DDS will cover as a minimum:

  • Data sharing manager API has been used to control access to data
  • The config database has been used correctly to establish correct connections to the correct databases
  • The correct SQL connection classes and patterns have been used to ensure DB pool connections are created and released correctly
  • No SQL penetration vulnerabilities
  • SQL accuracy and efficiency
  • The information model has been used correctly to apply the correct value sets to the queries
  • REST API security and use of auth tokens
  • Code algorithm accuracy
  • Adequate exception handling
  • Code standards adherence
  • Code is adequately commented

In addition to the code review there will be a deployment review to check that the correct build and deployment scripts have been integrated into the project code.

What is the Software Development Project Lifecycle & Assurance Report?

A typical development project lifecycle is illustrated within the steps contained in the Project Assurance template.

How are the data feeds monitored?

A set of internal dashboards are used to monitor data flows in to and out of DDS. These dashboards have been built into an application called DDS-UI which provides many back-end DDS management utilities. For more information see the DDS-UI dashboards page.

Where are the GitHub Repositories and how do I access them?

See the GitHub Repositories page for a list of all repositories. Applications should be made to the London Discovery Technical leads. Contact Stephen Janering (email stephen.janering@nhs.net) or Gary McAlister (email gary.mcallister@nhs.net) for access.

The code within Discovery follows the GitFlow workflow for software development where master is the main branch, develop is created for developments and feature branches are created from development where appropriate.  Once features have been developed and are ready for including in the development system the feature branches are merged back to develop and then main accordingly.

A summary of GitFlow can be found here: https://datasift.github.io/gitflow/IntroducingGitFlow.html

Guides to using GitHub can be found here: https://guides.github.com/

How is data access linked to sharing and processing agreements?

Use Data Sharing Manager to determine which data is processed and shared according to projects linked to sharing and processing agreements. See Data Sharing Manager for more details.

How is access to the data in the DDS controlled?

Data is made available to particular systems or people using attribute based access control. See Identity Authentication Authorisation for more details.

Subscriber projects

Is there an overview of the outbound pipeline?

See Outbound Transformation Pipeline for more details.

Primary care

Testing and assurance