Skip to content

Commit

Permalink
init NHS sandbox
Browse files Browse the repository at this point in the history
  • Loading branch information
AnalogJ committed Feb 13, 2024
1 parent 50caf29 commit bac5ee6
Show file tree
Hide file tree
Showing 7 changed files with 98 additions and 5 deletions.
18 changes: 18 additions & 0 deletions catalog/brands.json
Original file line number Diff line number Diff line change
Expand Up @@ -8070,6 +8070,24 @@
"0140ca6f-a2e2-4c23-a5b1-ec849a6c6d61"
]
},
"01489768-a98d-459f-8acf-f928fd6b4f94": {
"id": "01489768-a98d-459f-8acf-f928fd6b4f94",
"identifiers": [
{
"use": "fasten-sandbox-mode",
"system": "fasten-sandbox-mode",
"value": "true"
}
],
"last_updated": "2024-01-13T11:12:44-08:00",
"name": "NHS",
"portal_ids": [
"eee62c93-02f8-44f8-b9fc-4db000f26898"
],
"brand_ids": [
"01489768-a98d-459f-8acf-f928fd6b4f94"
]
},
"014c21e2-2882-48a7-b749-e027da148d4a": {
"id": "014c21e2-2882-48a7-b749-e027da148d4a",
"identifiers": [
Expand Down
17 changes: 17 additions & 0 deletions catalog/endpoints.json
Original file line number Diff line number Diff line change
Expand Up @@ -111598,6 +111598,23 @@
"smart_configuration_url": "https://fhir-myrecord.cerner.com/r4/8e2ece22-3efe-4cb1-860b-5b67b6cf3ea9/.well-known/smart-configuration",
"fhir_capabilities_url": "https://fhir-myrecord.cerner.com/r4/8e2ece22-3efe-4cb1-860b-5b67b6cf3ea9/metadata"
},
"982b218a-ce90-4869-a33a-aa4231547fe8": {
"id": "982b218a-ce90-4869-a33a-aa4231547fe8",
"identifiers": [
{
"use": "fasten-sandbox-mode",
"system": "fasten-sandbox-mode",
"value": "true"
}
],
"last_updated": "2024-01-13T11:12:44-08:00",
"status": "active",
"connection_type": "hl7-fhir-rest",
"platform_type": "nhs",
"url": "https://int.api.service.nhs.uk/personal-demographics/FHIR/R4/",
"authorization_endpoint": "https://int.api.service.nhs.uk/oauth2-mock/authorize",
"token_endpoint": "https://int.api.service.nhs.uk/oauth2-mock/token"
},
"9841ea48-7ca7-4eeb-89b3-f1439aea27d6": {
"id": "9841ea48-7ca7-4eeb-89b3-f1439aea27d6",
"identifiers": [
Expand Down
16 changes: 16 additions & 0 deletions catalog/portals.json
Original file line number Diff line number Diff line change
Expand Up @@ -715423,6 +715423,22 @@
"c80fbbc2-ad04-4a3c-90a3-f94ebeb9f34e"
]
},
"eee62c93-02f8-44f8-b9fc-4db000f26898": {
"id": "eee62c93-02f8-44f8-b9fc-4db000f26898",
"identifiers": [
{
"use": "fasten-sandbox-mode",
"system": "fasten-sandbox-mode",
"value": "true"
}
],
"last_updated": "2024-01-13T11:12:44-08:00",
"name": "NHS (Sandbox)",
"description": "Warning: Under Development",
"endpoint_ids": [
"982b218a-ce90-4869-a33a-aa4231547fe8"
]
},
"eee66830-6801-4261-8203-48edd76a3b9a": {
"id": "eee66830-6801-4261-8203-48edd76a3b9a",
"identifiers": [
Expand Down
3 changes: 2 additions & 1 deletion definitions/models/lighthouse_endpoint_definition.go
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,8 @@ func (def *LighthouseSourceDefinition) Populate(
def.PlatformType == pkg.PlatformTypeNetsmart ||
def.PlatformType == pkg.PlatformTypeQualifactsCredible ||
def.PlatformType == pkg.PlatformTypeQualifactsCareLogic ||
def.PlatformType == pkg.PlatformTypeQualifactsInSync {
def.PlatformType == pkg.PlatformTypeQualifactsInSync ||
def.PlatformType == pkg.PlatformTypeNHS {
//remove trailing slash for audience for CareEvolution & Anthem
def.Audience = strings.TrimSuffix(def.Audience, "/")
}
Expand Down
38 changes: 38 additions & 0 deletions definitions/platform/nhs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# MANUALLY POPULATED
platform_type: nhs

# https://digital.nhs.uk/developer/api-catalogue/personal-demographics-service-fhir
scopes_supported:
- 'nhs-login'
grant_types_supported:
- authorization_code
response_types_supported:
- code
response_modes_supported:
- query
code_challenge_methods_supported: []
# - S256
confidential: true
cors_relay_required: false
documentation: |
developer forums - https://developer.community.nhs.uk/
test user ids - https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation/testing-apis-with-our-mock-authorisation-service#test-users-for-nhs-login
Existing Apps - https://digital.nhs.uk/developer/api-catalogue/personal-demographics-service-fhir/integrated-products
Developer Portal - https://onboarding.prod.api.platform.nhs.uk/MyApplications
Standard Test Data - https://digital.nhs.uk/services/path-to-live-environments/setting-up-test-data-in-our-path-to-live-environments
PDS Test Data - https://digital.nhs.uk/developer/api-catalogue/personal-demographics-service-fhir/pds-fhir-api-test-data#production-smoke-testing
Integration testing auth options - https://digital.nhs.uk/developer/guides-and-documentation/testing#integration-testing-with-our-restful-apis
Contact Information - https://digital.nhs.uk/developer/help-and-support
Auth Environmnets - https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation/user-restricted-restful-apis-nhs-login-combined-authentication-and-authorisation
Scopes - https://nhsconnect.github.io/nhslogin/scopes-and-claims/
The available test users are:
User ID Proofing level
9912003071 High - P9
9912003072 Medium - P5
9912003073 Low - P0
client_headers:
Accept: "application/json+fhir"
missing_op_patient_everything: true
client_supported_resources: []
10 changes: 6 additions & 4 deletions pkg/platform_type.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ const (
PlatformTypeAdvancedmd PlatformType = "advancedmd"
PlatformTypeAetna PlatformType = "aetna"
PlatformTypeAllscripts PlatformType = "allscripts"
PlatformTypeAnthem PlatformType = "anthem"
PlatformTypeAthena PlatformType = "athena"
PlatformTypeBcbsal PlatformType = "bcbsal"
PlatformTypeAnthem PlatformType = "anthem"
PlatformTypeCareevolution PlatformType = "careevolution"
PlatformTypeCerner PlatformType = "cerner"
PlatformTypeCigna PlatformType = "cigna"
Expand All @@ -28,11 +28,12 @@ const (
PlatformTypeMedicare PlatformType = "medicare"
PlatformTypeMeditech PlatformType = "meditech"
PlatformTypeMeldrx PlatformType = "meldrx"
PlatformTypeNHS PlatformType = "nhs"
PlatformTypeNetsmart PlatformType = "netsmart"
PlatformTypeNextgen PlatformType = "nextgen"
PlatformTypePracticeFusion PlatformType = "practicefusion"
PlatformTypeQualifactsCredible PlatformType = "qualifacts-credible"
PlatformTypeQualifactsCareLogic PlatformType = "qualifacts-carelogic"
PlatformTypeQualifactsCredible PlatformType = "qualifacts-credible"
PlatformTypeQualifactsInSync PlatformType = "qualifacts-insync"

PlatformTypeUnitedhealthcare PlatformType = "unitedhealthcare"
Expand All @@ -51,9 +52,9 @@ func GetPlatformTypes() []PlatformType {
PlatformTypeAdvancedmd,
PlatformTypeAetna,
PlatformTypeAllscripts,
PlatformTypeAnthem,
PlatformTypeAthena,
PlatformTypeBcbsal,
PlatformTypeAnthem,
PlatformTypeCareevolution,
PlatformTypeCerner,
PlatformTypeCigna,
Expand All @@ -68,11 +69,12 @@ func GetPlatformTypes() []PlatformType {
PlatformTypeMedicare,
PlatformTypeMeditech,
PlatformTypeMeldrx,
PlatformTypeNHS,
PlatformTypeNetsmart,
PlatformTypeNextgen,
PlatformTypePracticeFusion,
PlatformTypeQualifactsCredible,
PlatformTypeQualifactsCareLogic,
PlatformTypeQualifactsCredible,
PlatformTypeQualifactsInSync,
PlatformTypeUnitedhealthcare,
PlatformTypeVahealth,
Expand Down
1 change: 1 addition & 0 deletions testutils/html/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -218,6 +218,7 @@ <h2 class="mb-0">
<option>offline</option>
<option>offline_access</option>
<option>launch/patient</option>
<option>nhs-login</option>
</optgroup>
<optgroup>
<option>patient/*.read</option>
Expand Down

0 comments on commit bac5ee6

Please sign in to comment.