OperationDefinition: GPConnect-GetStructuredRecord-Operation-1

Invocations

URL: [base]/Patient/$gpc.getstructuredrecord

Parameters (In)

NameCardinalityTypeBindingDocumentation
patientNHSNumber1..1Identifier

The NHS number of the patient whose record is being extracted, which must be traced or verified against the national demographics index.

includeAllergies0..1

Include resources representing a patient's allergies and intolerances in the response bundle. By default, resolved allergies and intolerances are not included.

includeAllergies.includeResolvedAllergies1..1Boolean

Include resolved allergies and intolerances in the response bundle.

includeMedication0..1

Include resources representing a patient's medication record in the response bundle.

includeMedication.includePrescriptionIssues0..1Boolean

Include each prescription issue in the response. By default, prescription issues are not included.

includeMedication.medicationSearchFromDate0..1Date

Restrict the patient's medication record to those that are active on or after medicationSearchFromDate.

includeMedication.filterPrescriptionType0..*CodeCare 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.

includeConsultations0..1

Include consultations in the response.

includeConsultations.consultationSearchPeriod0..1Period

Restrict consultations by defining a time period.

includeConsultations.includeNumberOfMostRecent0..1PositiveInt

Limit the number of returned consultations.

includeProblems0..1

Include problems in the response.

includeProblems.filterStatus0..1CodeCondition Clinical Status Codes (required)

Restrict the problems that are returned by their clinical status.

includeImmunisations0..1

Include immunisations in the response.

includeImmunisations.includeNotGiven0..1Boolean

Include immunisations not given in the response.

includeImmunisations.includeStatus0..1Boolean

Include information about the status for immunisations in the response.

includeUncategorisedData0..1

Include uncategorised data in the response.

includeUncategorisedData.uncategorisedDataSearchPeriod0..1Period

Restrict uncategorised data by defining a time period.

includeDiaryEntries0..1

Include diary entries in the response.

includeDiaryEntries.diaryEntriesSearchDate0..1Date

Include diary entries prior to the the diaryEntriesSearchDate.

includeInvestigations0..1

Include investigations in the response.

includeInvestigations.investigationSearchPeriod0..1Period

Restrict the investigations that are returned by defining a time period.

includeReferrals0..1

Include referrals in the response.

includeReferrals.referralSearchPeriod0..1Period

Restrict uncategorised data by defining a time period.

Return Values (Out)

NameCardinalityTypeStructureDefinitionDocumentation
response1..1BundleGPConnect-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.