Publisher API HL7 Segments and Current published data: Difference between pages

From Discovery Data Service
(Difference between pages)
Jump to navigation Jump to search
(Latest Version)
 
No edit summary
 
Line 1: Line 1:
== Introduction ==
This article provides the latest data publisher information by sector, geographical area, service, and system provider.
Below are all of the segments that a DDS Publisher using the HL7 API can send. The definitions below are generic and hence are relatively permissive. In the context of a specific message the segment various segment definitions may be refined to take account of the data needed to complete the business function associated with the message. More detail can be found on the [[Publisher API HL7 Messages|HL7 API messages page]]


== Coded fields ==
'''Total number of distinct person records in the Discovery Data Service = 14,350,816'''
Note that currently only a subset of the coded fields that are specified in the segments below are interpreted by DDS (see below). The remainder are left as-is once ingested in to DDS are are not processed further. In this latter case it is recommended that publishers take note of the suggested code sets as in the future it might be that these fields are interpreted by DDS and therefore a mapping exercise will need to be undertaken to map from publisher local codes to a core DDS code set.


* Primary Language - PID:15
=== GP practices ===
* Religion - PID:17
Total number of distinct GP patient records = 16,865,529
* Ethnic Group - PID:22
* Admission Type -  PV1:4
* Hospital Service - PV1:10
* Admit Source - PV1:14
* Patient Type - PV1:18
* Discharge Disposition - PV1:36
* Discharged to Location - PV1:37


