Important: All content in this FHIR Implementation Guide is under development

DataStandardsWales-Patient

The Patient resource contains demographics and other administrative information about an individual receiving health or care-related services. The DataStandardsWales-Patient profile is derived from the UK Core Patient Profile. It defines additional rules for use within health and care organisations in Wales.

Formal Views of Profile Content

url1..1System.StringFixed Value
valueAddressAddress
birthSexS I0..1Extension(code)
url1..1System.StringFixed Value
valueBooleanboolean
contactPreferenceI0..1Extension(Complex)
deathNotificationStatusI0..1Extension(Complex)
ethnicCategoryS I0..1Extension(CodeableConcept)
residentialStatusI0..1Extension(CodeableConcept)
url1..1System.StringFixed Value
valueBooleanboolean
url1..1System.StringFixed Value
valueCodeableConceptCodeableConcept
nhsNumberVerificationStatusI0..1Extension(CodeableConcept)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
activeS Σ ?!0..1boolean
nameS Σ0..*HumanName
otherContactSystemI0..1Extension(Coding)
valueΣ0..1string
useΣ ?!0..1codeBinding
rankΣ0..1positiveInt
periodΣ I0..1Period
genderS Σ0..1codeBinding
url1..1System.StringFixed Value
valueDateTimedateTime
deceasedBooleanboolean
deceasedDateTimedateTime
addressKeyI0..*Extension(Complex)
useΣ ?!0..1codeBinding
typeΣ0..1codeBinding
textΣ0..1string
lineΣ0..*string
cityΣ0..1string
districtΣ0..1string
stateΣ0..1string
postalCodeS Σ0..1string
countryΣ0..1string
periodΣ I0..1Period
maritalStatusS0..1CodeableConceptBinding
multipleBirthBooleanboolean
multipleBirthIntegerinteger
photoI0..*Attachment
contactRankI0..1Extension(positiveInt)
copyCorrespondenceIndicatorI0..1Extension(boolean)
relationship0..*CodeableConceptBinding
name0..1HumanName
otherContactSystemI0..1Extension(Coding)
valueΣ0..1string
useΣ ?!0..1codeBinding
rankΣ0..1positiveInt
periodΣ I0..1Period
address0..1Address
gender0..1codeBinding
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
periodI0..1Period
url1..1uriFixed Value
valueCodingCoding
url1..1uriFixed Value
valueCodingCoding
url1..1System.StringFixed Value
languageS1..1CodeableConceptBinding
preferred0..1boolean
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
typeΣ1..1codeBinding
url1..1System.StringFixed Value
valueAddressAddress
birthSexS I0..1Extension(code)
url1..1System.StringFixed Value
valueBooleanboolean
contactPreferenceI0..1Extension(Complex)
deathNotificationStatusI0..1Extension(Complex)
ethnicCategoryS I0..1Extension(CodeableConcept)
residentialStatusI0..1Extension(CodeableConcept)
url1..1System.StringFixed Value
valueBooleanboolean
url1..1System.StringFixed Value
valueCodeableConceptCodeableConcept
nhsNumberVerificationStatusI0..1Extension(CodeableConcept)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
activeS Σ ?!0..1boolean
nameS Σ0..*HumanName
otherContactSystemI0..1Extension(Coding)
valueΣ0..1string
useΣ ?!0..1codeBinding
rankΣ0..1positiveInt
periodΣ I0..1Period
genderS Σ0..1codeBinding
url1..1System.StringFixed Value
valueDateTimedateTime
deceasedBooleanboolean
deceasedDateTimedateTime
addressKeyI0..*Extension(Complex)
useΣ ?!0..1codeBinding
typeΣ0..1codeBinding
textΣ0..1string
lineΣ0..*string
cityΣ0..1string
districtΣ0..1string
stateΣ0..1string
postalCodeS Σ0..1string
countryΣ0..1string
periodΣ I0..1Period
maritalStatusS0..1CodeableConceptBinding
multipleBirthBooleanboolean
multipleBirthIntegerinteger
photoI0..*Attachment
contactRankI0..1Extension(positiveInt)
copyCorrespondenceIndicatorI0..1Extension(boolean)
relationship0..*CodeableConceptBinding
name0..1HumanName
otherContactSystemI0..1Extension(Coding)
valueΣ0..1string
useΣ ?!0..1codeBinding
rankΣ0..1positiveInt
periodΣ I0..1Period
address0..1Address
gender0..1codeBinding
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
periodI0..1Period
url1..1uriFixed Value
valueCodingCoding
url1..1uriFixed Value
valueCodingCoding
url1..1System.StringFixed Value
languageS1..1CodeableConceptBinding
preferred0..1boolean
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
typeΣ1..1codeBinding
url1..1System.StringFixed Value
valueAddressAddress
birthSexS I0..1Extension(code)
url1..1System.StringFixed Value
valueBooleanboolean
contactPreferenceI0..1Extension(Complex)
deathNotificationStatusI0..1Extension(Complex)
ethnicCategoryS I0..1Extension(CodeableConcept)
residentialStatusI0..1Extension(CodeableConcept)
url1..1System.StringFixed Value
valueBooleanboolean
url1..1System.StringFixed Value
valueCodeableConceptCodeableConcept
nhsNumberVerificationStatusI0..1Extension(CodeableConcept)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
activeS Σ ?!0..1boolean
nameS Σ0..*HumanName
otherContactSystemI0..1Extension(Coding)
valueΣ0..1string
useΣ ?!0..1codeBinding
rankΣ0..1positiveInt
periodΣ I0..1Period
genderS Σ0..1codeBinding
url1..1System.StringFixed Value
valueDateTimedateTime
deceasedBooleanboolean
deceasedDateTimedateTime
addressKeyI0..*Extension(Complex)
useΣ ?!0..1codeBinding
typeΣ0..1codeBinding
textΣ0..1string
lineΣ0..*string
cityΣ0..1string
districtΣ0..1string
stateΣ0..1string
postalCodeS Σ0..1string
countryΣ0..1string
periodΣ I0..1Period
maritalStatusS0..1CodeableConceptBinding
multipleBirthBooleanboolean
multipleBirthIntegerinteger
photoI0..*Attachment
contactRankI0..1Extension(positiveInt)
copyCorrespondenceIndicatorI0..1Extension(boolean)
relationship0..*CodeableConceptBinding
name0..1HumanName
otherContactSystemI0..1Extension(Coding)
valueΣ0..1string
useΣ ?!0..1codeBinding
rankΣ0..1positiveInt
periodΣ I0..1Period
address0..1Address
gender0..1codeBinding
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
periodI0..1Period
url1..1uriFixed Value
valueCodingCoding
url1..1uriFixed Value
valueCodingCoding
url1..1System.StringFixed Value
languageS1..1CodeableConceptBinding
preferred0..1boolean
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
referenceΣ I0..1string
typeΣ0..1uriBinding
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(UK Core Organization)
displayΣ0..1string
typeΣ1..1codeBinding

