Developer Cheat Sheet shortcuts for the technical build of NRL API.
Important: This site is under active development by NHS Digital and is intended to provide all the technical resources you need to successfully develop APIs. This project is being developed using an agile methodology, so iterative updates to content will be added on a regular basis.
Warning: This site is provided for information only and is intended for those engaged with NHS Digital on the development of APIs. It is advised not to develop against these specifications until a formal announcement has been made.
1. Profiles:
Important: The NRL DocumentReference profile has been updated and has also been renamed from NRLS-DocumentReference-1 to NRL-DocumentReference-1.
Links to the NRL FHIR profiles on the NHS FHIR Reference Server.
Profile | Description |
---|---|
NRL-DocumentReference-1 | A DocumentReference resource is used to describe a record that is made available to a healthcare system. |
Spine-OperationOutcome-1 | Operation Outcome resource that supports a collection of error, warning or information messages that result from a NRL Service Spine interaction. |
Spine-OperationOutcome-1-0 | The default Spine OperationOutcome profile resource that supports exceptions raised by the Spine common requesthandler and not the NRL Service. |
Note: Major changes to the pointer model will be reflected in the NRL DocumentReference FHIR profile, using the naming convention
The FHIR profile which the pointer conforms to will be indicated in the
NRL-DocumentReference-[major_version]
. The FHIR profile which the pointer conforms to will be indicated in the
DocumentReference.meta.profile
metadata attribute to enable Consumers to support the different versions of the pointer model. Pointers conforming to the NRLS-DocumentReference-1 profile (v1.2.3-beta specification) will not have this attribute populated.2. NRL Data Model to FHIR Profile Mapping
The table maps the ‘lean alpha’ Solution Data Model to NRL-DocumentReference-1 profile elements.
Data Item | FHIRPath | Data Type | Card | Description |
---|---|---|---|---|
Identifier | id |
string | 0..1 | Assigned by the NRL at creation time. Uniquely identifies this record within the NRL. Used by Providers to update or delete. |
Profile | meta |
uri | 0..1 | The URI of the FHIR profile that the resource conforms to. Indicates the version of the pointer model. |
Version | meta |
string | 0..1 | Assigned by the NRL at creation or update time. Used to track the current version of a Pointer. |
Pointer last updated datetime | meta |
datetime | 0..1 | Assigned by the NRL at creation and update time. The date and time that the pointer was last updated. |
Pointer indexed datetime | indexed |
datetime | 0..1 | Assigned by the NRL at creation time. The date and time that the pointer was created. |
Master Identifier | masterIdentifier |
Identifier | 0..1 | An optional identifier of the document as assigned by the Provider. It is version specific — a new master identifier is required if the document is updated. |
masterIdentifier |
Uri | 1..1 | The namespace for the identifier. This element must be completed if the masterIdentifier is to be included. | |
masterIdentifier |
String | 1..1 | The unique value of the identifier. This element must be completed if the masterIdentifier is to be included. | |
Pointer Status | status |
Code | 1..1 | The status of the pointer |
Patient | subject |
Reference | 1..1 | The NHS number of the patient that the record referenced by this Pointer relates to. Supports Pointer retrieval scenarios. |
Pointer owner | custodian |
Reference | 1..1 | ODS code for the pointer owner organization. |
Record owner | author |
Reference | 1..1 | ODS code for the record owner organization. |
Record category | class |
CodeableConcept | 1..1 | A high-level category of the record. The category will be one of a controlled set. It will not be possible to create a pointer with a category that does not exist within this controlled set |
class |
Uri | 1..1 | Identity of the terminology system | |
class |
Code | 1..1 | Symbol in syntax defined by the system | |
class |
String | 1..1 | Representation defined by the system | |
Record type | type |
CodeableConcept | 1..1 | The clinical type of the record. Used to support searching to allow Consumers to make sense of large result sets of Pointers. |
type |
Uri | 1..1 | Example Value: http://snomed.info/sct. | |
type |
Code | 1..1 | Symbol in syntax defined by the system. Example Value: 736253002 | |
type |
String | 1..1 | Representation defined by the system. | |
Record creation clinical setting | context |
CodeableConcept | 1..1 | Describes where the content was created, in what clinical setting |
context |
Uri | 1..1 | Identity of the terminology system | |
context |
Code | 1..1 | Symbol in syntax defined by the system | |
context |
String | 1..1 | Representation defined by the system | |
Period of care | context |
Period | 0..1 | Details the time at which the documented care is relevant |
context |
dateTime | 1..1 | Starting time with inclusive boundary | |
context |
dateTime | 0..1 | End time with inclusive boundary, if not ongoing | |
Pointer referenced | content[0] |
BackboneElement | 1..* | Record referenced |
Record creation datetime | content[0] |
dateTime | 0..1 | The date and time (on the Provider’s system) that the record was created, for static records. |
Record URL | content[0] |
uri | 1..1 | Absolute URL for the location of the record on the Provider’s system and/ or a service that allows you to look up information based on the provider url e.g. web page with service contact details. |
Record format | content[0] |
Coding | 1..1 | Describes the technical structure and rules of the record such that the Consumer can pick an appropriate mechanism to handle the record. |
content[0] |
Uri | 1..1 | Identity of the terminology system | |
content[0] |
Code | 1..1 | Symbol in syntax defined by the system | |
content[0] |
String | 1..1 | Representation defined by the system | |
Record MIME type | content[0] |
code | 1..1 | Describes the type of data such that the Consumer can pick an appropriate mechanism to handle the record. |
Record Stability | content[0] |
Extension | 1..1 | Record content extension |
content[0] |
Uri | 1..1 | identifies the meaning of the extension | |
content[0] |
CodeableConcept | 1..1 | Describes whether the record content at the time of the request is dynamically generated or is static | |
content[0] |
Uri | 1..1 | Identity of the terminology system | |
content[0] |
Code | 1..1 | Symbol in syntax defined by the system | |
content[0] |
String | 1..1 | Representation defined by the system | |
Related documents | relatesTo |
BackboneElement | 0..1 | Relationship to another pointer |
relatesTo |
Code | 1..1 | The type of relationship between the documents. This element is mandatory if the relatesTo element is sent and the value MUST be replaces. | |
relatesTo |
Reference | 1..1 | The Target of the relationship. This should contain the logical reference to the target DocumentReference held within the NRL using the identifier property of this Reference Data Type. |
3. ValueSets
Important: The NRL RecordType valueset has been renamed from NRLS-RecordType-1 to NRL-RecordType-1.
Links to the NRL FHIR value sets on the NHS FHIR Reference Server.
Valueset | Description |
---|---|
NRL-RecordType-1 | A ValueSet that identifies the NRL record type. |
NRL-FormatCode-1 | A ValueSet that identifies the NRL record format. |
NRL-PracticeSetting-1 | A ValueSet that identifies the NRL record practice setting. |
NRL-RecordClass-1 | A ValueSet that identifies the NRL record category. |
NRL-ContentStability-1 | A ValueSet that identifies the NRL record stability. |
Spine-ErrorOrWarningCode-1 | A ValueSet that identifies the Spine error or warning code in response to a request. |
Spine-Response-Code-1-0 | A set of codes to indicate low level error information about a Spine 2 error response to a request for patient record details. Exceptions raised by the Spine common requesthandler and not the NRL Service will be returned using the Spine default spine-operationoutcome-1-0 profile which binds to this default valueSet. |
Note: Display values for SNOMED CT concepts MUST be as listed in the FHIR value sets. The display value is the preferred term and one of the synonyms for the concept, not the Fully Specified Name, as described in the FHIR guidance for usage of SNOMED CT.
4. Extensions
Links to the NRL FHIR Extensions on the NHS FHIR Reference Server.
Extension | Description |
---|---|
Extension-NRL-ContentStability-1 | NRL Record Content Stability. |
5. CodeSystems
Links to the NRL FHIR CodeSystems on the NHS FHIR Reference Server.
CodeSystem | Description |
---|---|
Spine-ErrorOrWarningCode-1 | Spine error codes and descriptions. |
NRL-ContentStability-1 | NRL record stability codes and descriptions. |
NRL-FormatCode-1 | NRL record format codes and descriptions. |
6. Identifiers
NRL supported URI’s:
identifier | URI | Comment |
---|---|---|
Logical ID |
[baseurl]/DocumentReference/[id] |
Pointer identifier |
Patient |
https://demographics.spineservices.nhs.uk/STU3/Patient/[NHS Number] |
Patient NHS Number |
Organisation |
https://directory.spineservices.nhs.uk/STU3/Organization/[ODS Code] |
Record author or record owner ODS code |
Master Identifier |
Identifier=[system]%7C[value] |
Pointer local/business indentifier |
Warning: The URI’s on subdomain
spineservices.nhs.uk
are currently not resolvable, however this will change in the future where references relate to FHIR endpoints in our national systems.7. Examples
JSON Example
A JSON example of a DocumentReference resource is displayed below.
XML Example
An XML example of a DocumentReference resource is displayed below.