== MSA - Message acknowledgement ==
* [[#NEL|North East London]] = 5,738,475
*[[#NWL|North West London]] = 6,202,961
* [[#SEL|South East London]] = 4,893,057
* Other = 31,036
{{Note|10 years' of 'left and deads' data is included for inner North East London - City & Hackney, Newham, Tower Hamlets, and Waltham Forest.}}


=== Overview ===
Total number of GP practices = 850
The MSA segment contains information sent whilst acknowledging an inbound message. The following rules govern the nature of the acknowledgement -


* If the message could not be saved to the DDS message store then an AR (failure occurred, retry) acknowledgement code is returned.
*[[#NEL|North East London]] = 293
* If the message is malformed, or fails sender, recipient or message type checks, or is missing a message control ID, or fails for an unexpected reason, an AE (failure occurred, move to next message) acknowledgement code is returned.
*[[#NWL|North West London]] = 351
* If the message passes the above checks and is saved to the message store, an AA (success) acknowledgement code is returned.
*[[#SEL|South East London]] = 204
* If the message receiver fails to send an acknowledgement (e.g. network outage, hardware failure etc), it is expected the sender will automatically re attempt to send the message.
* Other = 2
{{Note| This also includes closed GP practices.}}


=== Definition ===
=== Acute services ===
{| class="wikitable"
!Field
!Component
!Data Type
!Optionality
!Repeating
!Description
!Example
|-
|MSA:1 - Acknowledgement code
|MSH:1.1
|ID
|R
|N
|Message type. Allowed values are from table [[Publisher API Code Sets#DDS-HL7v2-AckCode|DDS-HL7v2-AckCode]]
|
|-
|MSA:2 - Message control ID
|MSH:1.1
|ST
|R
|N
|Unique (to DDS) identifier assigned by DDS
|
|-
|-
|MSA:3 - Text message
|MSA:3.1
|ST
|O
|N
|Further describes an error condition (may not always be provided by DDS)
|
|}


== MSH - Message Header ==
* Total number of acute patient records = 4,860,994
*[[Category:Data Sets]] Total number of acute services = 4


=== Overview ===
=== Community and Mental Health services ===
The MSH segment defines the intent, source, destination, and some specifics of the syntax of a message


=== Definition ===
*Total number of Community and Mental Health patient records = 6,412,596
{| class="wikitable"
*Total number of Community and Mental Health services = 108
!Field
!Component
!Data Type
!Optionality
!Repeating
!Description
!Example
|-
|MSH.1 - Field Separator
|MSH:1.1
|ST
|R
|N
|Defines the character to be used as the separator in the message
|
|-
|MSH.2 - Encoding characters
|MSH:2.1
|ST
|R
|N
|Contains (in the following order) component separator, repetition separator, escape character, and subcomponent separator
|
|-
|MSH:3 - Sending application
|MSH:3.1
|ST
|R
|N
|Sending application name
|
|-
|MSH:4 - Sending facility
|MSH:4.1
|ST
|R
|N
|Sending facility name
|
|-
|MSH:5 - Receiving application
|MSH:5.1
|ST
|R
|N
|Receiving application name
|
|-
|MSH:6 - Receiving facility
|MSH:6.1
|ST
|R
|N
|Receiving facility name
|
|-
|MSH:7 - Message timestamp
|MSH:7.1
|DT
|R
|N
|Datetime that the sending system created the message
|
|-
|-
| rowspan="3" |MSH:9 - Message type
| -
| -
|R
|N
|
|
|-
|MSH:9.1
|ID
|R
|N
|Message type. Values SHOULD be from table [[Publisher API Code Sets#DDS-HL7v2-MessageType|DDS-HL7v2-MessageType]]
|
|-
|MSH:9.2
|ID
|R
|N
|Trigger event. Values SHOULD be from table [[Publisher API Code Sets#DDS-HL7v2-EventType|DDS-HL7v2-EventType]]
|
|-
|MSH:10 - Message control ID.
|MSH:10.1
|ST
|R
|N
|This must be unique for all messages sent to DDS by each publisher. However, DDS does not currently detect or reject duplicate messages based on this value, so it is important that each publisher enforces this themselves.
|
|-
|MSH:11 - Processing ID
|MSH:11.1
|PT
|O
|N
|In production MUST be "P"
|
|-
|MSH:12 - Message version
|MSH:12.1
|ID
|R
|N
|The version of HL7 that this message conforms to. MUST be "2.3"
|
|}


== EVN - Event Type ==
=== Other services ===


=== Overview ===
*Total number of other patient records = 3,556,666
The EVN segment is used to communicate trigger event information to receiving applications
*Total number of other services = 22


=== Definition ===
===<span id="NEL"><span>North East London ===
{| class="wikitable"
<table class="borders">
!Field
<tr>
!Component
<th colspan="3" class="borders" style="border-bottom: solid 1px black">Primary Care GP</th>
!Data Type
<th colspan="2" class="borders" style="border-bottom: solid 1px black">Secondary Care</th>
!Optionality
<th class="borders" style="border-bottom: solid 1px black">Unscheduled Care</th>
!Repeating
<th colspan="2" class="borders" style="border-bottom: solid 1px black">Community &amp; Mental Health</th>
!Description
</tr>
!Example
<tr>
|-
<td class="borders" style="background-color: #ff9800;color: #ffffff;font-weight: bold;">EMIS Web</td>
|EVN:1 - Event Type Code
<td class="borders" style="background-color: #ff9800;color: #ffffff;font-weight: bold;">SystmOne</td>
|EVN:1.1
<td class="borders" style="background-color: #ff9800;color: #ffffff;font-weight: bold;">Vision</td>
|ID
<td class="borders" style="background-color: #37474f;color: #ffffff;font-weight: bold;">Cerner Millenium</td>
|O
<td class="borders" style="background-color: #37474f;color: #ffffff;font-weight: bold;">Medway</td>
|N
<td class="borders" style="background-color: #ff9800;color: #ffffff;font-weight: bold;">Adastra</td>
|The value should be the same as theMSH:9.2 (trigger event)
<td class="borders" style="background-color: #37474f;color: #ffffff;font-weight: bold" ; "border-bottom: solid 1px black";>EMIS Web<br/> Community</td>
|
<td class="borders" style="background-color: #37474f;color: #ffffff;font-weight: bold;" "border-bottom: solid 1px black";>Rio</td>
|-
</tr>
|EVN:2 - Recorded Date/Time
<tr>
|EVN:2.1
<td class="borders">Barking & Dagenham<br/>32</td>
|TS
<td class="borders">Barking & Dagenham<br/>1</td>
|R
<td class="borders">Havering<br />1</td>
|N
<td class="borders"><ref>ADT feed only.</ref>Homerton Hospital Trust</td>
|Timestamp of when the transaction was entered
<td class="borders">BHRUT</td>
|
<td class="borders">CHUHSE</td>
|-
<td class="borders">Barts Community<br /> Services
|EVN:3 -  Date/Time planned event
9
|EVN:3.1
</td>
|TS
<td class="borders"><span style="color: #ff0000;">East London Foundation Trust*</span></td>
|O
</tr>
|N
<tr>
|Avoid populating this field. Instead use PV2 expected admit date and PV2 expected discharge date whenever possible.
<td class="borders">City &amp; Hackney<br/>40</td>
|
<td class="borders" style="border-bottom: solid 1px black">Redbridge<br/>5</td>
|-
<td class="noborders"></td>
|EVN:4 -  Event reason code
<td class="borders"><ref>ADT feed plus daily file feed that includes CDE and CDS files.</ref>St Barts Hospital Trust</td>
|EVN:4.1
<td class="noborders"></td>
|CWE
<td class="borders">Hurley Group</td>
|O
<td class="borders">City &amp; Hackney GP Confederation</td>
|N
<td class="borders"><span style="color: #ff0000;">North East London Foundation Trust*</span></td>
|The reason for this event. Allowed values are from table [[Publisher API Code Sets#0062-EventReason|0062-EventReason]]
</tr>
|
<tr>
|-
<td class="borders">Havering<br/>39 <span style="color: #ff0000;">1*</span></td>
| rowspan="5" |EVN:5 - Operator ID
<td class="borders">Waltham Forest<br />5</td>
| -
<td class="noborders"></td>
| -
<td class="noborders"></td>
|O
<td class="noborders"></td>
|N
<td class="borders">London Ambulance Service</td>
|Operator ID. If provided, at least the family name must be given.
<td class="borders">Patient First</td>
|
<td class="noborders"></td>
|-
</tr>
|EVN:5.2
<tr>
|ST
<td class="borders">Newham<br />46</td>
|R
<td class="noborders"></td>
|N
<td class="noborders"></td>
|Family Name
<td class="noborders"></td>
|
<td class="noborders"></td>
|-
<td class="borders"><span style="color: #ff0000;">Newham OOH*</span></td>
|EVN:5.3
<td class="noborders"></td>
|ST
<td class="noborders"></td>
|O
</tr>
|N
<tr>
|Given Name
<td class="borders">Redbridge<br />37</td>
|
<td class="noborders"></td>
|-
<td class="noborders"></td>
|EVN:5.4
<td class="noborders"></td>
|ST
<td class="noborders"></td>
|O
<td class="borders">PELC</td>
|N
<td class="noborders"></td>
|Middle Names
<td class="noborders"></td>
|
</tr>
|-
<tr>
|EVN:5.6
<td class="borders">Tower Hamlets<br />32</td>
|ST
<td class="noborders"></td>
|O
<td class="noborders"></td>
|N
<td class="noborders"></td>
|Prefix
<td class="noborders"></td>
|
<td class="noborders"></td>
|-
<td class="noborders"></td>
|EVN:6 -  Event occured
<td class="noborders"></td>
|EVN:6.1
</tr>           
|TS
<tr>   
|O
<td class="borders" style="border-bottom: solid 1px black">Waltham Forest<br />34</td>
|N
<td class="noborders"></td>
|This field contains the date/time that the event actually occurred. For example, on a transfer (A02 (transfer a patient)), this field would contain the date/time the patient was actually transferred. On a cancellation event, this field should contain the date/time that the event being canceled occurred.
<td class="noborders"></td>
|
<td class="noborders"></td>
|}
<td class="noborders"></td>
<td class="noborders"></td>
<td class="noborders"></td>
<td class="noborders"></td>
</tr>


== PID - Patient Identification ==
</table>


=== Overview ===
===<span id="NWL">North West London<span> ===
The PID segment is used as the main way of communicating patient identification information. The majority of patient identifying and demographic information held within the PID segment is not subject to frequent changes
<table class="borders">
<tr>
<th colspan="2" class="borders" style="border-bottom: solid 1px black">Primary Care GP</th>
<th class="borders" style="border-bottom: solid 1px black">Secondary Care</th>
<th colspan="2" class="borders" style="border-bottom: solid 1px black">Mental Health</th>
<th colspan="3"></th>
</tr>
<tr>
<td class="borders" style="background-color: #ff9800;color: #ffffff;font-weight: bold;">EMIS Web</td>
<td class="borders" style="background-color: #ff9800;color: #ffffff;font-weight: bold;">SystmOne</td>
<td class="borders" style="background-color: #37474f;color: #ffffff;font-weight: bold;">Cerner Millenium</td>
<td class="borders" style="background-color: #37474f;color: #ffffff;font-weight: bold;">SystmOne<br /> Community</td>
<td class="borders" style="background-color: #37474f;color: #ffffff;font-weight: bold;">EMIS Web<br /> Community</td>
</tr>


=== Definition ===
<tr>
{| class="wikitable"
<td class="borders">Brent<br /> 51</td>
!Field
<td class="borders">Central London<br />33 <span style="color: #ff0000;">1*</span></td>
!Component
<td class="borders" style="border-bottom: solid 1px black"><ref>ADT feed only.</ref>Imperial College Healthcare NHS Trust
!Data Type
<td class="borders">Central London Community Healthcare
!Optionality
40
!Repeating
</td>
!Description
<td class="borders">The Confederation -  
!Example
Hillingdon CIC
|-
</td>
|PID:2 - Patient ID
</tr>
| -
| -
|X
|N
|Not used. Instead please populate PID.3 Patient Identifier List
|
|-
| rowspan="3" |PID:3 - Patient Identifier List
| -
| -
|R
|N
|Patient Identifier List. This list must include at least both of the following (in order) -


* the patient's local (to the publisher) identifier. In this instance the assigning authority (PID:3.4) must be "MRN"
<tr>
*the patient's NHS number. In this instance the assigning authority (PID:3.4) must be "NHS"
<td class="borders" style="border-bottom: solid 1px black">Ealing<br />1</td>
|
<td class="borders">Ealing<br />73 <span style="color: #ff0000;">2*</span></td>
|-
<td class="noborders"></td>
|PID:3.1
<td class="borders">Central & North West London NHS Trust
|ST
27
|R
</td>
|Y
<td class="borders">Harrow Covid / GP Access Hub</td>
|Patient ID
</tr>
|
|-
|PID:3.4
|ST
|R
|N
|Assigning authority
|
|-
| rowspan="5" |PID:5 - Patient Name
| -
| -
|R
|N
|
|
|-
|PID:5.1
|ST
|R
|N
|Family name
|
|-
|PID:5.2
|ST
|O
|N
|Given name
|
|-
|PID:5.3
|ST
|O
|N
|Middle names
|
|-
|PID:5.5
|ST
|O
|N
|Title
|
|-
|PID:7
|PID:7.1
|TS
|R
|N
|Date of birth
|
|-
|PID:8
|PID:8.1
|IS
|R
|N
|Administrative sex. If [https://wiki.discoverydataservice.org/index.php?title=Publisher_API_HL7_Messages#Coded_field_mapping mapping at source] then allowed values are from table [[Publisher API Code Sets#AdministrativeSex|AdministrativeSex]]
|
|-
| rowspan="8" |PID:11 - Patient Address
| -
| -
|O
|N
|
|
|-
|PID:11.1
|ST
|O
|N
|Address line 1
|
|-
|PID:11.2
|ST
|O
|N
|Address line 2
|
|-
|PID:11.3
|ST
|O
|N
|City
|
|-
|PID:11.5
|ST
|O
|N
|Post code
|
|-
|PID:11.6
|ID
|O
|N
|Country. Values SHOULD be from table [[Publisher API Code Sets#0399-CountryCode|0399-CountryCode]]
|
|-
|PID:11.7
|ID
|O
|N
|Address usage eg temporary address
|
|-
|PID:11.9
|IS
|O
|N
|County
|
|-
| rowspan="3" |PID:13 - Home contact information
| -
| -
|O
|N
|
|
|-
|PID:13.1
|TN
|O
|N
|Contact value
|
|-
|PID:13.2
|ID
|O
|N
|Contact use code. Allowed values are "home" or "mobile"
|
|-
| rowspan="3" |PID:14 - Work contact information
|  -
|  -
|O
|N
|
|
|-
|PID:14.1
|TN
|O
|N
|Contact value
|
|-
|PID:14.2
|ID
|O
|N
|Contact use code. Allowed values is "work"
|
|-
| rowspan="2" |PID:15 - Primary language
|  -
|  -
|O
|N
|Primary language. This should be the ISO 639-1 code or one of the five communication method extensions defined in the NHS Data Dictionary code set.
|
|-
|PID:15.1
|ST
|O
|N
|Primary language. If [https://wiki.discoverydataservice.org/index.php?title=Publisher_API_HL7_Messages#Coded_field_mapping mapping at source]<nowiki> then allowed values are child concepts of the SNOMED CT World Languages concept  - 297289008 | World languages (qualifier value) |</nowiki>
|
|-
|PID:17 - Religion
|PID:17.1
|IS
|O
|N
|Religion. If [https://wiki.discoverydataservice.org/index.php?title=Publisher_API_HL7_Messages#Coded_field_mapping mapping at source] then allowed values are from [https://datadictionary.nhs.uk/attributes/religious_or_other_belief_system_affiliation_code.html RELIGIOUS OR OTHER BELIEF SYSTEM AFFILIATION CODE]
|
|-
|PID:18 - Patient Account Number
|PID:18.1
|ST
|C
|N
|Though officially this field is intended to capture account number it has been repurposed in DDS. It is used to carry the identifier for the episode of care. Simplistically an episode of care encapsulates all of the encounters that a patient may have with a healthcare organisation from the point of referral to the point of discharge.
If the publisher does not have the concept of episode of care then instead this MUST be the same value as that found in PV1.19 - Visit number.


If no PV1 segment accompanies this PID segment then PID:18 should not be populated
<tr>
|
<td class="borders">Harrow<br />32</td>
|-
<td class="borders">Hammersmith &amp; Fulham<br />28</td>
|PID:22 - Ethnic group
<td class="noborders"></td>
| -
<td class="borders">Chiswick PCN Extended Hours Hub</td>
| -
<td class="borders">K&W Healthcare</td>
|O
</tr>
|N
<tr>
|
<td class="borders">Hillingdon<br />43 <span style="color: #ff0000;">2*</span></td>
|
<td class="borders">Hounslow<br />44 <span style="color: #ff0000;">1*</span></td>
|-
<td class="noborders"></td>
|
<td class="borders">Ealing GP Access Centres</td>
|PID:22.1
<td class="noborders"></td>
|ST
</tr>
|O
<tr>
|N
<td class="borders" style="border-bottom: solid 1px black">Hounslow<br />1</td>
|Ethnicity identifier. If [https://wiki.discoverydataservice.org/index.php?title=Publisher_API_HL7_Messages#Coded_field_mapping mapping at source] then allowed values are from [https://datadictionary.nhs.uk/data_elements/ethnic_category.html?hl=ethnicity ETHNIC CATEGORY]
<td class="borders" style="border-bottom: solid 1px black">West London<br />41</td>
|
<td class="noborders"></td>
|-
<td class="borders" style="border-bottom: solid 1px black">Hammersmitth & Fulham Weekend Plus</td>
|PID:29 - Patient Death Date and Time
<td class="noborders"></td>
|PID:29.1
</tr>
|TS
<tr>
|C
<td class="noborders"></td>
|N
<td class="noborders"></td>
|If PID.30:1 is not empty and PID:30.1 == "Y" then PID:29 is mandatory
<td class="noborders"></td>
|
<td class="borders" style="border-bottom: solid 1px black">Hounslow Extended Hours<br />4</td>
|-
<td class="noborders"></td>
|PID:30 - Patient Death Indicator
</tr>
|PID:30.1
|ID
|O
|N
|"Y" or "N"
|
|}


== PD1 - Patient Additional Demographic ==
<tr>
<td class="noborders"></td>
<td class="noborders"></td>
<td class="noborders"></td>
<td class="borders" style="border-bottom: solid 1px black">Imperial College Healthcare NHS Trust


=== Overview ===
10
The PD1 segment contains demographic information about a patient that is likely to change. In the case of DDS is it used to carry GP data.
</td>
<td class="noborders"></td>
</tr>


=== Definition ===
<tr>
{| class="wikitable"
<td class="noborders"></td>
!Field
<td class="noborders"></td>
!Component
<td class="noborders"></td>
!Data Type
<td class="borders">West London Extended Hours</td>
!Optionality
<td class="noborders"></td>
!Repeating
</tr>
!Description
!Example
|-
| rowspan="3" |PD1:3 - Patient Primary Facility
| -
| -
|R
|N
|
|
|-
|PD1:3.1
|ST
|R
|N
|name
|
|-
|PD1:3.3
|ST
|R
|N
|ODS code
|
|-
| rowspan="5" |PD1:4 - Patient Primary Care Provider Name and ID No
| -
| -
|R
|N
|
|
|-
|PD1:4.1
|ST
|R
|N
|GMC code
|
|-
|PD1:4.2
|FN
|R
|N
|Family name
|
|-
|PD1:4.3
|ST
|R
|N
|Given name
|
|-
|PD1:4.6
|ST
|O
|N
|Prefix
|
|}
== MRG - Merge Patient Information ==


=== Overview ===
<tr>
The MRG segment is used by DDS to support merging of patient identifiers
<td class="noborders"></td>
<td class="noborders"></td>
<td class="noborders"></td>
<td class="borders">West London NHS Trust<br />21 <span style="color: #ff0000;">5*</span></td>
<td class="noborders"></td>
</tr><tr><td></td><td></td><td></td><td></td><td></td></tr></table>


=== Definition ===
===<span id="SEL"><span>South East London ===
{| class="wikitable"
!Field
!Component
!Data Type
!Optionality
!Repeating
!Description
!Example
|-
|MRG:1 - Prior Patient Identifier List
|MRG:1.1
| CX
|R
|N
|MUST only contain one value - the patient's local (to the publisher) identifier.
|
|-
|MRG:2 - Prior Alternate Patient ID
|
|CX
|X
|N
|Ignored if supplied
|
|-
|MRG:3 - Prior Alternate Account Number
|
|CX
|X
|N
|Ignored if supplied
|
|-
|MRG:4 - Prior Patient ID
|
| -
|X
|N
|Ignored if supplied
|
|-
|MRG:5 - Prior Visit Number
|
|CX
|X
|N
|Ignored if supplied
|
|-
|MRG:6 - Prior Alternate Visit ID
|
|CX
|X
|N
|Ignored if supplied
|
|-
|MRG:7 - Prior Patient Name
|  -
| XPN
|X
|N
|Ignored if supplied
|
|}<br />


== PV1 - Patient Visit ==
<table class="borders">
<tr>
<th colspan="2" class="borders" style="border-bottom: solid 1px black">Primary Care GP</th>
<th class="borders" style="border-bottom: solid 1px black">Unscheduled Care</th>
<th colspan="5"></th>
</tr>
<tr>
<td class="borders" style="background-color: #ff9800;color: #ffffff;font-weight: bold;">EMIS Web</td>
<td class="borders" style="background-color: #ff9800;color: #ffffff;font-weight: bold;">Vision</td>
<td class="borders" style="background-color: #ff9800;color: #ffffff;font-weight: bold;">Adastra</td></tr>
<tr>
<td class="borders">Bexley<br />19</td>


=== Overview ===
<td class="borders">Bexley<br />2</td>
The PV1 segment is used by Registration/Patient Administration applications to communicate information on a visit-specific basis.
<td class="borders" style="border-bottom: solid 1px black">London Ambulance Service</td>
</tr>
<tr>


=== Definition ===
<td class="borders">Bromley<br /> 43
{| class="wikitable"
</td>
!Field
<td class="noborders"></td>
!Component
<td class="noborders"></td>
!Data Type
</tr>
!Optionality
<tr>
!Repeating
<td class="borders" style="border-bottom: solid 1px black">Greenwich
!Description
19 <span style="color: #ff0000;">12*</span>
!Example
</td>
|-
<td class="noborders"></td>
|PV1:2 - Patient Class
<td class="noborders"></td>
|PV1:2.1
</tr>
|ID
<tr>
|R
<td class="borders" style="border-bottom: solid 1px black">Lambeth <br />40</td>
|N
<td class="noborders"></td>
|If [https://wiki.discoverydataservice.org/index.php?title=Publisher_API_HL7_Messages#Coded_field_mapping mapping at source] then allowed values are from table [[Publisher API Code Sets#PatientClass|PatientClass]]
<td class="noborders"></td>
|
</tr>
|-
<tr>
|PV1:3 - Assigned Patient Location
<td class="borders" style="border-bottom: solid 1px black">Lewisham<br /> 31</td>
|PV1:3.1
<td class="noborders"></td>
|IS
<td class="noborders"></td>
|R
</tr>
|N
<tr>
|General patient location
<td class="borders" style="border-bottom: solid 1px black">Southwark<br /> 32</td>
|
<td class="noborders"></td>
|-
<td class="noborders"></td>
|PV1:4 - Admission Type
</tr>
|PV1:4.1
</table>
|ID
|O
|N
|If [https://wiki.discoverydataservice.org/index.php?title=Publisher_API_HL7_Messages#Coded_field_mapping mapping at source] then allowed values are from [https://datadictionary.nhs.uk/attributes/admission_method.html ADMISSION METHOD]
|
|-
| rowspan="5" |PV1:8 - Referring Doctor
|  -
|  -
|O
|N
|Referring doctor. If provided, at least the family name must be given.
|
|-
|PV1:8.1
|ST
|O
|N
|ID number
|
|-
|PV1:8.2
|ST
|O
|N
|Family Name
|
|-
|PV1:8.3
|ST
|O
|N
|Given Name
|
|-
|PV1:8.6
|ST
|O
|N
|Prefix
|
|-
| rowspan="5" |PV1:9 - Consulting Doctor
| -
| -
|R
|N
|Consulting doctor. If provided, at least the family name must be given.
|
|-
|PV1:9.1
|ST
|R
|N
|ID number
|
|-
|PV1:9.2
|ST
|R
|N
|Family Name
|
|-
|PV1:9.3
|ST
|O
|N
|Given Name
|
|-
|PV1:9.6
|ST
|O
|N
|Prefix
|
|-
|PV1:10 - Hospital Service
|PV1:10.1
|IS
|R
|N
|If [https://wiki.discoverydataservice.org/index.php?title=Publisher_API_HL7_Messages#Coded_field_mapping mapping at source] then allowed values are from [https://datadictionary.nhs.uk/attributes/treatment_function_code.html TREATMENT FUNCTION CODE]
|
|-
|PV1:14 - Admit source
|PV1:14.1
|IS
|O
|N
|If [https://wiki.discoverydataservice.org/index.php?title=Publisher_API_HL7_Messages#Coded_field_mapping mapping at source] then allowed values are from [https://datadictionary.nhs.uk/attributes/source_of_admission.html SOURCE OF ADMISSION]
|
|-
|PV1:18 - Patient Type
|PV1:18.1
|IS
|R
|N
|If [https://wiki.discoverydataservice.org/index.php?title=Publisher_API_HL7_Messages#Coded_field_mapping mapping at source] then allowed values are from table [[Publisher API Code Sets#HL7v3-EncounterType|HL7v3-EncounterType]]
|
|-
|PV1:19 - Visit Number
|PV1:19.1
|CX
|R
|N
|Visit ID. Should uniquely identify an Encounter from the DDS publisher.
|
|-
|PV1:36 - Discharge Disposition
|PV1:36.1
|IS
|O
|N
|If [https://wiki.discoverydataservice.org/index.php?title=Publisher_API_HL7_Messages#Coded_field_mapping mapping at source] then allowed values are from [https://datadictionary.nhs.uk/attributes/discharge_method.html DISCHARGE METHOD]
|
|-
|PV1:37 - Discharged to Location
|PV1:37.1
|ID
|O
|N
|If [https://wiki.discoverydataservice.org/index.php?title=Publisher_API_HL7_Messages#Coded_field_mapping mapping at source] then allowed values are from [https://datadictionary.nhs.uk/attributes/discharge_destination.html DISCHARGE DESTINATION]
|
|-
|PV1:44 - Admit Date/Time
|PV1:44.1
|TS
|C
|N
|Admit timestamp
|
|-
|PV1:45 - Discharge Date/Time
|PV1:45.1
|TS
|O
|N
|Discharge timestamp
|
|}


== NTE - Notes and Comments ==
Numbers indicate the number of GP practices that are sending live data.
Numbers and text in <span style="color: #ff0000;">red <sup>*</sup></span> indicate data that is not yet live.</p>
{{Note| This does not include closed GP practices.}}
     
'''Last update:''' 13 September 2021


=== Overview ===
'''See also:'''
The NTE segment is used to hold comments [TODO - are there any constraints on the size of an individual comment]


=== Definition ===
*[[Current data sets]]
{| class="wikitable"
*[[Latency of extract data feeds]]
!Field
<references />
!Component
!Data Type
!Optionality
!Repeating
!Description
!Example
|-
|NTE:3 - Comment
|NTE:3.1
|FT
|R
|Y
|Comment
|
|}
 
== ORC - Common Order ==
 
=== Overview ===
The ORC segment is used to carry information that is common across an order
 
=== Definition ===
{| class="wikitable"
!Field
!Component
!Data Type
!Optionality
!Repeating
!Description
!Example
|-
|ORC:3 - Filler Order number
|ORC:3.1
|ST
|O
|N
|This string must uniquely identify an order from other orders in the filling system
|
|-
| rowspan="4" |ORC:21 - Ordering Facility name
| -
| -
|R
|N
|Used to differentiate between different sources of result data (eg GP vs acute settings)
|
|-
|ORC:21.1
|ST
|O
|N
|Facility name
|
|-
|ORC:21.3
|ST
|R
|N
|Facility ID. Note that this MUST be the ODS code of the ordering facility
|
|-
|ORC:21.7
|ID
|R
|N
|Facility ID type. Values SHOULD be from table [[Publisher API Code Sets#0074-DiagnosticServiceSectionID|0074-DiagnosticServiceSectionID]]
|
|}
 
== OBR - Observation Request ==
 
=== Overview ===
DDS interprets an OBR as either representing a single textual laboratory report or a collection of individual test results. More information can be found in the [[Publisher API HL7 Messages#ORU_R01:_Unsolicited_Observation_.28Laboratory.29|ORU R01]] - Unsolicited Observation definition.
{| class="wikitable"
!Field
!Component
!Data Type
!Optionality
!Repeating
!Description
!Example
|-
|OBR:3 - Filler Order number
|OBR:3.1
|ST
|C
|N
|OBR:3-filler order number is identical to ORC:3-filler order number.
If the filler order number is not present in the ORC, it must be present in the associated OBR
|
|-
| rowspan="5" |OBR:4 - Universal Service Identifier
| -
| -
|R
|N
|
|
|-
|OBR:4.1
|ST
|R
|N
|Service Identifier
|
|-
|OBR:4.2
|ST
|R
|N
|Service name
|
|-
|OBR:4.3
|ID
|R
|N
|Service coding system. Allowed values are [TODO]
|
|-
|OBR:4.5
|ST
|O
|N
|Alternative service name
|
|-
|OBR:7 - Observation date/time
|ORC:7.1
|TS
|C
|N
|Observation timestamp. If this is not present, OBX:14 is used instead. It is an error for neither to be provided.
|
|-
| rowspan="5" |OBR:16 - Ordered by
|
|
|O
|N
|If provided, at least the family name must be given.
|
|-
|OBR:16.2
|ST
|R
|N
|Family Name
|
|-
|OBR:16.3
|ST
|O
|N
|Given Name
|
|-
|OBR:16.4
|ST
|O
|N
|Middle Names
|
|-
|OBR:16.6
|ST
|O
|N
|Prefix
|
|-
|OBR:24 - Discipline
|OBR:24.1
|ID
|O
|N
|This field is the section of the diagnostic service where the observation was performed.
If the study was performed by an outside service, the identification of that service should be recorded here. Values SHOULD be from table [[Publisher API Code Sets#0074-DiagnosticServiceSectionID|0074-DiagnosticServiceSectionID]]
|
|-
|OBR:25 - Result status
|OBR:25.1
|ID
|O
|N
|Only values of F and C will be processed. Values of I, O, P or X (which indicate pending or no results) are silently ignored, whilst any other values will cause an error. Values SHOULD be from table [[Publisher API Code Sets#DDS-ResultStatus|DDS-ResultStatus]]
|
|}
 
=== Definition ===
 
== OBX - Observation or result ==
 
=== Overview ===
The OBX segment can carry an observation about the patient or it can also be used to carry test results.
 
=== Definition ===
{| class="wikitable"
!Field
!Component
!Data Type
!Optionality
!Repeating
!Description
!Example
|-
|OBX:1 - Set ID
|OBX:1.1
|SI
|R
|N
|Sequence number for OBX. Must be unique under its associated OBR segment
|
|-
|OBX:2 - Value Type
|OBX:2.1
|ID
|R
|N
|Values SHOULD be from table [[Publisher API Code Sets#0125-ValueType|0125-ValueType]]
|
|-
| rowspan="4" |OBX:3 - Observation Identifier
| -
| CWE
|R
|Y
|If this is a textual report, this value will be overridden by OBR:4. Otherwise this value must be provided.
|
|-
|OBX:3.1
|ST
|R
|N
|Test ID. If this is a textual report, this value will be overridden by OBR:4.1. Otherwise this value must be provided. If a measurement is being provided, this ID must match one of the predefined values which DDS can accept. At the time of writing the acceptable code systems are still being defined though there is an aspiration to adopt the [https://digital.nhs.uk/about-nhs-digital/our-work/nhs-digital-data-and-technology-standards/clinical-information-standards#unified-test-list National Unified Test List] where appropriate. Note that this does not exclude the adoption of more appropriate code systems depending upon the nature of the observation
|
|-
|OBX:3.2
|ST
|O
|N
|Test Name
|
|-
|OBX:3.3
|ST
|C
|N
|Test coding system. If this is a textual report, this value will be overridden by OBR:4.3.
|
|-
|OBX:5 - Observation Value
| OBX:5.1
| VARIES
|R
|N
|Value. Type MUST match OBX:2.1
|
|-
| rowspan="4" |OBX:6 - Observation Units
| -
| -
|O
|N
|
|
|-
|OBX:6.1
|ST
|R
|N
|Unit ID
|
|-
|OBX:6.2
|ST
|O
|N
|Unit Name
|
|-
|OBX:6.3
|ST
|R
|N
|Unit coding system
|
|-
|OBX:7
|OBX:7.1
|ST
|O
|N
|Reference range. Can be used to convey low value, high value and normal value. DDS will parse the data into one or more of these categories depending upon how the reference range value is formatted<br />
 
* [low value]"-"[high value]  
* "<"[Number] (i.e. "less than number")
* ">"[Number] (i.e. "greater than number")
* "<="[Number] (i.e. "less than or equal to number")
* ">="[Number] (i.e. "greater than or equal to number")
* [Alphabetic value indicating normal value]
|See table below for examples
|-
| rowspan="4" |OBX:8 - Abnormal flag
| -
| -
|C
|N
|To flag the result as abnormal (e.g., High, Low) this flag MUST be sent in the message
|
|-
|OBX:8.1
|
|R
|N
|Flag ID - Values SHOULD be from table <nowiki>http://terminology.hl7.org/ValueSet/v3-ObservationInterpretation</nowiki>
|
|-
|OBX:8.2
|
|O
|
|Flag name
|
|-
|OBX:8.3
|
|O
|N
|Flag coding system - If present then SHOULD be "<nowiki>http://terminology.hl7.org/ValueSet/v3-ObservationInterpretation</nowiki>"
|
|-
|OBX:11
|ST
|O
|N
|Result status
|Result status. Only values of F and C will be processed. Values of I, O, P or X (which indicate pending or no results) are silently ignored, whilst any other values will cause an error. Values SHOULD be from  table [[Publisher API Code Sets#DDS-ResultStatus|DDS-ResultStatus]]
|
|-
|OBX:13
|ST
|O
|N
|Custom access rules
|Custom access rules for lab results. Currently supported: "{patientDelay:NUMBERdays}" with any whole number in place of "NUMBER" (no spaces). The patient will see that a lab result has arrived, but the result value will not be revealed until the set number of days past the date/time of observation have passed. If this field is not specified the patient will be able to see their results immediately. Note: if this OBR group is a textual report spanning multiple OBX segments, the delay must be provided in the first.
|{patientDelay:3days}
|-
|OBX:14
|ST
|C
|N
|Date/Time of the Observation
|Observation timestamp. If this is not present, OBR:7 is used instead. It is an error for neither to be provided.
|
|
|-
| rowspan="5" |OBX:16 - Responsible Observer
|
|
|O
|N
|If provided, at least the family name must be given.
|
|-
|OBX:16.2
|ST
|R
|N
|Family Name
|
|-
|OBX:16.3
|ST
|O
|N
|Given Name
|
|-
|OBX:16.4
|ST
|O
|N
|Middle Names
|
|-
|OBX:16.6
|ST
|O
|N
|Prefix
|}
 
=== Reference range ===
{| class="wikitable"
!OBX:7 value
!Low value
!High value
!Normal value
|-
|"3-4"
|3
|4
| -
|-
|"3--4"
|3
| -4
| -
|-
|"-3-4"
| -3
|4
| -
|-
|"3 - 4"
|3
|4
| -
|-
|" 5"
| -
| -
|5
|-
|">5"
| -
| -
|">5"
|-
|"POS"
| -
| -
|"POS"
|}<br />

Revision as of 13:50, 1 February 2022

This article provides the latest data publisher information by sector, geographical area, service, and system provider.

Total number of distinct person records in the Discovery Data Service = 14,350,816

GP practices

Total number of distinct GP patient records = 16,865,529

10 years' of 'left and deads' data is included for inner North East London - City & Hackney, Newham, Tower Hamlets, and Waltham Forest.

Total number of GP practices = 850

This also includes closed GP practices.

Acute services

  • Total number of acute patient records = 4,860,994
  • Total number of acute services = 4

Community and Mental Health services

  • Total number of Community and Mental Health patient records = 6,412,596
  • Total number of Community and Mental Health services = 108

Other services

  • Total number of other patient records = 3,556,666
  • Total number of other services = 22

North East London

Primary Care GP Secondary Care Unscheduled Care Community & Mental Health
EMIS Web SystmOne Vision Cerner Millenium Medway Adastra EMIS Web
Community
Rio
Barking & Dagenham
32
Barking & Dagenham
1
Havering
1
[1]Homerton Hospital Trust BHRUT CHUHSE Barts Community
Services

9

East London Foundation Trust*
City & Hackney
40
Redbridge
5
[2]St Barts Hospital Trust Hurley Group City & Hackney GP Confederation North East London Foundation Trust*
Havering
39 1*
Waltham Forest
5
London Ambulance Service Patient First
Newham
46
Newham OOH*
Redbridge
37
PELC
Tower Hamlets
32
Waltham Forest
34

North West London

Primary Care GP Secondary Care Mental Health
EMIS Web SystmOne Cerner Millenium SystmOne
Community
EMIS Web
Community
Brent
51
Central London
33 1*
[3]Imperial College Healthcare NHS Trust Central London Community Healthcare

40

The Confederation -

Hillingdon CIC

Ealing
1
Ealing
73 2*
Central & North West London NHS Trust

27

Harrow Covid / GP Access Hub
Harrow
32
Hammersmith & Fulham
28
Chiswick PCN Extended Hours Hub K&W Healthcare
Hillingdon
43 2*
Hounslow
44 1*
Ealing GP Access Centres
Hounslow
1
West London
41
Hammersmitth & Fulham Weekend Plus
Hounslow Extended Hours
4
Imperial College Healthcare NHS Trust

10

West London Extended Hours
West London NHS Trust
21 5*

South East London

Primary Care GP Unscheduled Care
EMIS Web Vision Adastra
Bexley
19
Bexley
2
London Ambulance Service
Bromley
43
Greenwich

19 12*

Lambeth
40
Lewisham
31
Southwark
32

Numbers indicate the number of GP practices that are sending live data.

Numbers and text in red * indicate data that is not yet live.

This does not include closed GP practices.

Last update: 13 September 2021

See also:

  1. ADT feed only.
  2. ADT feed plus daily file feed that includes CDE and CDS files.
  3. ADT feed only.