v1

Scans up to 1000 patient updates. The since query parameter is inclusive, and the result list is ordered by updatedAt ascending.

Polling Pattern: To continuously poll for updates without gaps:

  1. Make your initial request with a since timestamp (e.g., since=2020-01-01T13:00:00.000Z)
  2. The API returns 100 by default and up to 1000 patient records, sorted by updated_at ascending
  3. Find the updated_at value from the last record in the response
  4. Use that updated_at value as the since parameter in your next request
  5. Repeat steps 2-4 to ingest updates until you receive an empty list

Important Notes:

  • The since parameter is inclusive, so you may receive the last record from the previous batch again (you can deduplicate by ID and version)
  • All patient records include updated_at, id, version, deactivated, and updating_user fields for tracking changes
  • Timestamps have millisecond resolution for precise ordering
get/patients/v1/updates/scan

Request

  • Base URL
    https://pre-api.joincandidhealth.com
  • URL
    https://pre-api.joincandidhealth.com/patients/v1/updates/scan
  • Auth
    HTTP bearer

Query parameters

sincestring date-time required
maxResultsinteger

Response

Response with status 200

organization_idstring required

The unique identifier for an Organization in the database

deactivatedboolean required

True if the object is deactivated. Deactivated objects are not returned in search results but are returned in all other endpoints including scan.

versioninteger required

The version of the object. Any update to any property of an object object will create a new version.

updated_atstring date-time required
updating_user_idstring required

The unique identifier for a User in the database

gender'MAN' | 'WOMAN' | 'NON_BINARY' | 'TWO_SPIRIT' | 'FEMALE_TO_MALE' | 'MALE_TO_FEMALE' | 'OTHER' | 'UNKNOWN' | 'REFUSED'
birth_datestring date required
social_security_numberstring
biological_sex'FEMALE' | 'MALE' | 'UNKNOWN' | 'REFUSED' required
sexual_orientation'HETEROSEXUAL' | 'HOMOSEXUAL' | 'BISEXUAL' | 'TWO_SPIRIT' | 'OTHER' | 'UNKNOWN' | 'REFUSED'
pronounsstring[]

The pronouns of the patient.

race'AMERICAN_INDIAN_OR_ALASKA_NATIVE' | 'WHITE' | 'BLACK' | 'ASIAN' | 'NATIVE_HAWAIIAN_OR_OTHER_PACIFIC_ISLANDER' | 'MIDDLE_EASTERN_OR_NORTH_AFRICAN' | 'OTHER' | 'UNKNOWN' | 'REFUSED'
ethnicity'HISPANIC_OR_LATINO' | 'NOT_HISPANIC_OR_LATINO' | 'UNKNOWN' | 'REFUSED'
disability_status'DISABLED' | 'NON_DISABLED'
marital_status'ANNULLED' | 'DIVORCED' | 'INTERLOCUTORY' | 'SEPARATED' | 'MARRIED' | 'COMMON_LAW' | 'POLYGAMOUS' | 'DOMESTIC_PARTNER' | 'UNMARRIED' | 'NEVER_MARRIED' | 'WIDOWED' | 'UNKNOWN'
deceasedstring date-time

Time of death for the patient. Leave unset if the patient is not deceased.

multiple_birthinteger

The number of siblings the patient was born with. Leave unset if the patient was not part of a multiple birth.

emailstring
electronic_communication_opt_inboolean

Use electronic_communication_consent for granular channel-level consent. This field is kept in sync automatically but should not be used for new integrations.

photostring
languagestring
non_insurance_payersPreEncounterCommonCanonicalNonInsurancePayerId[]
self_payboolean
primary_service_facility_idstring
do_not_invoice_reason'BANKRUPTCY' | 'DECEASED' | 'HARDSHIP' | 'OTHER' | 'COLLECTIONS' | 'BAD_ADDRESS' | 'PROFESSIONAL_COURTESY'
note_idsPreEncounterCommonNoteId[]
tag_idsPreEncounterCommonTagId[]
orconboolean

ORCON (Originator Controlled) - When set to true, the Candid system will hide this patient from downstream integrations. Updates made in the Candid UI will unset this flag. Defaults to false.

advanced_directivesPreEncounterPatientsV1AdvancedDirective[]
hipaa_codestring
idstring required

The unique identifier for a Patient

mrnstring required

The medical record number for the patient. Human-friendly Candid generated MRNs are of the form "YYMMDDXXXX", where "YYMMDD" is the date of patient creation and "XXXX" is a zero-padded incrementing integer.

Changes

    • info

      added the optional property /// to the response with the status

    • info

      added the optional property /// to the response with the status

    • info

      added the optional property ///// to the response with the status

    • info

      added the optional property ///// to the response with the status

    • info

      added the optional property /// to the response with the status

    • info

      added the optional property ///// to the response with the status

    • info

      added the optional property /// to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property ////// to the response with the status