# Match Clinic and Patient An internal endpoint used for matching an EHR request (e.g. NewOrder) to a clinic and patient. If a clinic with the provided details cannot be found, the service will return and will not attempt to match patients to the provided details. Due to lack of uniqueness constraints on the MRN and DOB fields it's possible that multiple patient records match the provided attributes. All results will be returned in the response and it's the calling services responsiblity to determine how to handle duplicates records. If a unique match is found, the patient matching criteria will be added to the patient record for future use (e.g. pushing data on a schedule). Endpoint: POST /v1/redox/match Version: 1.0 Security: sessionToken ## Request fields (application/json): - `messageRef` (object) - `messageRef.dataModel` (string, required) Enum: "Order" - `messageRef.eventType` (string, required) Enum: "New" - `messageRef.documentId` (string, required) - `patients` (object) - `patients.criteria` (array, required) Performs an "OR" match for each item in the array Enum: "MRN", "MRN_DOB", "DOB_FULLNAME" - `patients.onUniqueMatch` (string) Optional action to be performed when a unique match has been found Enum: "ENABLE_REPORTS", "DISABLE_REPORTS" ## Response 200 fields (application/json): - `clinic` (object, required) Clinic - `clinic.id` (string, required) Clinic identifier. Example: "2fe2488217ee43e1b2e83c2f" - `clinic.address` (string) Street address. - `clinic.city` (string) City name. Example: "Palo Alto" - `clinic.postalCode` (string) Postal code. In the U.S., typically the zip code such as or . Example: "94301" - `clinic.state` (string) State or province. In the U.S., typically something like or . Example: "CA" - `clinic.country` (string) Country name. Example: "USA" - `clinic.patientTags` (array) - `clinic.patientTags.id` (string, required) String representation of a resource id - `clinic.patientTags.name` (string, required) The tag display name - `clinic.sites` (array) - `clinic.sites.name` (string, required) The site's name. - `clinic.lastDeletedPatientTag` (object) - `clinic.phoneNumbers` (array) An array of phone numbers. Example: [{"type":"main","number":"+1 (555) 555-1212"}] - `clinic.phoneNumbers.type` (string) Example: "main" - `clinic.phoneNumbers.number` (string, required) Example: "+1 (555) 555-1212" - `clinic.clinicType` (string) Enum: "provider_practice", "healthcare_system", "veterinary_clinic", "other", "researcher" - `clinic.clinicSize` (string) Enum: "0-249", "250-499", "500-999", "1000+" - `clinic.name` (string, required) Name of the clinic. - `clinic.shareCode` (string, required) Globally unique share code for a clinic. The share code is 3 groups of 4 uppercase alphanumeric characters in each group. Ambiguous characters such as and , or and are excluded. - `clinic.canMigrate` (boolean, required) - `clinic.website` (string) - `clinic.createdTime` (string, required) - `clinic.updatedTime` (string, required) - `clinic.tierDescription` (string, required) Example: "Free" - `clinic.tier` (string, required) Example: "tier0100" - `clinic.preferredBgUnits` (string, required) Enum: "mg/dL", "mmol/L" - `clinic.suppressedNotifications` (object) - `clinic.suppressedNotifications.patientClinicInvitation` (boolean) - `clinic.timezone` (string) Enum: "Africa/Abidjan", "Africa/Accra", "Africa/Addis_Ababa", "Africa/Algiers", "Africa/Asmara", "Africa/Asmera", "Africa/Bamako", "Africa/Bangui", "Africa/Banjul", "Africa/Bissau", "Africa/Blantyre", "Africa/Brazzaville", "Africa/Bujumbura", "Africa/Cairo", "Africa/Casablanca", "Africa/Ceuta", "Africa/Conakry", "Africa/Dakar", "Africa/Dar_es_Salaam", "Africa/Djibouti", "Africa/Douala", "Africa/El_Aaiun", "Africa/Freetown", "Africa/Gaborone", "Africa/Harare", "Africa/Johannesburg", "Africa/Juba", "Africa/Kampala", "Africa/Khartoum", "Africa/Kigali", "Africa/Kinshasa", "Africa/Lagos", "Africa/Libreville", "Africa/Lome", "Africa/Luanda", "Africa/Lubumbashi", "Africa/Lusaka", "Africa/Malabo", "Africa/Maputo", "Africa/Maseru", "Africa/Mbabane", "Africa/Mogadishu", "Africa/Monrovia", "Africa/Nairobi", "Africa/Ndjamena", "Africa/Niamey", "Africa/Nouakchott", "Africa/Ouagadougou", "Africa/Porto-Novo", "Africa/Sao_Tome", "Africa/Timbuktu", "Africa/Tripoli", "Africa/Tunis", "Africa/Windhoek", "America/Adak", "America/Anchorage", "America/Anguilla", "America/Antigua", "America/Araguaina", "America/Argentina/Buenos_Aires", "America/Argentina/Catamarca", "America/Argentina/ComodRivadavia", "America/Argentina/Cordoba", "America/Argentina/Jujuy", "America/Argentina/La_Rioja", "America/Argentina/Mendoza", "America/Argentina/Rio_Gallegos", "America/Argentina/Salta", "America/Argentina/San_Juan", "America/Argentina/San_Luis", "America/Argentina/Tucuman", "America/Argentina/Ushuaia", "America/Aruba", "America/Asuncion", "America/Atikokan", "America/Atka", "America/Bahia", "America/Bahia_Banderas", "America/Barbados", "America/Belem", "America/Belize", "America/Blanc-Sablon", "America/Boa_Vista", "America/Bogota", "America/Boise", "America/Buenos_Aires", "America/Cambridge_Bay", "America/Campo_Grande", "America/Cancun", "America/Caracas", "America/Catamarca", "America/Cayenne", "America/Cayman", "America/Chicago", "America/Chihuahua", "America/Ciudad_Juarez", "America/Coral_Harbour", "America/Cordoba", "America/Costa_Rica", "America/Creston", "America/Cuiaba", "America/Curacao", "America/Danmarkshavn", "America/Dawson", "America/Dawson_Creek", "America/Denver", "America/Detroit", "America/Dominica", "America/Edmonton", "America/Eirunepe", "America/El_Salvador", "America/Ensenada", "America/Fort_Nelson", "America/Fort_Wayne", "America/Fortaleza", "America/Glace_Bay", "America/Godthab", "America/Goose_Bay", "America/Grand_Turk", "America/Grenada", "America/Guadeloupe", "America/Guatemala", "America/Guayaquil", "America/Guyana", "America/Halifax", "America/Havana", "America/Hermosillo", "America/Indiana/Indianapolis", "America/Indiana/Knox", "America/Indiana/Marengo", "America/Indiana/Petersburg", "America/Indiana/Tell_City", "America/Indiana/Vevay", "America/Indiana/Vincennes", "America/Indiana/Winamac", "America/Indianapolis", "America/Inuvik", "America/Iqaluit", "America/Jamaica", "America/Jujuy", "America/Juneau", "America/Kentucky/Louisville", "America/Kentucky/Monticello", "America/Knox_IN", "America/Kralendijk", "America/La_Paz", "America/Lima", "America/Los_Angeles", "America/Louisville", "America/Lower_Princes", "America/Maceio", "America/Managua", "America/Manaus", "America/Marigot", "America/Martinique", "America/Matamoros", "America/Mazatlan", "America/Mendoza", "America/Menominee", "America/Merida", "America/Metlakatla", "America/Mexico_City", "America/Miquelon", "America/Moncton", "America/Monterrey", "America/Montevideo", "America/Montreal", "America/Montserrat", "America/Nassau", "America/New_York", "America/Nipigon", "America/Nome", "America/Noronha", "America/North_Dakota/Beulah", "America/North_Dakota/Center", "America/North_Dakota/New_Salem", "America/Nuuk", "America/Ojinaga", "America/Panama", "America/Pangnirtung", "America/Paramaribo", "America/Phoenix", "America/Port-au-Prince", "America/Port_of_Spain", "America/Porto_Acre", "America/Porto_Velho", "America/Puerto_Rico", "America/Punta_Arenas", "America/Rainy_River", "America/Rankin_Inlet", "America/Recife", "America/Regina", "America/Resolute", "America/Rio_Branco", "America/Rosario", "America/Santa_Isabel", "America/Santarem", "America/Santiago", "America/Santo_Domingo", "America/Sao_Paulo", "America/Scoresbysund", "America/Shiprock", "America/Sitka", "America/St_Barthelemy", "America/St_Johns", "America/St_Kitts", "America/St_Lucia", "America/St_Thomas", "America/St_Vincent", "America/Swift_Current", "America/Tegucigalpa", "America/Thule", "America/Thunder_Bay", "America/Tijuana", "America/Toronto", "America/Tortola", "America/Vancouver", "America/Virgin", "America/Whitehorse", "America/Winnipeg", "America/Yakutat", "America/Yellowknife", "Antarctica/Casey", "Antarctica/Davis", "Antarctica/DumontDUrville", "Antarctica/Macquarie", "Antarctica/Mawson", "Antarctica/McMurdo", "Antarctica/Palmer", "Antarctica/Rothera", "Antarctica/South_Pole", "Antarctica/Syowa", "Antarctica/Troll", "Antarctica/Vostok", "Arctic/Longyearbyen", "Asia/Aden", "Asia/Almaty", "Asia/Amman", "Asia/Anadyr", "Asia/Aqtau", "Asia/Aqtobe", "Asia/Ashgabat", "Asia/Ashkhabad", "Asia/Atyrau", "Asia/Baghdad", "Asia/Bahrain", "Asia/Baku", "Asia/Bangkok", "Asia/Barnaul", "Asia/Beirut", "Asia/Bishkek", "Asia/Brunei", "Asia/Calcutta", "Asia/Chita", "Asia/Choibalsan", "Asia/Chongqing", "Asia/Chungking", "Asia/Colombo", "Asia/Dacca", "Asia/Damascus", "Asia/Dhaka", "Asia/Dili", "Asia/Dubai", "Asia/Dushanbe", "Asia/Famagusta", "Asia/Gaza", "Asia/Harbin", "Asia/Hebron", "Asia/Ho_Chi_Minh", "Asia/Hong_Kong", "Asia/Hovd", "Asia/Irkutsk", "Asia/Istanbul", "Asia/Jakarta", "Asia/Jayapura", "Asia/Jerusalem", "Asia/Kabul", "Asia/Kamchatka", "Asia/Karachi", "Asia/Kashgar", "Asia/Kathmandu", "Asia/Katmandu", "Asia/Khandyga", "Asia/Kolkata", "Asia/Krasnoyarsk", "Asia/Kuala_Lumpur", "Asia/Kuching", "Asia/Kuwait", "Asia/Macao", "Asia/Macau", "Asia/Magadan", "Asia/Makassar", "Asia/Manila", "Asia/Muscat", "Asia/Nicosia", "Asia/Novokuznetsk", "Asia/Novosibirsk", "Asia/Omsk", "Asia/Oral", "Asia/Phnom_Penh", "Asia/Pontianak", "Asia/Pyongyang", "Asia/Qatar", "Asia/Qostanay", "Asia/Qyzylorda", "Asia/Rangoon", "Asia/Riyadh", "Asia/Saigon", "Asia/Sakhalin", "Asia/Samarkand", "Asia/Seoul", "Asia/Shanghai", "Asia/Singapore", "Asia/Srednekolymsk", "Asia/Taipei", "Asia/Tashkent", "Asia/Tbilisi", "Asia/Tehran", "Asia/Tel_Aviv", "Asia/Thimbu", "Asia/Thimphu", "Asia/Tokyo", "Asia/Tomsk", "Asia/Ujung_Pandang", "Asia/Ulaanbaatar", "Asia/Ulan_Bator", "Asia/Urumqi", "Asia/Ust-Nera", "Asia/Vientiane", "Asia/Vladivostok", "Asia/Yakutsk", "Asia/Yangon", "Asia/Yekaterinburg", "Asia/Yerevan", "Atlantic/Azores", "Atlantic/Bermuda", "Atlantic/Canary", "Atlantic/Cape_Verde", "Atlantic/Faeroe", "Atlantic/Faroe", "Atlantic/Jan_Mayen", "Atlantic/Madeira", "Atlantic/Reykjavik", "Atlantic/South_Georgia", "Atlantic/St_Helena", "Atlantic/Stanley", "Australia/ACT", "Australia/Adelaide", "Australia/Brisbane", "Australia/Broken_Hill", "Australia/Canberra", "Australia/Currie", "Australia/Darwin", "Australia/Eucla", "Australia/Hobart", "Australia/LHI", "Australia/Lindeman", "Australia/Lord_Howe", "Australia/Melbourne", "Australia/NSW", "Australia/North", "Australia/Perth", "Australia/Queensland", "Australia/South", "Australia/Sydney", "Australia/Tasmania", "Australia/Victoria", "Australia/West", "Australia/Yancowinna", "Brazil/Acre", "Brazil/DeNoronha", "Brazil/East", "Brazil/West", "CET", "CST6CDT", "Canada/Atlantic", "Canada/Central", "Canada/Eastern", "Canada/Mountain", "Canada/Newfoundland", "Canada/Pacific", "Canada/Saskatchewan", "Canada/Yukon", "Chile/Continental", "Chile/EasterIsland", "Cuba", "EET", "EST", "EST5EDT", "Egypt", "Eire", "Etc/GMT", "Etc/GMT+0", "Etc/GMT+1", "Etc/GMT+10", "Etc/GMT+11", "Etc/GMT+12", "Etc/GMT+2", "Etc/GMT+3", "Etc/GMT+4", "Etc/GMT+5", "Etc/GMT+6", "Etc/GMT+7", "Etc/GMT+8", "Etc/GMT+9", "Etc/GMT-0", "Etc/GMT-1", "Etc/GMT-10", "Etc/GMT-11", "Etc/GMT-12", "Etc/GMT-13", "Etc/GMT-14", "Etc/GMT-2", "Etc/GMT-3", "Etc/GMT-4", "Etc/GMT-5", "Etc/GMT-6", "Etc/GMT-7", "Etc/GMT-8", "Etc/GMT-9", "Etc/GMT0", "Etc/Greenwich", "Etc/UCT", "Etc/UTC", "Etc/Universal", "Etc/Zulu", "Europe/Amsterdam", "Europe/Andorra", "Europe/Astrakhan", "Europe/Athens", "Europe/Belfast", "Europe/Belgrade", "Europe/Berlin", "Europe/Bratislava", "Europe/Brussels", "Europe/Bucharest", "Europe/Budapest", "Europe/Busingen", "Europe/Chisinau", "Europe/Copenhagen", "Europe/Dublin", "Europe/Gibraltar", "Europe/Guernsey", "Europe/Helsinki", "Europe/Isle_of_Man", "Europe/Istanbul", "Europe/Jersey", "Europe/Kaliningrad", "Europe/Kiev", "Europe/Kirov", "Europe/Kyiv", "Europe/Lisbon", "Europe/Ljubljana", "Europe/London", "Europe/Luxembourg", "Europe/Madrid", "Europe/Malta", "Europe/Mariehamn", "Europe/Minsk", "Europe/Monaco", "Europe/Moscow", "Europe/Nicosia", "Europe/Oslo", "Europe/Paris", "Europe/Podgorica", "Europe/Prague", "Europe/Riga", "Europe/Rome", "Europe/Samara", "Europe/San_Marino", "Europe/Sarajevo", "Europe/Saratov", "Europe/Simferopol", "Europe/Skopje", "Europe/Sofia", "Europe/Stockholm", "Europe/Tallinn", "Europe/Tirane", "Europe/Tiraspol", "Europe/Ulyanovsk", "Europe/Uzhgorod", "Europe/Vaduz", "Europe/Vatican", "Europe/Vienna", "Europe/Vilnius", "Europe/Volgograd", "Europe/Warsaw", "Europe/Zagreb", "Europe/Zaporozhye", "Europe/Zurich", "GB", "GB-Eire", "GMT", "GMT+0", "GMT-0", "GMT0", "Greenwich", "HST", "Hongkong", "Iceland", "Indian/Antananarivo", "Indian/Chagos", "Indian/Christmas", "Indian/Cocos", "Indian/Comoro", "Indian/Kerguelen", "Indian/Mahe", "Indian/Maldives", "Indian/Mauritius", "Indian/Mayotte", "Indian/Reunion", "Iran", "Israel", "Jamaica", "Japan", "Kwajalein", "Libya", "MET", "MST", "MST7MDT", "Mexico/BajaNorte", "Mexico/BajaSur", "Mexico/General", "NZ", "NZ-CHAT", "Navajo", "PRC", "PST8PDT", "Pacific/Apia", "Pacific/Auckland", "Pacific/Bougainville", "Pacific/Chatham", "Pacific/Chuuk", "Pacific/Easter", "Pacific/Efate", "Pacific/Enderbury", "Pacific/Fakaofo", "Pacific/Fiji", "Pacific/Funafuti", "Pacific/Galapagos", "Pacific/Gambier", "Pacific/Guadalcanal", "Pacific/Guam", "Pacific/Honolulu", "Pacific/Johnston", "Pacific/Kanton", "Pacific/Kiritimati", "Pacific/Kosrae", "Pacific/Kwajalein", "Pacific/Majuro", "Pacific/Marquesas", "Pacific/Midway", "Pacific/Nauru", "Pacific/Niue", "Pacific/Norfolk", "Pacific/Noumea", "Pacific/Pago_Pago", "Pacific/Palau", "Pacific/Pitcairn", "Pacific/Pohnpei", "Pacific/Ponape", "Pacific/Port_Moresby", "Pacific/Rarotonga", "Pacific/Saipan", "Pacific/Samoa", "Pacific/Tahiti", "Pacific/Tarawa", "Pacific/Tongatapu", "Pacific/Truk", "Pacific/Wake", "Pacific/Wallis", "Pacific/Yap", "Poland", "Portugal", "ROC", "ROK", "Singapore", "Turkey", "UCT", "US/Alaska", "US/Aleutian", "US/Arizona", "US/Central", "US/East-Indiana", "US/Eastern", "US/Hawaii", "US/Indiana-Starke", "US/Michigan", "US/Mountain", "US/Pacific", "US/Samoa", "UTC", "Universal", "W-SU", "WET", "Zulu" - `patients` (array) - `patients.id` (string, required) String representation of a Tidepool User ID. Old style IDs are 10-digit strings consisting of only hexadeximcal digits. New style IDs are 36-digit [UUID v4](https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_4_(random)) - `patients.email` (string) - `patients.fullName` (string, required) The full name of the patient - `patients.birthDate` (string, required) Example: "2012-08-30" - `patients.mrn` (string) The medical record number of the patient - `patients.tags` (array,null) - `patients.targetDevices` (array) - `patients.permissions` (object) - `patients.permissions.custodian` (object) - `patients.permissions.view` (object) - `patients.permissions.note` (object) - `patients.permissions.upload` (object) - `patients.attestationSubmitted` (boolean) - `patients.dataSources` (array,null) - `patients.dataSources.state` (string, required) Enum: "pending", "pendingReconnect", "connected", "disconnected", "error" - `patients.dataSources.providerName` (string, required) Example: "dexcom" - `patients.dataSources.dataSourceId` (string) String representation of a resource id - `patients.dataSources.modifiedTime` (string) [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) / [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) timestamp _with_ timezone information Example: "2017-02-06T02:37:46Z" - `patients.dataSources.expirationTime` (string) [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) / [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) timestamp _with_ timezone information Example: "2017-02-06T02:37:46Z" - `patients.lastUploadReminderTime` (string) - `patients.summary` (object) A summary of a patients recent data - `patients.summary.cgmStats` (object) A summary of a users recent CGM glucose values - `patients.summary.cgmStats.id` (string) Summary Unique Identifier Example: "2fe2488217ee43e1b2e83c2f" - `patients.summary.cgmStats.config` (object) Summary schema version and calculation configuration - `patients.summary.cgmStats.config.schemaVersion` (number, required) Summary schema version - `patients.summary.cgmStats.config.highGlucoseThreshold` (number, required) Threshold used for determining if a value is high - `patients.summary.cgmStats.config.veryHighGlucoseThreshold` (number, required) Threshold used for determining if a value is very high - `patients.summary.cgmStats.config.lowGlucoseThreshold` (number, required) Threshold used for determining if a value is low - `patients.summary.cgmStats.config.veryLowGlucoseThreshold` (number, required) Threshold used for determining if a value is very low - `patients.summary.cgmStats.dates` (object) dates tracked for summary calculation - `patients.summary.cgmStats.dates.lastUpdatedDate` (string) Date of the last calculation - `patients.summary.cgmStats.dates.lastUpdatedReason` (array) List of reasons the summary was updated for - `patients.summary.cgmStats.dates.hasFirstData` (boolean, required) - `patients.summary.cgmStats.dates.firstData` (string) Date of the first included value - `patients.summary.cgmStats.dates.hasLastData` (boolean, required) - `patients.summary.cgmStats.dates.lastData` (string) Date of the last calculated value - `patients.summary.cgmStats.dates.hasLastUploadDate` (boolean, required) - `patients.summary.cgmStats.dates.lastUploadDate` (string) Created date of the last calculated value - `patients.summary.cgmStats.dates.hasOutdatedSince` (boolean, required) - `patients.summary.cgmStats.dates.outdatedSince` (string) Date of the first user upload after lastData, removed when calculated - `patients.summary.cgmStats.dates.outdatedSinceLimit` (string) Upper limit of the OutdatedSince value to prevent infinite queue duration - `patients.summary.cgmStats.dates.outdatedReason` (array) List of reasons the summary was marked outdated for - `patients.summary.cgmStats.periods` (object) A map to each supported CGM summary period - `patients.summary.bgmStats` (object) A summary of a users recent BGM glucose values - `patients.summary.bgmStats.periods` (object) A map to each supported BGM summary period - `patients.reviews` (array,null) - `patients.reviews.clinicianId` (string, required) - `patients.reviews.time` (string, required) - `patients.connectionRequests` (object, required) - `patients.connectionRequests.twiist` (array, required) - `patients.connectionRequests.dexcom` (array, required) - `patients.connectionRequests.abbott` (array, required) - `settings` (object, required) - `settings.enabled` (boolean, required) Enable or disable the EHR integration - `settings.sourceId` (string, required) - `settings.destinationIds` (object) - `settings.destinationIds.flowsheet` (string, required) Destination ID override for Flowsheets - `settings.destinationIds.results` (string, required) Destination ID override for Results - `settings.destinationIds.notes` (string, required) Destination ID override for Notes - `settings.procedureCodes` (object, required) - `settings.procedureCodes.enableSummaryReports` (string) Procedure Code for Summary Statistics and PDF Reports subscription - `settings.procedureCodes.disableSummaryReports` (string) - `settings.procedureCodes.createAccount` (string) - `settings.procedureCodes.createAccountAndEnableReports` (string) - `settings.mrnIdType` (string, required) - `settings.provider` (string, required) Enum: "xealth", "redox" - `settings.scheduledReports` (object, required) Scheduled Report Settings - `settings.scheduledReports.onUploadEnabled` (boolean, required) Send a PDF Report and a Flowsheet to Redox after a dataset is uploaded. - `settings.scheduledReports.onUploadNoteEventType` (string) Enum: "New", "Replace" - `settings.scheduledReports.cadence` (string, required) The cadence of the scheduled reports. Disabling the scheduled reports does not affect reports which are generated after a dataset is uploaded. Enum: "1d", "7d", "14d", "30d", "DISABLED" - `settings.tags` (object, required) This configuration only applies to integrations using Redox Data Model - `settings.tags.codes` (array) Codes of the clinical info items used to select the tags to associate with the patient. If defined, all tags of a patient will be replaced every time an enrollment order for the patient is processed. - `settings.tags.separator` (string) If set to a non-empty string, the tag values will be split using this separator - `settings.flowsheets` (object, required) - `settings.flowsheets.icode` (boolean, required) Determine if values should be sent in accorance with ICode2 rounding standards, or if we should send the values at higher precision.