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
aboriginalidentitygroupC0..1Extension
aboriginalidentityindicatorC0..1Extension
birthsexC0..1Extension
ethnicityC0..1Extension
effectiveDatesS C0..1Extension(Period)
genderIdentityS C0..1Extension(Complex)
modifierExtension?! C0..*Extension
id0..1string
sourceIDS C0..1Extension(Complex)
idStatusS C0..1Extension(code)
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uri
valueΣ1..1string
periodΣ C0..1Period
assignerΣ C0..1Reference(Organization)
id0..1string
versionCodeC0..1Extension
useΣ ?!0..1codeBinding
typeΣ1..1CodeableConceptBindingPattern
systemΣ1..1uri
valueΣ1..1string
periodΣ C0..1Period
assignerΣ C0..1Reference(Organization)
activeΣ ?!0..1boolean
id0..1string
sourceIDS C0..1Extension(Complex)
useΣ ?!0..1codeBinding
textΣ0..1string
familyΣ0..1string
givenΣ0..*string
prefixΣ0..*string
suffixΣ0..*string
periodΣ C0..1Period
id0..1string
sourceIDS C0..1Extension(Complex)
systemΣ C1..1codeBinding
valueΣ1..1string
useΣ ?!0..1codeBinding
rankΣ0..1positiveInt
periodΣ C0..1Period
id0..1string
genderEffectiveDatesS C0..1Extension(Period)
sourceIDS C0..1Extension(Complex)
historyS C0..*Extension(Complex)
value0..1System.String
id0..1string
birthDateEffectiveDatesC0..1Extension(Period)
sourceIDS C0..1Extension(Complex)
historyS C0..*Extension(Complex)
value0..1System.Date
id0..1string
deathDateEffectiveDatesS C0..1Extension(Period)
sourceIDS C0..1Extension(Complex)
deathDateHistoryS C0..*Extension(Complex)
verifiedDeathFlagS C0..1Extension(Complex)
value0..1System.DateTime
id0..1string
preferredC0..1Extension(boolean)
noFixedAddressC0..1Extension
sourceIDS C0..1Extension(Complex)
validationStatusS C0..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Σ C0..1Period
maritalStatus0..1CodeableConceptBinding
id0..1string
multipleBirthEffectiveDatesS C0..1Extension(Period)
sourceIDS C0..1Extension(Complex)
historyS C0..*Extension(Complex)
multipleBirthBooleanboolean
multipleBirthIntegerinteger
photoC0..*Attachment
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
relationship0..*CodeableConceptBinding
name0..1HumanName
telecomC0..*ContactPoint
address0..1Address
gender0..1codeBinding
organizationC0..1Reference(Organization)
periodC0..1Period
id0..1string
extensionC0..*Extension
modifierExtensionΣ ?! C0..*Extension
language1..1CodeableConceptBinding
preferred0..1boolean
generalPractitionerC0..*Reference(Organization | Practitioner | PractitionerRole)
managingOrganizationΣ C0..1Reference(Organization)
id0..1string
mergeStatusS C0..*Extension(code)
modifierExtensionΣ ?! C0..*Extension
otherΣ C1..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, address-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, address-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, address-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, address-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.