OperationDefinition: GPConnect-GetStructuredRecord-Operation-1
Invocations
URL: [base]/Patient/$gpc.getstructuredrecord
Parameters (In)
Name | Cardinality | Type | Binding | Documentation |
---|---|---|---|---|
patientNHSNumber | 1..1 | Identifier | The NHS number of the patient whose record is being extracted, which must be traced or verified against the national demographics index. | |
includeAllergies | 0..1 | Include resources representing a patient's allergies and intolerances in the response bundle. By default, resolved allergies and intolerances are not included. | ||
includeAllergies.includeResolvedAllergies | 1..1 | Boolean | Include resolved allergies and intolerances in the response bundle. | |
includeMedication | 0..1 | Include resources representing a patient's medication record in the response bundle. | ||
includeMedication.includePrescriptionIssues | 0..1 | Boolean | Include each prescription issue in the response. By default, prescription issues are not included. | |
includeMedication.medicationSearchFromDate | 0..1 | Date | Restrict the patient's medication record to those that are active on or after medicationSearchFromDate. | |
includeMedication.filterPrescriptionType | 0..* | Code | Care Connect Prescription Type (required) | Filter the patient's medication records returned according to the specified prescription type(s) for the medicationRequests. Any medicationRequest resources with no prescriptionType code will be included against requests for an acute prescription type. |
includeConsultations | 0..1 | Include consultations in the response. | ||
includeConsultations.consultationSearchPeriod | 0..1 | Period | Restrict consultations by defining a time period. | |
includeConsultations.includeNumberOfMostRecent | 0..1 | PositiveInt | Limit the number of returned consultations. | |
includeProblems | 0..1 | Include problems in the response. | ||
includeProblems.filterStatus | 0..1 | Code | Condition Clinical Status Codes (required) | Restrict the problems that are returned by their clinical status. |
includeImmunisations | 0..1 | Include immunisations in the response. | ||
includeImmunisations.includeNotGiven | 0..1 | Boolean | Include immunisations not given in the response. | |
includeImmunisations.includeStatus | 0..1 | Boolean | Include information about the status for immunisations in the response. | |
includeUncategorisedData | 0..1 | Include uncategorised data in the response. | ||
includeUncategorisedData.uncategorisedDataSearchPeriod | 0..1 | Period | Restrict uncategorised data by defining a time period. | |
includeDiaryEntries | 0..1 | Include diary entries in the response. | ||
includeDiaryEntries.diaryEntriesSearchDate | 0..1 | Date | Include diary entries prior to the the diaryEntriesSearchDate. | |
includeInvestigations | 0..1 | Include investigations in the response. | ||
includeInvestigations.investigationSearchPeriod | 0..1 | Period | Restrict the investigations that are returned by defining a time period. | |
includeReferrals | 0..1 | Include referrals in the response. | ||
includeReferrals.referralSearchPeriod | 0..1 | Period | Restrict uncategorised data by defining a time period. |
Return Values (Out)
Name | Cardinality | Type | StructureDefinition | Documentation |
---|---|---|---|---|
response | 1..1 | Bundle | GPConnect-StructuredRecord-Bundle-1 | The patient structured coded record. This is returned as a bundle containing resources representing the record as requested by the given input parameters. |
Resource population details
The Parameters
resource is populated with the parameters shown below. Note: The ↳ character indicates a part parameter.
Name | Type | Optionality | Cardinality | Comments |
---|---|---|---|---|
patientNHSNumber |
Identifier |
Mandatory | 1..1 | NHS Number of the patient for whom to retrieve the structured record. |
includeAllergies |
Optional | 0..1 | Include allergies and intolerances in the response. | |
↳ includeResolvedAllergies |
Boolean |
Mandatory | 1..1 | Include resolved allergies and intolerances in the response. Part parameter: may only be provided if includeAllergies is set. |
includeMedication |
Optional | 0..1 | Include medication in the response. | |
↳ includePrescriptionIssues |
Boolean |
Optional | 0..1 | Include each prescription issue in the response, this parameter has a default value of 'true'. More guidance relating to its use is available in the Medication guidance page Part parameter: may only be provided if includeMedication is set. |
↳ medicationSearchFromDate |
Date |
Optional | 0..1 | Restrict medications returned on or after the date specified. Rules: - If the medicationSearchFromDate is not specified, all medication will be returned.- If the medicationSearchFromDate is populated, all medications which are active on or after the medicationSearchFromDate MUST be returned.- medicationSearchFromDate MUST be populated with a date less than or equal to the current date.- medicationSearchFromDate MUST be populated with whole dates only (for example, 2017-02-01) - that is, no partial dates, or with a time period or offset.Part parameter: may only be provided if includeMedication is set. |
↳ filterPrescriptionType |
Code |
Optional | 0..* | This part parameter is not currently supported by the Access Record Structured API. It is included in the documentation as the OperationDefinition profile is shared between direct care and patient facing use cases. If the parameter is included in the request, it will be treated as not supported and returned as an issue as described in the forwards compatibility section. Part parameter: may only be provided if includeMedication is set. |
includeConsultations |
Optional | 0..1 | Include consultations in the response. | |
↳ consultationSearchPeriod |
Period |
Optional | 0..1 | Restrict consultations by defining a time period - If the consultationSearchPeriod is not specified, all consultations will be returned.- If the consultationSearchPeriod.start is populated, all consultations on or after the consultationSearchPeriod.start MUST be returned.- If the consultationSearchPeriod.end is populated, all consultations on or before the consultationSearchPeriod.end MUST be returned.- consultationSearchPeriod.start and consultationSearchPeriod.end MUST be populated with a date less than or equal to the current date.- consultationSearchPeriod.start and consultationSearchPeriod.end MUST be populated with whole dates only (for example, 2017-02-01) - that is, no partial dates, or with a time period or offset.Part parameter: may only be provided if includeConsultations is set. |
↳ includeNumberOfMostRecent |
positiveInt |
Optional | 0..1 | Limit the number of returned consultations Part parameter: may only be provided if includeConsultations is set. |
includeProblems |
Optional | 0..1 | Include problems in the response. | |
↳ filterStatus |
Code |
Optional | 0..1 | Restrict the problems that are returned by their clinical status. Valueset: http://hl7.org/fhir/stu3/valueset-condition-clinical.html Values MUST be `active` or `inactive` Part parameter: may only be provided if includeProblems is set. |
↳ filterSignificance |
Code |
Optional | 0..1 | This part parameter is not currently supported by the Access Record Structured API. It is included in the documentation as the OperationDefinition profile is shared between direct care and patient facing use cases. If the parameter is included in the request, it will be treated as not supported and returned as an issue as described in the forwards compatibility section. Part parameter: may only be provided if includeProblems is set. |
includeImmunisations |
Optional | 0..1 | Include immunisations in the response. | |
↳ includeNotGiven |
Boolean |
Optional | 0..1 | Only include immunisations that have been given in the response. The default value for this is false .Part parameter: may only be provided if includeImmunisations is set. |
↳ includeStatus |
Boolean |
Optional | 0..1 | Include information about consent and dissent for immunisations in the response. The default value for this is true .Part parameter: may only be provided if includeImmunisations is set. |
includeUncategorisedData |
Optional | 0..1 | Include uncategorised data in the response. | |
↳ uncategorisedDataSearchPeriod |
Period |
Optional | 0..1 | Restrict uncategorised data by defining a time period - If the uncategorisedDataSearchPeriod is not specified, all uncategorised data will be returned.- If the uncategorisedDataSearchPeriod.start is populated, all uncategorised data on or after the uncategorisedDataSearchPeriod.start MUST be returned.- If the uncategorisedDataSearchPeriod.end is populated, all uncategorised data on or before the uncategorisedDataSearchPeriod.end MUST be returned.- uncategorisedDataSearchPeriod.start and uncategorisedDataSearchPeriod.end MUST be populated with a date less than or equal to the current date.- uncategorisedDataSearchPeriod.start and uncategorisedDataSearchPeriod.end MUST be populated with whole dates only (for example, 2017-02-01) - that is, no partial dates, or with a time period or offset.Part parameter: may only be provided if includeUncategorisedData is set. |
includeInvestigations |
Optional | 0..1 | Include investigations in the response. | |
↳ investigationSearchPeriod |
Period |
Optional | 0..1 | Restrict test results by defining a time period - If the investigationSearchPeriod is not specified, all test results will be returned.- If the investigationSearchPeriod.start is populated, all test results on or after the investigationSearchPeriod.start MUST be returned.- If the investigationSearchPeriod.end is populated, all test results on or before the investigationSearchPeriod.end MUST be returned.- investigationSearchPeriod.start and investigationSearchPeriod.end MUST be populated with a date less than or equal to the current date.- investigationSearchPeriod.start and investigationSearchPeriod.end MUST be populated with whole dates only (for example, 2017-02-01) - that is, no partial dates, or with a time period or offset.Part parameter: may only be provided if includeInvestigations is set. |
includeReferrals |
Optional | 0..1 | Include referrals in the response. | |
↳ referralSearchPeriod |
Period |
Optional | 0..1 | Restrict referrals by defining a time period - If the referralSearchPeriod is not specified, all referrals will be returned.- If the referralSearchPeriod.start is populated, all referrals on or after the referralSearchPeriod.start MUST be returned.- If the referralSearchPeriod.end is populated, all referrals on or before the referralSearchPeriod.end MUST be returned.- referralSearchPeriod.start and referralSearchPeriod.end MUST be populated with a date less than or equal to the current date.- referralSearchPeriod.start and referralSearchPeriod.end MUST be populated with whole dates only (for example, 2017-02-01) - that is, no partial dates, or with a time period or offset.Part parameter: may only be provided if includeReferrals is set. |
includeDiaryEntries |
Optional | 0..1 | Include diary entries in the response. | |
↳ diaryEntriesSearchDate |
Date |
Optional | 0..1 | Restrict diary entries returned on or before the date specified. Rules: - If the diaryEntriesSearchDate is not specified, all diary entries will be returned.- If the diaryEntriesSearchDate is populated, all diary entries which occur on or before the diaryEntriesSearchDate MUST be returned.- diaryEntriesSearchDate MUST be populated with a date greater than or equal to the current date.- diaryEntriesSearchDate MUST be populated with whole dates only (for example, 2017-02-01) - that is, no partial dates, or with a time period or offset.Part parameter: may only be provided if includeDiaryEntries is set. |
Each clinical area has its own set of search/filter parameters. These parameters will only apply to their own area and MUST have no impact on other parameters.
Important: Consumer guidance: The parameters can be used together in a single call or in multiple calls so that information can be retrieved if required. It is advised that the number of requests that are made to retrieve a patient’s record are kept to a minimum.
Examples
See Search examples for examples of how to populate the request.
Not permitted parameter combinations
Certain combinations of query parameters have the potential to introduce clinical risks. To prevent these scenarios occurring, the following combinations of parameters are not permitted and SHALL not be used by consumers with the exception of the predefined searches listed as Predefined multi area searches for common use cases:
When requesting consultations, the following part parameters MUST NOT be included:
includeMedication.medicationSearchFromDate
includeUncategorisedData.uncategorisedDataSearchPeriod
includeProblems.filterStatus
includeReferrals.referralSearchPeriod
includeDiaryEntries.diaryEntriesSearchDate
includeImmunisations.includeNotGiven
includeImmunisations.includeStatus
When requesting problems, the following part parameters MUST NOT be included:
includeMedication.medicationSearchFromDate
includeUncategorisedData.uncategorisedDataSearchPeriod
includeReferrals.referralSearchPeriod
includeDiaryEntries.diaryEntriesSearchDate
includeImmunisations.includeNotGiven
includeImmunisations.includeStatus
In the event that one of the combinations of parameters are used in a request, an error MUST be raised as specified in the error handling table below. There are no restrictions on using combinations of top level parameters.
Examples of queries are available on the Search examples page.
Related problem headers not returned due to search criteria
If a problem is related to another problem using the relatedProblemHeader
extension it is possible that the related problem header is not returned due to the restrictions of the search criteria. It is possible for many problems to be related to each other and if the user needs to fully understand the problem relationships these can be returned by requesting all problems. This is done by not specifying a filter for status and putting includeProblems
in the request. This will result in all problems recorded on the GP system being returned and will include all links between problems.