Skip to content

Instantly share code, notes, and snippets.

@elementechemlyn
Last active September 24, 2020 13:01
Show Gist options
  • Save elementechemlyn/a06a0c9e31ba1c81333609b7d270eff0 to your computer and use it in GitHub Desktop.
Save elementechemlyn/a06a0c9e31ba1c81333609b7d270eff0 to your computer and use it in GitHub Desktop.
Install OpenVPN. Must be Community version (otherwise get "TAP not supported" error). Service not required.
Import ovpn profile.
Find NEMS Party Key (not required uses the Spine party key: found here:https://digital.nhs.uk/services/path-to-live-environments/spine-core-common-issues-in-the-path-to-live-environments)
ldapsearch -x -H ldap://192.168.128.11 -b "ou=services, o=nhs" "(&(nhsIDCode=YES) (nhsAsSvcIA=urn:nhs:names:services:clinicals-sync:SubscriptionsApiPost))" uniqueIdentifier nhsMhsPartyKey
Lookup Message handling endpoint for Subscription Post:
ldapsearch -x -H ldap://192.168.128.11 -b "ou=services, o=nhs" "(&(nhsMhsPartyKey=[PARTY KEY GOES HERE]) (objectClass=nhsMhs) (nhsMhsSvcIA=urn:nhs:names:services:clinicals-sync:SubscriptionsApiPost))" nhsMhsEndPoint
Lookup Message handling endpoint for Subscription Read:
ldapsearch -x -H ldap://192.168.128.11 -b "ou=services, o=nhs" "(&(nhsMhsPartyKey=YES-0000806) (objectClass=nhsMhs) (nhsMhsSvcIA=urn:nhs:names:services:clinicals-sync:SubscriptionsApiGet))" nhsMhsEndPoint
Lookup Message handling endpoint for Subscription Delete:
ldapsearch -x -H ldap://192.168.128.11 -b "ou=services, o=nhs" "(&(nhsMhsPartyKey=YES-0000806) (objectClass=nhsMhs) (nhsMhsSvcIA=urn:nhs:names:services:clinicals-sync:SubscriptionsApiDelete))" nhsMhsEndPoint
URNS for evennts found here:https://developer.nhs.uk/apis/ems-beta/overview_supported_events.html
Find a publish endpoints for events:
ldapsearch -x -H ldap://192.168.128.11 -b "ou=services, o=nhs" "(&(nhsMhsPartyKey=YES-0000806) (objectClass=nhsMhs) (nhsMhsSvcIA=urn:nhs:names:services:events:Bloodspottestoutcome.Write))" nhsMhsEndPoint
ldapsearch -x -H ldap://192.168.128.11 -b "ou=services, o=nhs" "(&(nhsMhsPartyKey=YES-0000806) (objectClass=nhsMhs) (nhsMhsSvcIA=urn:nhs:names:services:events:Newbornhearing.Write))" nhsMhsEndPoint
ldapsearch -x -H ldap://192.168.128.11 -b "ou=services, o=nhs" "(&(nhsMhsPartyKey=YES-0000806) (objectClass=nhsMhs) (nhsMhsSvcIA=urn:nhs:names:services:events:Nipeoutcome.Write))" nhsMhsEndPoint
ldapsearch -x -H ldap://192.168.128.11 -b "ou=services, o=nhs" "(&(nhsMhsPartyKey=YES-0000806) (objectClass=nhsMhs) (nhsMhsSvcIA=urn:nhs:names:services:events:Professionalcontacts.Write))" nhsMhsEndPoint
ldapsearch -x -H ldap://192.168.128.11 -b "ou=services, o=nhs" "(&(nhsMhsPartyKey=YES-0000806) (objectClass=nhsMhs) (nhsMhsSvcIA=urn:nhs:names:services:events:Vaccinations.Write))" nhsMhsEndPoint
Post a subscription (fromASID,Cert and Key get sent when registering for opentest. toASID foyund in ldapsearch). Content Type defaults to fhir/xml
curl -k --cert Cert.txt --key Key.txt -H "fromASID:91890000000306" -H "InteractionID:urn:nhs:names:services:clinicals-sync:SubscriptionsApiPost" -d "@createsub.data" -X POST https://192.168.128.11/STU3/Subscription
ooops... neads an authorization header with a JWT token (https://developer.nhs.uk/apis/ems-beta/subscription_general_api_guidance.html)
https://developer.nhs.uk/apis/spine-core/security_jwt.html
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment