The NRL Introduction gives a high level overview of the service and how it enables information sharing between providers and consumers. This page goes into more detail around the architecture of the NRL, the role of the providers and consumers, and how the NRL can be used to enable information sharing.
The NRL service is based on a
Registry-Repository pattern which separates the storage and retrieval of information (the repository) from the data describing the location of the information (the registry). The NRL acts as the
registry and the Provider carries out the
Providers are systems external to the NRL that expose information for retrieval, and create pointers on the NRL as a signpost to that information. The NRL can be thought of as a collection or index of pointers which are available to consumers. Consumers query the registry (NRL) to find out what repositories exist and how to access them.
Pointers are at the core of enabling information sharing, as they tell the consumer what type of information is available and how to get it. It is important that the providers keep their pointers up to date so that consumers can find and retrieve information correctly.
As the registry, the NRL does not take part in information retrieval. The retrieval interaction is between the consumer and provider, but may utilise other services such as the
Spine Secure Proxy (SSP) to help with authentication and authorisation.
The NRL exposes a number of different interactions which allows providers to maintain their pointers and consumers to search and retrieve pointers. Providers can be thought of as systems that have write access to the NRL, they can
delete pointers. Consumers can be thought of as systems that have read access to the NRL, enabling them to
search for and
Even though conceptually a consumer and a provider are different, a system connected to the service may be both a consumer and a provider at the same time.
This interaction is triggered by the provider and is usually performed as a result of an event occurring within the provider system, such as some information being recorded in a patient’s record, a document being stored, a patient registering with the healthcare service.
|Create (Supersede)||This interaction allows providers to create a new pointer which supersedes (replaces) one of their existing pointers. After storing the new pointer the NRL updates the status of the previous pointer to “superseded”, making it unavailable to consumers.
This interaction should be used where information on an existing pointer needs to be changed, for example when the retrieval URL needs changing or an additional supported retrieval format is added.
The interaction allows the Provider to update the pointer status to “entered-in-error” and the updated pointer will no longer be available to consumers.
The NRL does not take part in the retrieval of information from providers. The pointers held within the NRL should be considered as signposts to where the information can be retreived. The retrieval of information is conducted between the consumer and provider, but may utilise other services such as the
Spine Security Proxy (SSP) to help with authentication and authorisation. More detail on retrieval of information can be found on the retrieval overview page.
The NRL maintains an audit trail for all consumer/provider interactions. This audit trail begins with capturing key data from the request, information around how the NRL processes the request and ends with capturing the response that the NRL returns to the requesting system.
Providers and consumers are also required to capture audit information for NRL interactions and sharing of information. Details of the audit requirements for consumers and providers can be found on the Auditing page.