# PatientAdmin PatientMerge

This data model allows you to stay up-to-date on documented patient demographics, insurance, and the patient identifier used by the EHR system (usually an MRN). `PatientAdmin` relies on an admission, discharge, and transfer (ADT) feed from a provider.

`PatientAdmin` data can vary, but there are two main categories of data:

- <u>Patient-level</u>: Information about the patient that persists over time (e.g., name, address, gender, DOB, email address, primary care provider) that isn't tied to a particular encounter.
- <u>Visit-level</u>: Information pertaining to the patient's visit (e.g., the current location within the hospital, referring provider, admitting provider, care team, or discharge date/time).

This data model has event types that allow you to:

- receive a notification about patient appointments or records; 
- query for and receive a list of admitted patients; or
- query for and receive patient visit information. 

> **PatientAdmin vs. PatientSearch data models**
>
> `PatientAdmin` is a webhook-based feed that communicates changes to patient information, usually through a push notification generated from an ADT HL7v2 interface. 
>
> `PatientSearch` allows you to query for patient updates as you need them.

> **Fun fact**
>
> `PatientAdmin` is our most popular data model. Fun fact: Over 90% of Redox implementations use it in some form! 
>
> If you're a vendor that persists patient data in your application, we recommend using this data model.

Receive a notification when a provider identifies and combines duplicate patient records in the EHR system. 

We strongly recommend receiving `PatientMerge` events if you persist patient data in your application. Though `PatientMerge` events aren't triggered often, they're helpful to make sure you have the correct patient identifiers and that your system doesn't have duplicate records. 

You decide what happens in your system when you receive this event type. Most customers choose to receive `PatientMerge` events and get notified via email or other method so someone can manually review and merge duplicate patient records. 

> **If you don't have duplicate records**
>
> Let's say you get this event with duplicate records, but you only have one record for the patient or visit. You don't have to worry about merging records, but you should still double check that the patient identifiers match what you have in your system.
>
> - The `Patient.Identifiers` array contains the identifiers to use from now on. Make sure your record uses these identifiers. 
> - The `Patient.PreviousIdentifiers` array contains the identifiers to retire. 
>
> The full `Patient` object is included in the message to provide extra context, when available.

## Request body

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `Meta` | object | Yes |  |
| `Meta.DataModel` | string | Yes | PatientAdmin |
| `Meta.EventType` | string | Yes | PatientMerge |
| `Meta.EventDateTime` | string or null | No | Displays the UTC date and time that an outgoing request is delivered or an incoming request is received. *[ISO 8601 Format](http://en.wikipedia.org/wiki/ISO_8601)* |
| `Meta.Test` | boolean or null | No | Indicates whether the request is a test or not. |
| `Meta.Source` | object | No | Contains the information for the system initiating the message, including the source ID and name. *Included in messages from Redox* |
| `Meta.Source.ID` | string or null | No | Identifies the system initiating the message. If you have multiple OAuth API keys per environment type, this value is required. If you have only one OAuth API key per environment type, or you're using legacy API keys, this value is optional. *UUID* |
| `Meta.Source.Name` | string or null | No | Displays the name of the system initiating the message. |
| `Meta.Destinations` | Array of object | No | Contains the information for the endpoint(s) receiving the request. A request must contain at least one destination, but asynchronous requests can have more than one destination. Synchronous requests like queries can only support one destination. *Required when sending data to Redox.* |
| `Meta.Destinations[].ID` | string or null | No | Identifies the endpoint that the request is directed to. *UUID* |
| `Meta.Destinations[].Name` | string or null | No | Displays the name of the endpoint that the request is directed to. |
| `Meta.Logs` | Array of object | No | Contains the log identifier(s) for the request. |
| `Meta.Logs[].ID` | string or null | No | Identifies the request log(s) that correspond to this request. You can use this value to locate the relevant log in the Redox dashboard for support and reference. *UUID* |
| `Meta.Logs[].AttemptID` | string or null | No | Identifies the request log attempt value, which is useful when retries are possible. *UUID* |
| `Meta.FacilityCode` | string or null | No | Code for the facility related to the message. *Only use this field if a health system indicates you should. The code is specific to the health system's EHR and might not be unique across health systems. In general, the facility fields within the data models (e.g. OrderingFacility) are more reliable and informative.* |
| `Patient` | object | Yes |  |
| `Patient.Identifiers` | Array of object | Yes | List of IDs and ID types that identify the patient |
| `Patient.Identifiers[].ID` | string | Yes | ID for the patient |
| `Patient.Identifiers[].IDType` | string | Yes | Type of ID. *E.g. MRN, EPI* |
| `Patient.PreviousIdentifiers` | Array of object | Yes | List of identifiers for the patient record that should be merged into the record identified by `Patient.Identifiers`. These identifiers should be deprecated. |
| `Patient.PreviousIdentifiers[].ID` | string | Yes |  |
| `Patient.PreviousIdentifiers[].IDType` | string | Yes | Type of ID. *E.g. MRN, EPI* |
| `Patient.Demographics` | object | No |  |
| `Patient.Demographics.FirstName` | string or null | No | Patient's first name |
| `Patient.Demographics.MiddleName` | string or null | No | Patient's middle name or middle initial. For patients with multiple middle names, all their middle names are included in this field. |
| `Patient.Demographics.LastName` | string or null | No | Patient's last name |
| `Patient.Demographics.DOB` | string or null | No | Patient's date of birth. *In [ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)* |
| `Patient.Demographics.SSN` | string or null | No | Patient's social security number |
| `Patient.Demographics.Sex` | string or null | No | Patient's sex. Value set ca03256a-4fd3-4b3d-8e37-912cd22b5cda: Female, Male, Unknown, Other, Nonbinary, Prefer not to answer |
| `Patient.Demographics.Race` | string or null | No | Patient's race. Value set 2d9b5abe-e939-4c55-b8e5-a2816ecb08eb: American Indian or Alaska Native, Asian, Black or African American, Native Hawaiian or Other Pacific Islander, Other Race, White, Unknown, Prefer not to answer |
| `Patient.Demographics.IsHispanic` | boolean or null | No | Indicates if the patient is of hispanic origin. Value set 731a7062-165a-434c-bef7-b02b824dfc7b: true, false, null |
| `Patient.Demographics.Religion` | string or null | No | Patient's religious affiliation. Value set 11a5dd99-3549-484c-ba0a-1b22723e9a45: Latter Day Saints, Lutheran, Mahayana, Meditation, Messianic Judaism, Mitraism, New Age, non-Roman Catholic, Occult, Adventist, African Religions, Afro-Caribbean Religions, Agnosticism, Anglican, Animism, Atheism, Babi & Baha'I faiths, Baptist, Bon, Cao Dai, Celticism, Christian, Confucianism, Cyberculture Religions, Divination, Fourth Way, Free Daism, Gnosis, Hinduism, Humanism, Independent, Islam, Jainism, Jehovah's Witnesses, Judaism, Orthodox, Paganism, Pentecostal, Reformed/Presbyterian, Roman Catholic Church, Satanism, Scientology, Shamanism, Shiite (Islam), Shinto, Sikism, Spiritualism, Sunni (Islam), Taoism, Theravada, Unitarian-Universalism, Universal Life Church, Vajrayana (Tibetan), Veda, Voodoo, Wicca, Yaohushua, Zen Buddhism, Zoroastrianism, Assembly of God, Brethren, Christian Scientist, Church of Christ, Church of God, Congregational, Disciples of Christ, Eastern Orthodox, Episcopalian, Evangelical Covenant, Friends, Full Gospel, Methodist, Native American, Nazarene, Presbyterian, Protestant, Reformed, Salvation Army, Unitarian Universalist, United Church of Christ, Protestant - No Denomination, The Process, None, Other, Unknown |
| `Patient.Demographics.MaritalStatus` | string or null | No | Patient's marital status. Value set f3f48779-ee0c-4477-b458-d8cba9303039: Separated, Unmarried, Common law, Divorced, Legally Separated, Living together, Interlocutory, Married, Annulled, Other, Domestic partner, Registered domestic partner, Single, Unreported, Unknown, Widowed, Polygamous, Never Married |
| `Patient.Demographics.IsDeceased` | boolean or null | No | Indicates if the patient is deceased |
| `Patient.Demographics.DeathDateTime` | string or null | No | Date and Time the patient was proclaimed deceased. *[ISO 8601 Format](https://en.wikipedia.org/wiki/ISO_8601)* |
| `Patient.Demographics.PhoneNumber` | object | No |  |
| `Patient.Demographics.PhoneNumber.Home` | string or null | No | Patient's home phone number. *In E. 164 Format. (e.g. +16085551234)* |
| `Patient.Demographics.PhoneNumber.Office` | string or null | No | Patient's office phone number. *In E. 164 Format. (e.g. +16085551234)* |
| `Patient.Demographics.PhoneNumber.Mobile` | string or null | No | Patient's mobile phone number. *In E. 164 Format. (e.g. +16085551234)* |
| `Patient.Demographics.EmailAddresses` | Array of string | No | Patient's email address(es) |
| `Patient.Demographics.Language` | string or null | No | Patient's primary spoken language. *In ISO 639-1 alpha values (e.g. 'en'). [Supported Values](http://www.loc.gov/standards/iso639-2/php/code_list.php)* Value set 7eeaad13-6761-41f0-ab43-5be92809afc2: af, ae, ak, bg, bh, ca, ce, ch, co, cr, cs, cu, cv, da, dz, ee, en, eo, et, eu, ff, gl, ha, hr, ii, is, lu, kk, kn, ku, kv, kw, mk, ms, nb, nd, pi, sk, om, qu, sn, sq, su, ta, ti, tk, uk, wo, yo, id, ig, jv, kj, km, ln, lo, mr, mt, na, ng, no, oj, pt, rm, rw, sg, st, sw, th, tr, tt, ur, vo, zh, aa, de, fi, ht, hy, ie, ik, ki, kl, ko, kr, ks, ky, lv, mg, mi, ml, my, ne, nl, ny, oc, os, pa, pl, ps, rn, sc, sd, si, sl, so, sr, sv, tg, tl, tn, to, tw, ty, ug, ve, vi, wa, za, es, fa, gn, hu, hz, ia, la, lt, mh, mn, nn, nr, nv, or, ro, sa, se, ss, te, ts, uz, xh, yi, zu, Other, Unknown, ab, av, ba, sgn, am, an, ay, ar, as, az, be, bi, bm, bn, bo, br, bs, cy, dv, el, fj, fo, fr, fy, ga, gd, gu, gv, he, hi, ho, io, it, iu, ja, ka, kg, lb, lg, li, ru, sm |
| `Patient.Demographics.Citizenship` | Array of string | No | Patient's nation(s) of citizenship. *In ISO 3166 alpha 2 format (e.g. 'US').* Value set 232b1e77-fd16-4f4c-838f-0d288c119806: American Samoa, Anguilla, Austria, Bahamas, Barbados, Bhutan, Bosnia and Herzegovina, Afghanistan, Åland Islands, Albania, Angola, Andorra, Argentina, Armenia, Bangladesh, Belgium, Benin, Bonaire Sint Eustatius and Saba, Botswana, Bouvet Island, British Indian Ocean Territory, Brunei Darussalam, Burkina Faso, Bulgaria, Algeria, Antarctica, Antigua and Barbuda, Aruba, Australia, Azerbaijan, Bahrain, Belarus, Belize, Bermuda, Bolivia (Plurinational State of), Brazil, Burundi, Cayman Islands, China, Colombia, Cook Islands, Curaçao, El Salvador, Cambodia, Christmas Island, Congo (the Democratic Republic of the), Croatia, Czechia, Dominica, Cabo Verde, Chad, Cocos (Keeling) Islands, Costa Rica, Denmark, Dominican Republic, Cameroon, Chile, Congo, Cyprus, Ecuador, Canada, Central African Republic, Comoros, Cuba, Djibouti, Egypt, Equatorial Guinea, Eritrea, Estonia, Ethiopia, Falkland Islands[Malvinas], Faroe Islands, Fiji, Finland, France, French Guiana, French Polynesia, French Southern Territories, Gabon, Gambia, Georgia, Germany, Ghana, Gibraltar, Greece, Greenland, Grenada, Guadeloupe, Guam, Guatemala, Guernsey, Guinea, Guinea-Bissau, Guyana, Haiti, Heard Island and McDonald Islands, Holy See, Honduras, Hong Kong, Hungary, Iceland, India, Indonesia, Iran (Islamic Republic of), Iraq, Ireland, Isle of Man, Israel, Italy, Jamaica, Japan, Jersey, Jordan, Kazakhstan, Kenya, Kiribati, Korea (the Republic of), Kuwait, Kyrgyzstan, Liechtenstein, Madagascar, Mali, Mauritius, Monaco, Mozambique, Netherlands, Niger, Lao Peoples Democratic Republic, Latvia, Lesotho, Macao, Malta, Mayotte, Moldova (the Republic of), Myanmar, Nigeria, Oman, Lebanon, Lithuania, Malawi, Maldives, Mauritania, Mongolia, Morocco, Nepal, Nicaragua, Northern Mariana Islands, Liberia, Luxembourg, Malaysia, Martinique, Micronesia (Federated States of), Montserrat, Nauru, New Zealand, Norfolk Island, Libya, Macedonia (the former Yugoslav Republic of), Marshall Islands, Mexico, Montenegro, Namibia, New Caledonia, Niue, Norway, Pakistan, Palau, Palestine State of, Panama, Papua New Guinea, Paraguay, Peru, Philippines, Pitcairn, Poland, Portugal, Qatar, Puerto Rico, Réunion, Romania, Russian Federation, Rwanda, Saint Barthélemy, Saint Helena Ascension and Tristan da Cunha, Saint Kitts and Nevis, Saint Lucia, Saint Martin (French part), Saint Pierre and Miquelon, Saint Vincent and the Grenadines, Samoa, San Marino, Sao Tome and Principe, Saudi Arabia, Senegal, Serbia, Seychelles, Sierra Leone, Singapore, Sint Maarten (Dutch part), Slovakia, Slovenia, Solomon Islands, Somalia, South Africa, South Georgia and the South Sandwich Islands, South Sudan, Spain, Sri Lanka, Sudan, Suriname, Svalbard and Jan Mayen, Swaziland, Sweden, Switzerland, Syrian Arab Republic, Tajikistan, Taiwan (Province of China), Timor-Leste, Trinidad and Tobago, Tuvalu, Uruguay, Virgin Islands (U.S.), Yemen, Tanzania United Republic of, Turkey, Ukraine, United States of America, Viet Nam, Western Sahara*, Thailand, Tonga, Turks and Caicos Islands, United States Minor Outlying Islands, Venezuela (Bolivarian Republic of), Zimbabwe, Togo, Tunisia, Uganda, United Arab Emirates, Uzbekistan, Virgin Islands (British), Zambia, Tokelau, Turkmenistan, United Kingdom of Great Britain and Northern Ireland, Vanuatu, Wallis and Futuna, Côte dIvoire, Korea (the Democratic Peoples Republic of), Unknown |
| `Patient.Demographics.Address` | object | No | Patient's home address |
| `Patient.Demographics.Address.StreetAddress` | string or null | No | Street address |
| `Patient.Demographics.Address.City` | string or null | No | City |
| `Patient.Demographics.Address.State` | string or null | No | State |
| `Patient.Demographics.Address.ZIP` | string or null | No | ZIP |
| `Patient.Demographics.Address.County` | string or null | No | County |
| `Patient.Demographics.Address.Country` | string or null | No | Country. Value set 39791e31-0cee-4c58-a6c1-3d9e2c71d13b: AF, AX, AL, DZ, AS, AD, AO, AI, AQ, AG, AR, AM, AW, AU, AT, AZ, BS, BH, BD, BB, BY, BE, BZ, BJ, BM, BT, BO, IO, CM, CL, CO, CI, DK, EC, ER, FK, TF, GM, GI, GW, VA, IS, IM, JP, KI, LS, LT, MK, MV, MX, MS, NA, NC, MP, PK, PG, PL, RU, PM, SA, SG, SB, SS, SE, TZ, TO, TV, US, VN, EH, ZW, BQ, BR, BF, CA, TD, KM, CK, CU, DO, EE, FI, GE, GL, GN, GY, IN, IE, JE, KW, LB, LY, MO, ML, MR, MN, MM, NZ, NU, OM, PY, PT, RO, KN, SN, RS, ZA, LK, SJ, SY, TK, TM, UG, UM, UZ, WF, BA, BG, CV, CX, CD, CW, DJ, GQ, FO, PF, DE, GD, GG, HT, HK, IR, IL, KE, KG, LU, MY, MT, MU, ME, MZ, NP, NF, PW, PH, QA, BL, MF, ST, SX, SI, GS, SR, TJ, TG, TN, UA, VU, VG, BW, BN, KH, KY, CC, CR, CY, EG, FJ, FR, GH, GP, GU, HN, IQ, JM, KZ, KP, LA, LR, MW, MH, YT, MD, MA, NI, NG, NO, PA, PN, RE, RW, LC, SM, SC, SK, ES, CH, TH, TT, TR, GB, VE, VI, ZM, BV, BI, CF, CN, CG, HR, CZ, DM, SV, ET, GF, GA, GR, GT, HM, HU, ID, IT, JO, KR, LV, LI, MG, MQ, FM, MC, NR, NL, NE, PS, PE, PR, SH, VC, WS, SL, SO, SD, SZ, TW, TL, TC, AE, UY, YE, DR |
| `Patient.Notes` | Array of string | No | Patient-level notes |

## Example

```json
{
  "Meta": {
    "DataModel": "PatientAdmin",
    "EventType": "PatientMerge",
    "EventDateTime": "2026-11-10T22:46:02.268Z",
    "Test": true,
    "Source": {
      "ID": "7ce6f387-c33c-417d-8682-81e83628cbd9",
      "Name": "Redox Dev Tools"
    },
    "Destinations": [
      {
        "ID": "af394f14-b34a-464f-8d24-895f370af4c9",
        "Name": "Redox EMR"
      }
    ],
    "Logs": [
      {
        "ID": "d9f5d293-7110-461e-a875-3beb089e79f3",
        "AttemptID": "925d1617-2fe0-468c-a14c-f8c04b572c54"
      }
    ],
    "FacilityCode": null
  },
  "Patient": {
    "Identifiers": [
      {
        "ID": "0000000001",
        "IDType": "MR"
      },
      {
        "ID": "e167267c-16c9-4fe3-96ae-9cff5703e90a",
        "IDType": "EHRID"
      },
      {
        "ID": "a1d4ee8aba494ca",
        "IDType": "NIST"
      }
    ],
    "PreviousIdentifiers": [
      {
        "ID": "53700",
        "IDType": "MR"
      }
    ],
    "Demographics": {
      "FirstName": "Timothy",
      "MiddleName": "Paul",
      "LastName": "Bixby",
      "DOB": "2008-01-06",
      "SSN": "101-01-0001",
      "Sex": "Male",
      "Race": "White",
      "IsHispanic": null,
      "Religion": null,
      "MaritalStatus": "Single",
      "IsDeceased": null,
      "DeathDateTime": null,
      "PhoneNumber": {
        "Home": "+18088675301",
        "Office": null,
        "Mobile": null
      },
      "EmailAddresses": [],
      "Language": "en",
      "Citizenship": [],
      "Address": {
        "StreetAddress": "4762 Hickory Street",
        "City": "Monroe",
        "State": "WI",
        "ZIP": "53566",
        "County": "Green",
        "Country": "US"
      }
    },
    "Notes": []
  }
}
```