Mandatory and Must Support Data Elements

When an element is mandatory (min=1), the data is expected to always be present. Elements marked with an S must be supported by both producing and receiving systems and SHOULD be populated if the data exists.

Each Patient record must support:

  1. A patient identifier *
  2. Address and contact information
  3. The status of the patient record (i.e., whether is still active )
  4. A deceased indicator

*see Implementation Guidance for the identifier element below

The following Core Reference Data Standards defines standards for the following elements, which are also marked as must be supported:

  1. religion
  2. marital status
  3. sex
  4. gender identity
  5. language
  6. ethnicity
  7. postcode

Implementation Guidance

  • The extensions listed below allow a number of the data elements listed above to be supported where not currently supported by the FHIR standard:
    • HL7 common extensions:
      • patient-birthPlace describes the registered place of birth of the patient. A sytem may use the address.text if birthPlace address is not stored in discrete elements.
      • patient-cadavericDonor is a flag indicating whether the patient authorized the donation of body parts after death.
      • patient-religion is a code indicating patient's professed religious affiliations.
      • patient-interpreterRequired is a flag to indicate the patient requires an interpreter to communicate healthcare information to the practitioner.
    • UK Core extensions
      • UKCore-BirthSex supports the patient's phenotypic sex at birth.
      • UKCore-ContactPreference extends the Patient and RelatedPerson resources to support the exchange of their preferred method of contact, contact times and written communication format.
      • UKCore-DeathNotificationStatus extends the Patient resource to support the exchange of the patient's death notification status.
      • UKCore-EthnicCategory extends the Patient resource to support the exchange of ethnic category information, as a Codeable Concept.
      • UKCore-ResidentialStatus extends the Patient resource to support the exchange of information about a patient's residential status.
      • UKCore-NHSNumberVerificationStatus extends the Patient.identifier element to support the exchange of information on the verification and tracing status of a Patient's NHS Number, as a Codeable Concept.

  • When populating Patient.gender implementers are required to use the Administrative Gender codes defined by HL7. The DataStandardsWales-AdministrativeGender concept map provides a mapping to the gender identity codes defined in the Core Reference Data Standards published by the Welsh Information Standards Board.

  • The Patient.identifier field SHOULD include at least one patient identifier:
    • NHS Numbers are to be be provided if available. Use the UKCore-NHSNumberVerificationStatus to indicate the trace status.contain all available identifiers.
    • Other patient identifers can also be included where known e.g., Welsh Demographic Service or Health Board PAS identifiers.
    • Identifier systems should use the NamingSystem URIs which are defined in the guide rather than OIDS.

Example Patients

The following example resources are provided within this guide: Alice Jones, Harold James.

Mandatory Search Parameters

The following search parameters and search parameter combinations SHALL be supported:

  1. SHALL support searching by a patient identifier (such as NHS Number or hospital PAS number) using the identifier search parameter:

    GET [base]/Patient?identifier={system|}[code]
    

    Example:

    1. GET [base]/Patient?identifier=https://fhir.nhs.uk/Id/nhs-number|9912003444
    2. GET [base]/Patient?identifier=https://fhir.cavuhb.nhs.wales/Id/pas-identifier|E101067

    Implementation Notes: Fetches a bundle containing any Patient resources matching the identifier (how to search by token).

Optional Search Parameters

  1. SHOULD support searching for a patient by a search that matches any of the string fields in the HumanName, including family, given, prefix, suffix, suffix, and/or text using the name search parameter:

    GET [base]/Patient?name=[string]
    

    Example:

    1. ``GET [base]/Patient?name=James`

    Implementation Notes: Fetches a bundle containing any Patient resources matching the name (how to search by string).

  2. SHOULD support searching using the combination of the birthdate and name search parameters:

    GET [base]/Patient?birthdate=[date]&name=[string]
    

    Example:

    1. GET [base]/Patient?birthdate=1965-10-10&name=James

    Implementation Notes: Fetches a bundle containing any Patient resources matching the birthdate and name (how to search by date) and (how to search by string).

  3. SHOULD support searching using the combination of the address and name search parameters:

    GET [base]/Patient?address=[string]&name=[string]
    

    Example:

    1. GET [base]/Patient?address=SA31%204EL&name=James

    Implementation Notes: Fetches a bundle containing any Patient resources matching the name and address (how to search by string).