Profile: Patient (Client Registry)

This Profile is created and maintained external to the LRA project and is provided here as an aid for implementers of the LRA in finding the base profile definitions. The reader should always verify the profile on the linked source page.

Overview

The Patient Resource (Client Registry Patient Profile) contains demographics and other administrative information about an individual receiving care or other health-related services. The data in the Resource covers the "who" information about the patient: its attributes are focused on demographic information necessary to support administrative processes.

Please refer to the LRA Configuration page for information on authentication, authorization, environment, and endpoint details.

Important Links

BC Client Registry FHIR IG

BC Client Registry Simplifier Project Page

Example Usage Scenarios

The following are example query usage scenarios for this profile:

Profile Content

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
aboriginalidentitygroupI0..1Extension
aboriginalidentityindicatorI0..1Extension
birthsexI0..1Extension
ethnicityI0..1Extension
effectiveDatesS I0..1Extension(Period)
genderIdentityS I0..1Extension(Complex)
modifierExtension?! I0..*Extension
id0..1string
sourceIDS I0..1Extension(Complex)
idStatusS I0..1Extension(code)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uri
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
id0..1string
versionCodeI0..1Extension
useΣ ?!0..1codeBinding
typeΣ1..1CodeableConceptBindingFixed Value
systemΣ1..1uri
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
activeΣ ?!0..1boolean
id0..1string
sourceIDS I0..1Extension(Complex)
useΣ ?!0..1codeBinding
textΣ0..1string
familyΣ0..1string
givenΣ0..*string
prefixΣ0..*string
suffixΣ0..*string
periodΣ I0..1Period
id0..1string
sourceIDS I0..1Extension(Complex)
systemΣ I1..1codeBinding
valueΣ1..1string
useΣ ?!0..1codeBinding
rankΣ0..1positiveInt
periodΣ I0..1Period
id0..1string
genderEffectiveDatesS I0..1Extension(Period)
sourceIDS I0..1Extension(Complex)
historyS I0..*Extension(Complex)
value0..1System.String
id0..1string
birthDateEffectiveDatesI0..1Extension(Period)
sourceIDS I0..1Extension(Complex)
historyS I0..*Extension(Complex)
value0..1System.Date
id0..1string
deathDateEffectiveDatesS I0..1Extension(Period)
sourceIDS I0..1Extension(Complex)
deathDateHistoryS I0..*Extension(Complex)
verifiedDeathFlagS I0..1Extension(Complex)
value0..1System.DateTime
id0..1string
preferredI0..1Extension(boolean)
noFixedAddressI0..1Extension
sourceIDS I0..1Extension(Complex)
validationStatusS I0..1Extension(code)
useΣ ?!0..1codeBinding
typeΣ0..1codeBinding
textΣ0..1string
lineΣ0..*string
cityΣ0..1string
districtΣ0..1string
stateΣ0..1string
postalCodeΣ0..1string
countryΣ0..1string
periodΣ I0..1Period
maritalStatus0..1CodeableConceptBinding
id0..1string
multipleBirthEffectiveDatesS I0..1Extension(Period)
sourceIDS I0..1Extension(Complex)
historyS I0..*Extension(Complex)
multipleBirthBooleanboolean
multipleBirthIntegerinteger
photoI0..*Attachment
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
relationship0..*CodeableConceptBinding
name0..1HumanName
telecomI0..*ContactPoint
address0..1Address
gender0..1codeBinding
organizationI0..1Reference(Organization)
periodI0..1Period
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
language1..1CodeableConceptBinding
preferred0..1boolean
generalPractitionerI0..*Reference(Organization | Practitioner | PractitionerRole)
managingOrganizationΣ I0..1Reference(Organization)
id0..1string
mergeStatusS I0..*Extension(code)
modifierExtensionΣ ?! I0..*Extension
otherΣ I1..1Reference(Patient | RelatedPerson)
typeΣ1..1codeBinding

 

LRA Interaction Support

  1. Search

  2. Mandatory Search Parameters

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

    • SHALL support searching patient by an identifier such as a PHN using the identifier search parameter:

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

      Example query with values:

      GET [base]/Patient?identifier=https://fhir.infoway-inforoute.ca/NamingSystem/ca-bc-patient-healthcare-id|9872728523

      Example response to above query: Example Response - Searching Patient by an Identifier

    • SHALL support searching using a combination of family, given, and at LEAST one of the following:
      • birthdate (best search)
      • address-line
      • address-postalcode
      • phone
    • Examples of this form of query with values (ensure URL encoding has been done):

      • GET [base]/Patient?family=Zhang&given=Robby&birthdate=2007-07-12

      • GET [base]/Patient?family=Zhang&given=Robby&address-line=4269%20Road

      • GET [base]/Patient?family=Zhang&given=Robby&address-postalcode=V3R%201N9

      • GET [base]/Patient?family=Zhang&given=Robby&phone=239-788-1073

      An example demonstrating this form of query:

      GET [base]/Patient?birthdate=1998-06-03&family=Phairing&given=Hoston

      Example response to above query: Example Response - Searching Patient by Name and BirthDate

    Optional Search Parameters

    1. SHOULD support searching using the combination of family, given, (birthdate, address-line, postalcode, phone) AND gender search parameters:
      • Example: GET [base]/Patient?family=Longfellow&given=Max&birthdate=1946-08-16&gender=male

    2. SHOULD support searching using the combination of family, given, (birthdate, address-line, postalcode, phone) AND address-city search parameters:
      • Example: GET [base]/Patient?family=Longfellow&given=Max&birthdate=1946-08-16&address-city=Sandon

    3. SHOULD support searching using the combination of family, given, (birthdate, address-line, postalcode, phone) AND address-country search parameters.
      • Example: GET [base]/Patient?family=Longfellow&given=Max&birthdate=1946-08-16&address-country=CA

    4. SHOULD support searching using the combination of family, given, (birthdate, address-line, postalcode, phone) AND email search parameters:
      • Example:GET [base]/Patient?family=Longfellow&given=Max&birthdate=1946-08-16&email=maxlongfellow@lra.com

    Search using $match Operation

    Search by $match FHIR Operation is a standard operation defined in the base HL7 FHIR specification. Please refer to Operation $match on Patient in the HL7 FHIR base specification.

    Currently, in order to use $match operation, the minimum search parameters still apply.

    Query Structure Example: POST [base]/Patient/$match

    Example Request: Example Request - $match Operation

  3. Create

  4. LRA Strategy: Use RESTful POST for Creating Patients.

    Query Structure Example: POST [base]/Patient/

    Request Body:

  5. Update

  6. LRA Strategy: Use RESTful PUT for Updating Patients.

    Query Structure Example: PUT [base]/Patient/[logical-id]

    Request Body:

  7. Merge

  8. LRA is using Client Registry's custom operation $MergePatient to merge patients. This operation needs the Patient.link.other field populated with an Identifier so the non-survivor Patients can be located. There may be more than one set of Identifiers and each will be merged (if they represent more than a single non-surviving Patient). See an example of linking the non-survivors here.

    Note: Moving forward, we need to collaborate and coordinate with the Client Registry team to update the merge operation to align with the standard $merge operation defined in the FHIR specification. This update may require a thorough reassessment of the underlying FHIR profiles used in the operation, such as the MergePatient profile within Client Registry.