|
| 1 | +# **GP2GP Redactions** |
| 2 | + |
| 3 | +Redaction is the process of restricting access or ‘hiding’ information in the online viewer from the patient and anyone |
| 4 | +they have granted proxy access to. It does not remove the information from the patient’s record. |
| 5 | + |
| 6 | +Before information is shared, sensitive information which could be harmful to a patient or is about or refers to other |
| 7 | +people (third parties) should be assessed, and a decision taken about whether or not to redact it. |
| 8 | + |
| 9 | +Individual words, sentences, or paragraphs within an entry cannot be redacted. The entire entry, for instance the |
| 10 | +consultation or document must be either shared (visible online) or redacted i.e. made not visible online). |
| 11 | + |
| 12 | +## **Why are redactions used** |
| 13 | + |
| 14 | +When GP records are shared with patients or their representatives (nominated proxy), the GP practice is responsible for |
| 15 | +ensuring that only appropriate information is disclosed. To ensure this happens, information in both the existing record |
| 16 | +and any new items should be checked and where necessary, redacted. |
| 17 | + |
| 18 | +Most records will not have content that requires redaction. For individual requests for full online record access (i.e. |
| 19 | +past, historic and current records) it is best practice for all of the records to be checked in advance of being shared. |
| 20 | + |
| 21 | +For more information about redactions please review the NHS England Documentation for redactions: |
| 22 | + |
| 23 | +[*https://www.england.nhs.uk/long-read/redacting-information-for-online-record-access/*](https://www.england.nhs.uk/long-read/redacting-information-for-online-record-access/) |
| 24 | + |
| 25 | + |
| 26 | +## Enabling redactions support in the GP2GP adaptors |
| 27 | + |
| 28 | +The GP2GP Adaptor needs to be deployed with the necessary configuration for redactions to be enabled. |
| 29 | + |
| 30 | +To enable Redactions, the GP2GP Adaptor should be deployed with the following environment variable set as follows: |
| 31 | + |
| 32 | +***`GP2GP_REDACTIONS_ENABLED: true`*** |
| 33 | + |
| 34 | +To disable Redactions, the GP2GP Adaptor should be deployed with the following environment variable set as follows: |
| 35 | + |
| 36 | +***`GP2GP_REDACTIONS_ENABLED: false`*** |
| 37 | + |
| 38 | +Note that if redactions are not enabled, the resultant XML be produced with an `interactionId` of `RCMR_IN030000UK06` and |
| 39 | +redaction security labels will not be populated. |
| 40 | + |
| 41 | +**This setting should be set to `false` until the incumbent systems have enabled redactions functionality across their |
| 42 | +whole estate. If in any doubt please contact NIA Support.** |
| 43 | + |
| 44 | + |
| 45 | +## How are redactions identified |
| 46 | + |
| 47 | +When sending a patient record using the GP2GP System, a JSON FHIR Bundle is sent. Certain resources (covered below) can |
| 48 | +be marked as redacted by applying a `NOPAT` security label within the resource metadata. `NOPAT` is a code within the |
| 49 | +*ActCode Code System* and signifies that the information should not not be disclosed to the patient, family or |
| 50 | +caregivers. |
| 51 | + |
| 52 | +This label should be applied to the `meta.security` element with the `system`, `code` and `display` values set exactly as |
| 53 | +below: |
| 54 | + |
| 55 | +```json |
| 56 | +{ |
| 57 | + "meta":{ |
| 58 | + "security":[ |
| 59 | + { |
| 60 | + "system":"http://hl7.org/fhir/v3/ActCode", |
| 61 | + "code":"NOPAT", |
| 62 | + "display":"no disclosure to patient, family or caregivers without attending provider's authorization" |
| 63 | + } |
| 64 | + ] |
| 65 | + } |
| 66 | +} |
| 67 | +``` |
| 68 | + |
| 69 | +When a patient record is received from an incumbent system using the GP2GP System, an `interactionId` of `RCMR_IN030000UK07` |
| 70 | +will be provided. Certain elements within the XML may be marked as redacted by a `confidentialityCode` security label |
| 71 | +containing a `code` value of `NOPAT`. |
| 72 | + |
| 73 | +This security label should be applied to element being redacted and should be exactly as below: |
| 74 | + |
| 75 | +```xml |
| 76 | +<confidentialityCode code="NOPAT" codeSystem="2.16.840.1.113883.4.642.3.47" displayName="no disclosure to patient, family or caregivers without attending provider's authorization"/> |
| 77 | +``` |
| 78 | + |
| 79 | +## GP2GP Send Adaptor Redactions |
| 80 | + |
| 81 | +This section details the resource types which can be redacted when using the GP2GP Send Adaptor. Some of these cover |
| 82 | +multiple resources within the JSON Bundle. |
| 83 | + |
| 84 | +**This also includes details of any known issues with the redaction being applied when the patient record is received and |
| 85 | +integrated by an incumbent (Optum / TPP).** |
| 86 | + |
| 87 | + |
| 88 | +### Laboratory Results |
| 89 | + |
| 90 | +Laboratory Results consist of a number of resources which can have the `NOPAT` security label applied. |
| 91 | + |
| 92 | + |
| 93 | +#### Diagnostic Report |
| 94 | + |
| 95 | +To mark a `DiagnosticReport` as redacted, the `NOPAT` security label should be applied to resource with `resource.resourceType` set to `DiagnosticReport` |
| 96 | + |
| 97 | +This will populate the relevant `CompoundStatement[laboratory reporting] / confidentialityCode` in the resultant HL7 XML with the `NOPAT` security label. |
| 98 | + |
| 99 | +**Both Optum and TPP do not currently display redacted `DiagnosticReport` resources in their respective systems. This has been reviewed and is not clinically relevant. This will be raised with both Optum and TPP.** |
| 100 | + |
| 101 | +#### Specimen |
| 102 | + |
| 103 | +To mark a `Specimen` as redacted, the `NOPAT` security label should be applied to resource with `resource.resourceType` set to `Specimen` |
| 104 | + |
| 105 | +This will populate the relevant `CompoundStatement[specimen] / confidentialityCode` in the resultant HL7 XML with the `NOPAT` security label. |
| 106 | + |
| 107 | +**Both Optum and TPP do not currently display redacted `Specimen` resources in their respective systems. This has been reviewed and is not clinically relevant. This will be raised with both Optum and TPP.** |
| 108 | + |
| 109 | +#### Observation \- Filing Comment |
| 110 | + |
| 111 | +To mark an `Observation (Filing Comment)` as redacted, the `NOPAT` security label should be applied to resource with `resource.resourceType` set to `Observation` and contain a `resource.code` set to `37331000000100` for `Comment Note` |
| 112 | + |
| 113 | +This will populate the `NarrativeStatement / confidentialityCode` in the resultant HL7 XML with the `NOPAT` security label. |
| 114 | + |
| 115 | +#### Observation \- Test Group Header |
| 116 | + |
| 117 | +To mark an `Observation (Test Group Header)` as redacted, the `NOPAT` security label should be applied to the test group header resource with `resource.resourceType` set to `Observation`. |
| 118 | + |
| 119 | +This will populate the relevant `CompoundStatement / confidentialityCode` in the resultant HL7 XML with the `NOPAT` security label. |
| 120 | + |
| 121 | +#### Observation \- Test Result |
| 122 | + |
| 123 | +To mark an `Observation (Test Result)` as redacted, the `NOPAT` security label should be applied to the test result resource with `resource.resourceType` set to `Observation`. |
| 124 | + |
| 125 | +This will populate the relevant `ObservationStatement / confidentialityCode` in the resultant HL7 XML with the `NOPAT` security label. |
| 126 | + |
| 127 | + |
| 128 | +### Allergy Intolerance |
| 129 | + |
| 130 | +To mark a `Drug Allergy` or `Non-Drug Allergy` as redacted, the `NOPAT` security label should be applied to a resource with `resource.resourceType` set to `AllergyIntolerance`. |
| 131 | + |
| 132 | +This will populate the relevant `ObservationStatement / confidentialityCode` in the resultant HL7 XML with the `NOPAT` security label. |
| 133 | + |
| 134 | + |
| 135 | +### Condition |
| 136 | + |
| 137 | +To mark a `Condition` as redacted, the `NOPAT` security label should be applied to a resource with `resource.resourceType` set to `Condition`. |
| 138 | + |
| 139 | +When a `Condition` contains an `extension` which provides a reference to an `actual problem` (example provided below) then the `NOPAT` security label should be applied to `Observation` referenced in the header also. |
| 140 | + |
| 141 | +```json |
| 142 | +"extension": [ { |
| 143 | + "url": "https://fhir.hl7.org.uk/STU3/StructureDefinition/Extension-CareConnect-ActualProblem-1", |
| 144 | + "valueReference": { |
| 145 | + "reference": "Observation/F16EAE60-77F0-49F3-A424-C8F57FF02358" |
| 146 | + } |
| 147 | + } |
| 148 | +] |
| 149 | +``` |
| 150 | + |
| 151 | +This will populate the relevant `LinkSet / confidentiality code` in the resultant HL7 XML with the `NOPAT` security label. |
| 152 | + |
| 153 | + |
| 154 | +### Immunization |
| 155 | + |
| 156 | +To mark an `Immunization` as redacted, the `NOPAT` security label should be applied to a resource with `resource.resourceType` set to `Immunization`. |
| 157 | + |
| 158 | +This will populate the relevant `ObservationStatement / confidentialityCode` in the resultant HL7 XML with the `NOPAT` security label. |
| 159 | + |
| 160 | + |
| 161 | +### Medication Request |
| 162 | + |
| 163 | +To mark a `MedicationRequest` as redacted, the `NOPAT` security label should be applied to a resource with `resource.resourceType` set to `MedicationRequest.` |
| 164 | + |
| 165 | +This will populate the relevant `ObservationStatement / confidentialityCode` in the resultant HL7 XML with the `NOPAT` security label. |
| 166 | + |
| 167 | +**When the patient record is received and integrated into Optum, the system can only hide either:** |
| 168 | + |
| 169 | +1. **All medications associated with a repeat.** |
| 170 | +2. **None of the medications associated with a repeat** |
| 171 | + |
| 172 | +**This means that if only one of associated `MedicationRequest[Order]` has a `NOPAT` security label applied, then none will be marked as redacted in Optum.** |
| 173 | + |
| 174 | +**When the patient record is received and integrated into TPP and the `MedicationRequest[Order]` has a NOPAT security label applied, but not the associated `MedicationRequest[Plan]` of an acute medication, then the medication will not be marked as redacted in TPP.** |
| 175 | + |
| 176 | +**These have been identified as being clinically acceptable after being reviewed.** |
| 177 | + |
| 178 | + |
| 179 | +### Document Reference |
| 180 | + |
| 181 | +There are two possible ways to mark a `DocumentReference` as redacted, when applied to a resource with `resource.resourceType` set to `MedicationRequest`: |
| 182 | + |
| 183 | +1. The `NOPAT` security label is applied to `DocumentReference.meta.security` as usual. |
| 184 | +2. The `NOPAT` security label is applied to `DocumentReference.securityLabel`. |
| 185 | + |
| 186 | +Either of these will populate the relevant `NarrativeStatement / reference / referredToExternalDocument / confidentialityCode` in the resultant HL7 XML with the `NOPAT` security label. |
| 187 | + |
| 188 | + |
| 189 | +### Procedure Request |
| 190 | + |
| 191 | +To mark a `ProcedureRequest` as redacted, the `NOPAT` security label should be applied to a resource with `resource.resourceType` set to `ProcedureRequest.` |
| 192 | + |
| 193 | +This will populate the relevant `PlanStatement / confidentialityCode` in the resultant HL7 XML with the `NOPAT` security label. |
| 194 | + |
| 195 | +**When the patient record is received and integrated into Optum, these diary entries will not be marked as redacted. This has been reviewed and does not present a clinical risk.** |
| 196 | + |
| 197 | + |
| 198 | +### Referral Request |
| 199 | + |
| 200 | +To mark a `ReferralRequest` as redacted, the `NOPAT` security label should be applied to a resource with `resource.resourceType` set to `ReferralRequest.` |
| 201 | + |
| 202 | +This will populate the relevant `RequestStatement / confidentialityCode` in the resultant HL7 XML with the `NOPAT` security label. |
| 203 | + |
| 204 | + |
| 205 | +### Observation |
| 206 | + |
| 207 | +An Observation can contain a variety of data. In addition to the *laboratory results observations* documented above, the following observation resources can also be redacted. |
| 208 | + |
| 209 | +#### Observation \- Blood Pressure |
| 210 | + |
| 211 | +To mark an `Observation(Blood Pressure)` as redacted, the `NOPAT` security label should be applied to the relevant resource with `resource.resourceType` set to `Observation`. |
| 212 | + |
| 213 | +This will populate the relevant `CompoundStatement/ confidentialityCode` in the `CompoundStatement` containing the `ObservationStatement` resource in the resultant HL7 XML with the `NOPAT` security label. |
| 214 | + |
| 215 | +#### Observation \- Uncategorised |
| 216 | + |
| 217 | +To mark an `Observation(Uncategoried)` as redacted, the `NOPAT` security label should be applied to the relevant resource with `resource.resourceType` set to `Observation.` |
| 218 | + |
| 219 | +This will populate the relevant `ObservationStatement / confidentialityCode` in the resultant HL7 XML with the `NOPAT` security label. |
| 220 | + |
| 221 | + |
| 222 | +### Encounter |
| 223 | + |
| 224 | +To mark an `Encounter` as redacted, the `NOPAT` security label should be applied to a resource with `resource.resourceType` set to `Encounter.` |
| 225 | + |
| 226 | +This will populate the relevant `ehrComposition / confidentialityCode` in the resultant HL7 XML with the `NOPAT` security label. |
| 227 | + |
| 228 | + |
| 229 | +### Referral Request |
| 230 | + |
| 231 | +To mark a `ReferralRequest` as redacted, the `NOPAT` security label should be applied to a resource with `resource.resourceType` set to `ReferralRequest.` |
| 232 | + |
| 233 | +This will populate the relevant `RequestStatement / confidentialityCode` in the resultant HL7 XML with the `NOPAT` security label. |
| 234 | + |
| 235 | + |
| 236 | +### List \- Topic |
| 237 | + |
| 238 | +To mark a `List(Topic)` as redacted, the `NOPAT` security label should be applied to a resource with `resource.resourceType` set to `List` and contain a `resource.code` set to `25851000000105` for `Topic (EHR)`. |
| 239 | + |
| 240 | +This will populate the relevant `CompoundStatement / confidentialityCode` in the resultant HL7 XML with the `NOPAT` security label. |
| 241 | + |
| 242 | +**When the patient record is received and integrated into Optum or TPP, these will not be marked as redacted. This is to be raised with EMIS and TPP as they either do not handle, or do not intend to handle the concept of redacting at a topic level.** |
0 commit comments