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:
- Patient-level: 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.
- Visit-level: 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.
Receive a notification in preparation for a patient admission or encounter.
This event type may allow for creating a patient, as well as creating a visit. For example, a pre-admit may be used prior to surgery so that lab tests can be performed. It may also be used to update the Emergency Department with an expected patient.
Request Body Schema
- Metarequired, object
- DataModelrequired, stringReliable
PatientAdmin
- EventTyperequired, stringReliable
PreAdmit
- EventDateTimestring, nullReliable
Displays the UTC date and time that an outgoing request is delivered or an incoming request is received.
ISO 8601 Format - Testboolean, nullReliable
Indicates whether the request is a test or not.
- Sourceobject
Contains the information for the system initiating the message, including the source ID and name.
Included in messages from Redox- IDstring, nullReliable
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 - Namestring, nullReliable
Displays the name of the system initiating the message.
- DestinationsArray of object
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.- IDstring, nullReliable
Identifies the endpoint that the request is directed to.
UUID - Namestring, nullReliable
Displays the name of the endpoint that the request is directed to.
- LogsArray of object
Contains the log identifier(s) for the request.
- IDstring, nullReliable
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 - AttemptIDstring, nullReliable
Identifies the request log attempt value, which is useful when retries are possible.
UUID
- FacilityCodestring, nullPossible
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.
- Patientrequired, object
- Identifiersrequired, Array of object
List of IDs and ID types that identify the patient
- IDrequired, stringReliable
ID for the patient
- IDTyperequired, stringReliable
Type of ID.
E.g. MRN, EPI
- Demographicsobject
- FirstNamestring, nullReliable
Patient's first name
- MiddleNamestring, nullPossible
Patient's middle name or middle initial. For patients with multiple middle names, all their middle names are included in this field.
- LastNamestring, nullReliable
Patient's last name
- DOBstring, nullReliable
Patient's date of birth.
In ISO 8601 format - SSNstring, nullProbable
Patient's social security number
- Sexstring, nullReliableValue Set
Patient's sex
- Racestring, nullPossibleValue Set
Patient's race
- IsHispanicboolean, nullPossibleValue Set
Indicates if the patient is of hispanic origin.
- Religionstring, nullPossibleValue Set
Patient's religious affiliation
- MaritalStatusstring, nullPossibleValue Set
Patient's marital status
- IsDeceasedboolean, nullPossible
Indicates if the patient is deceased
- DeathDateTimestring, nullPossible
Date and Time the patient was proclaimed deceased.
ISO 8601 Format - PhoneNumberobject
- Homestring, nullProbable
Patient's home phone number.
In E. 164 Format. (e.g. +16085551234) - Officestring, nullProbable
Patient's office phone number.
In E. 164 Format. (e.g. +16085551234) - Mobilestring, nullProbable
Patient's mobile phone number.
In E. 164 Format. (e.g. +16085551234)
- EmailAddressesArray of string
Patient's email address(es)
- Languagestring, nullPossibleValue Set
Patient's primary spoken language.
In ISO 639-1 alpha values (e.g. 'en'). Supported Values - CitizenshipArray of string
Patient's nation(s) of citizenship.
In ISO 3166 alpha 2 format (e.g. 'US'). - Addressobject
Patient's home address
- StreetAddressstring, nullProbable
Street address
- Citystring, nullProbable
City
- Statestring, nullProbable
State
- ZIPstring, nullProbable
ZIP
- Countystring, nullPossible
County
- Countrystring, nullPossibleValue Set
Country
- NotesArray of string
Patient-level notes
- ContactsArray of object
- FirstNamestring, nullPossible
First name of the contact
- MiddleNamestring, nullPossible
Middle name of the contact
- LastNamestring, nullPossible
Last name of the contact
- Addressobject
Address of the contact
- StreetAddressstring, nullPossible
Street address
- Citystring, nullPossible
City
- Statestring, nullPossible
State
- ZIPstring, nullPossible
ZIP
- Countystring, nullPossible
County
- Countrystring, nullPossibleValue Set
Country
- PhoneNumberobject
- Homestring, nullPossible
Home phone number.
In E. 164 Format. (e.g. +16085551234) - Officestring, nullPossible
Office phone number.
In E. 164 Format. (e.g. +16085551234) - Mobilestring, nullProbable
Mobile phone number.
In E. 164 Format. (e.g. +16085551234)
- RelationToPatientstring, nullPossibleValue Set
Personal relationship to the patient.
e.x. Father, Spouse - EmailAddressesArray of string
Email address(es) of the contact person
- RolesArray of string
Role of this contact for the patient.
e.x. Employer, Emergency Contact
- DiagnosesArray of object
Contains a list of diagnoses associated with this patient visit.
- Codestring, nullProbable
Code for the diagnosis
- Codesetstring, nullProbableValue Set
Code set used to identify the diagnosis.
One of the following: ICD-9, ICD-10, HCPCS, CPT - Namestring, nullProbable
Name of the diagnosis
- Typestring, nullPossibleValue Set
Type of the diagnosis
- DocumentedDateTimestring, nullPossible
DateTime the diagnosis was documented.
ISO 8601 Format
- AllergiesArray of object
Contains a list of the patient's allergies.
- Codestring, nullPossible
Code for the allergy
- Codesetstring, nullPossible
Code set used to identify the allergy.
Typically RxNorm or SNOMED. - Namestring, nullPossible
Name of the allergy
- Typeobject
Defines the type of allergy intolerance (e.g., food, drug).
- Codestring, nullPossible
Code for the allergy intolerance type
- Codesetstring, nullPossible
Code set used to identify the allergy intolerance type
- Namestring, nullPossible
Name of the allergy intolerance type
- OnsetDateTimestring, nullPossible
Displays the date and time that the patient first observed the allergy.
- ReactionArray of object
Contains a list of reactions caused by the identified allergy.
- Codestring, nullPossible
Code for the reaction
- Codesetstring, nullPossible
Code set used to identify the reaction
- Namestring, nullPossible
Name of the reaction
- Severityobject
Contains details about the severity of the allergic reaction (e.g., moderate, severe).
- Codestring, nullPossible
Code for the reaction severity
- Codesetstring, nullPossible
Code set used to identify the reaction severity
- Namestring, nullPossible
Name of the reaction severity
- Statusstring, nullPossible
Displays the current status of the allergy (e.g., active, inactive, resolved).
- PCPobject
Displays the name of the patient's primary care provider.
- NPIstring, nullReliable
NPI of the PCP
- IDstring, nullReliable
ID of the PCP.
This ID is often required for Inpatient Visits. - IDTypestring, nullReliable
ID type of the ID for the PCP
- FirstNamestring, nullPossible
First name of the PCP
- LastNamestring, nullPossible
Last name of the PCP
- CredentialsArray of string
List of credentials for the PCP.
e.g. MD, PhD - Addressobject
Provider's address
- StreetAddressstring, nullPossible
Street address
- Citystring, nullPossible
City
- Statestring, nullPossible
State
- ZIPstring, nullPossible
ZIP
- Countystring, nullPossible
County
- Countrystring, nullPossibleValue Set
Country
- EmailAddressesArray of string
Provider's email address(es)
- PhoneNumberobject
- Officestring, nullPossible
Provider's office phone number.
In E. 164 Format. (e.g. +16085551234)
- Locationobject
Provider's location
- Typestring, nullPossible
Type of location.
Examples: Clinic, Department, Home, Nursing Unit, Provider's Office, Phone - Facilitystring, nullPossible
Facility.
Example: Community Hospital - FacilityIdentifiersArray of object
List of IDs specific to this facility
- IDstring, nullPossible
An ID specific to this facility
- IDTypestring, nullPossible
The source or system to which this ID pertains.
Could be an OID or a human-readable name
- Departmentstring, nullPossible
Department
- DepartmentIdentifiersArray of object
List of IDs specific to this department
- IDstring, nullPossible
An ID specific to this department
- IDTypestring, nullPossible
The source or system to which this ID pertains.
Could be an OID or a human-readable name
- Roomstring, nullPossible
Room.
Example: 136
- Visitobject
- VisitNumberstring, nullReliable
Displays a unique identifier for the patient visit.
- AccountNumberstring, nullPossible
Contains an identifier that can span several visits often related to the same patient condition (e.g., surgeries, research study, pregnancy). In other words, the account number can be used to link related visits.
- PatientClassstring, nullReliable
Classifies the department or type of patient care. Patient class is used in many EHR systems to determine where to put the patient (e.g., inpatient, outpatient, emergency).
- VisitDateTimestring, nullReliable
Displays the timestamp for the patient visit or the time that the patient arrived for admission.
ISO 8601 Format - Durationnumber, nullProbable
Displays the length of the patient visit in minutes.
- Reasonstring, nullProbable
Explains the purpose of the patient visit.
- InstructionsArray of string
Contains any related instructions for the patient appointment.
- Balancenumber, nullPossible
Contains the amount that the patient owes for the visit. This field depends on whether the sending system has billing functionality and whether they calculate this field.
Identifies the diagnosis-related group (DRG) for the patient visit.
Identifies the type or system of DRG for the patient visit. Some examples are Medicare (CMS-DRG), Refined (R-D DRG), or All Patient (AP-DRG).
- AttendingProviderobject
Contains information about the provider primarily responsible for a patient's care during a visit.
- IDstring, nullProbable
ID of the attending provider.
This ID is often required for Inpatient Visits. - IDTypestring, nullProbable
ID type of the ID for the attending provider
- FirstNamestring, nullPossible
First name of the attending provider
- LastNamestring, nullPossible
Last name of the attending provider
- CredentialsArray of string
List of credentials for the attending provider.
e.g. MD, PhD - Addressobject
Provider's address
- StreetAddressstring, nullPossible
Street address
- Citystring, nullPossible
City
- Statestring, nullPossible
State
- ZIPstring, nullPossible
ZIP
- Countystring, nullPossible
County
- Countrystring, nullPossibleValue Set
Country
- EmailAddressesArray of string
Provider's email address(es)
- PhoneNumberobject
- Officestring, nullPossible
Provider's office phone number.
In E. 164 Format. (e.g. +16085551234)
- Locationobject
Provider's location
- Typestring, nullPossible
Type of location.
Examples: Clinic, Department, Home, Nursing Unit, Provider's Office, Phone - Facilitystring, nullPossible
Facility.
Example: Community Hospital - FacilityIdentifiersArray of object
List of IDs specific to this facility
- IDstring, nullPossible
An ID specific to this facility
- IDTypestring, nullPossible
The source or system to which this ID pertains.
Could be an OID or a human-readable name
- Departmentstring, nullPossible
Department
- DepartmentIdentifiersArray of object
List of IDs specific to this department
- IDstring, nullPossible
An ID specific to this department
- IDTypestring, nullPossible
The source or system to which this ID pertains.
Could be an OID or a human-readable name
- Roomstring, nullPossible
Room.
Example: 136
- ConsultingProviderobject
Contains information about a provider, usually a specialist, that evaluates or treats a patient to address a specific problem.
- IDstring, nullPossible
ID of the consulting provider.
This ID is often required for Inpatient Visits. - IDTypestring, nullPossible
ID type of the ID for the consulting provider
- FirstNamestring, nullPossible
First name of the consulting provider
- LastNamestring, nullPossible
Last name of the consulting provider
- CredentialsArray of string
List of credentials for the consulting provider.
e.g. MD, PhD - Addressobject
Provider's address
- StreetAddressstring, nullPossible
Street address
- Citystring, nullPossible
City
- Statestring, nullPossible
State
- ZIPstring, nullPossible
ZIP
- Countystring, nullPossible
County
- Countrystring, nullPossibleValue Set
Country
- EmailAddressesArray of string
Provider's email address(es)
- PhoneNumberobject
- Officestring, nullPossible
Provider's office phone number.
In E. 164 Format. (e.g. +16085551234)
- Locationobject
Provider's location
- Typestring, nullPossible
Type of location.
Examples: Clinic, Department, Home, Nursing Unit, Provider's Office, Phone - Facilitystring, nullPossible
Facility.
Example: Community Hospital - FacilityIdentifiersArray of object
List of IDs specific to this facility
- IDstring, nullPossible
An ID specific to this facility
- IDTypestring, nullPossible
The source or system to which this ID pertains.
Could be an OID or a human-readable name
- Departmentstring, nullPossible
Department
- DepartmentIdentifiersArray of object
List of IDs specific to this department
- IDstring, nullPossible
An ID specific to this department
- IDTypestring, nullPossible
The source or system to which this ID pertains.
Could be an OID or a human-readable name
- Roomstring, nullPossible
Room.
Example: 136
- ReferringProviderobject
Identifies the provider that requested the patient see a consulting provider.
- IDstring, nullPossible
ID of the referring provider.
This ID is often required for Inpatient Visits. - IDTypestring, nullPossible
ID type of the ID for the referring provider
- FirstNamestring, nullPossible
First name of the referring provider
- LastNamestring, nullPossible
Last name of the referring provider
- CredentialsArray of string
List of credentials for the referring provider.
e.g. MD, PhD - Addressobject
Provider's address
- StreetAddressstring, nullPossible
Street address
- Citystring, nullPossible
City
- Statestring, nullPossible
State
- ZIPstring, nullPossible
ZIP
- Countystring, nullPossible
County
- Countrystring, nullPossibleValue Set
Country
- EmailAddressesArray of string
Provider's email address(es)
- PhoneNumberobject
- Officestring, nullPossible
Provider's office phone number.
In E. 164 Format. (e.g. +16085551234)
- Locationobject
Provider's location
- Typestring, nullPossible
Type of location.
Examples: Clinic, Department, Home, Nursing Unit, Provider's Office, Phone - Facilitystring, nullPossible
Facility.
Example: Community Hospital - FacilityIdentifiersArray of object
List of IDs specific to this facility
- IDstring, nullPossible
An ID specific to this facility
- IDTypestring, nullPossible
The source or system to which this ID pertains.
Could be an OID or a human-readable name
- Departmentstring, nullPossible
Department
- DepartmentIdentifiersArray of object
List of IDs specific to this department
- IDstring, nullPossible
An ID specific to this department
- IDTypestring, nullPossible
The source or system to which this ID pertains.
Could be an OID or a human-readable name
- Roomstring, nullPossible
Room.
Example: 136
- AdmittingProviderobject
Contains information about the provider that made the decision to admit the patient. This isn't always the same as the attending provider.
- IDstring, nullReliable
ID of the admitting provider.
This ID is often required for Inpatient Visits. - IDTypestring, nullReliable
ID type of the ID for the admitting provider
- FirstNamestring, nullPossible
First name of the admitting provider
- LastNamestring, nullPossible
Last name of the admitting provider
- CredentialsArray of string
List of credentials for the admitting provider.
e.g. MD, PhD - Addressobject
Provider's address
- StreetAddressstring, nullPossible
Street address
- Citystring, nullPossible
City
- Statestring, nullPossible
State
- ZIPstring, nullPossible
ZIP
- Countystring, nullPossible
County
- Countrystring, nullPossibleValue Set
Country
- EmailAddressesArray of string
Provider's email address(es)
- PhoneNumberobject
- Officestring, nullPossible
Provider's office phone number.
In E. 164 Format. (e.g. +16085551234)
- Locationobject
Provider's location
- Typestring, nullPossible
Type of location.
Examples: Clinic, Department, Home, Nursing Unit, Provider's Office, Phone - Facilitystring, nullPossible
Facility.
Example: Community Hospital - FacilityIdentifiersArray of object
List of IDs specific to this facility
- IDstring, nullPossible
An ID specific to this facility
- IDTypestring, nullPossible
The source or system to which this ID pertains.
Could be an OID or a human-readable name
- Departmentstring, nullPossible
Department
- DepartmentIdentifiersArray of object
List of IDs specific to this department
- IDstring, nullPossible
An ID specific to this department
- IDTypestring, nullPossible
The source or system to which this ID pertains.
Could be an OID or a human-readable name
- Roomstring, nullPossible
Room.
Example: 136
- AdditionalStaffArray of object
Contains information about all other staff assigned to the assist with the patient visit. Each may be scheduled individually.
- IDstring, nullProbable
ID of the Additional staff member.
This ID is often required for Inpatient Visits. - IDTypestring, nullProbable
ID type of the ID for the Additional staff member
- FirstNamestring, nullPossible
First name of the Additional staff member
- LastNamestring, nullPossible
Last name of the Additional staff member
- CredentialsArray of string
List of credentials for the Additional staff member.
e.g. MD, PhD - Addressobject
Provider's address
- StreetAddressstring, nullPossible
Street address
- Citystring, nullPossible
City
- Statestring, nullPossible
State
- ZIPstring, nullPossible
ZIP
- Countystring, nullPossible
County
- Countrystring, nullPossibleValue Set
Country
- EmailAddressesArray of string
Provider's email address(es)
- PhoneNumberobject
- Officestring, nullPossible
Provider's office phone number.
In E. 164 Format. (e.g. +16085551234)
- Locationobject
Provider's location
- Typestring, nullPossible
Type of location.
Examples: Clinic, Department, Home, Nursing Unit, Provider's Office, Phone - Facilitystring, nullPossible
Facility.
Example: Community Hospital - FacilityIdentifiersArray of object
List of IDs specific to this facility
- IDstring, nullPossible
An ID specific to this facility
- IDTypestring, nullPossible
The source or system to which this ID pertains.
Could be an OID or a human-readable name
- Departmentstring, nullPossible
Department
- DepartmentIdentifiersArray of object
List of IDs specific to this department
- IDstring, nullPossible
An ID specific to this department
- IDTypestring, nullPossible
The source or system to which this ID pertains.
Could be an OID or a human-readable name
- Roomstring, nullPossible
Room.
Example: 136
- Roleobject
Defines the role of this person in the patient visit.
- Codestring, nullProbable
Code for the service
- Codesetstring, nullProbable
Code set used to identify the service.
Codeset will be blank for system-defined codes. - Descriptionstring, nullProbable
Description of the service.
Example: Primary Physician, Technologist, etc.
- Locationobject
Identifies the location of the patient visit.
- Typestring, nullProbable
Type of location.
Examples: Clinic, Department, Home, Nursing Unit, Provider's Office, Phone - Facilitystring, nullProbable
Facility.
Example: Community Hospital - FacilityIdentifiersArray of object
List of IDs specific to this facility
- IDstring, nullProbable
An ID specific to this facility
- IDTypestring, nullProbable
The source or system to which this ID pertains.
Could be an OID or a human-readable name
- Departmentstring, nullProbable
Department
- DepartmentIdentifiersArray of object
List of IDs specific to this department
- IDstring, nullProbable
An ID specific to this department
- IDTypestring, nullProbable
The source or system to which this ID pertains.
Could be an OID or a human-readable name
- Roomstring, nullProbable
Room.
Example: 136 - Bedstring, nullProbable
Bed.
Example: B - Addressobject
Contains the physical address of the patient visit.
- StreetAddressstring, nullProbable
Street address
- Citystring, nullProbable
City
- Statestring, nullProbable
State
- ZIPstring, nullProbable
ZIP
- Countystring, nullPossible
County
- Countrystring, nullPossibleValue Set
Country
- Guarantorobject
Identifies the person ultimately responsible for paying for the patient visit.
- Numberstring, nullProbable
Number of the guarantor
- FirstNamestring, nullProbable
First name
- MiddleNamestring, nullPossible
Middle name
- LastNamestring, nullProbable
Last name
- SSNstring, nullPossible
Guarantor's social security number
- DOBstring, nullPossible
Guarantor's date of birth.
In ISO 8601 format - Sexstring, nullPossibleValue Set
Guarantor's sex.
One of the following: Female, Male, Unknown, Other - Spouseobject
- FirstNamestring, nullProbable
Spouse's first name
- LastNamestring, nullProbable
Spouse's last name
- Addressobject
Address of the guarantor
- StreetAddressstring, nullProbable
Street address
- Citystring, nullProbable
City
- Statestring, nullProbable
State
- ZIPstring, nullProbable
ZIP
- Countystring, nullPossible
County
- Countrystring, nullPossibleValue Set
Country
- PhoneNumberobject
- Homestring, nullProbable
Home phone number.
In E. 164 Format (i.e. +16085551234) - Businessstring, nullProbable
Business phone number.
In E. 164 Format (i.e. +16085551234) - Mobilestring, nullProbable
Mobile phone number.
In E. 164 Format (i.e. +16085551234)
- EmailAddressesArray of string
Guarantor's email address(es)
- Typestring, nullProbable
Type of guarantor.
E.g. institution, individual - RelationToPatientstring, nullProbableValue Set
Relation to the patient
- Employerobject
- Namestring, nullProbable
Employer's name
- Addressobject
Employer's address
- StreetAddressstring, nullProbable
Street address
- Citystring, nullProbable
City
- Statestring, nullProbable
State
- ZIPstring, nullProbable
ZIP
- Countystring, nullPossible
County
- Countrystring, nullPossibleValue Set
Country
- PhoneNumberstring, nullProbable
Employer phone number.
In E. 164 Format (i.e. +16085551234)
- InsurancesArray of object
Contains a list of insurance coverages for the patient.
- Planobject
- IDstring, nullProbable
Identifier of insurance plan
- IDTypestring, nullProbable
ID type of insurance plan
- Namestring, nullProbable
Name of insurance plan
- Typestring, nullPossible
Type of insurance plan
- MemberNumberstring, nullPossible
Patient member number
- Companyobject
- IDstring, nullProbable
ID of insurance company (payor)
- IDTypestring, nullProbable
ID type of insurance company (payor)
- Namestring, nullProbable
Name of insurance company (payor)
- Addressobject
Insurance company's address
- StreetAddressstring, nullProbable
Street address
- Citystring, nullProbable
City
- Statestring, nullProbable
State
- ZIPstring, nullProbable
ZIP
- Countystring, nullPossible
County
- Countrystring, nullPossibleValue Set
Country
- PhoneNumberstring, nullProbable
Insurance companys phone number.
In E. 164 Format (i.e. +16085551234)
- GroupNumberstring, nullProbable
Insurance policy group number
- GroupNamestring, nullProbable
Insurance policy group name
- EffectiveDatestring, nullProbable
Effect date of this insurance policy.
In YYYY-MM-DD format - ExpirationDatestring, nullProbable
Expiration date of this insurance policy.
In YYYY-MM-DD format - PolicyNumberstring, nullProbable
Insurance policy number
- Prioritystring, nullPossibleValue Set
The insurance priority sequence.
If the insurance works in conjunction with other insurance plans, this field contains priority sequence. - AgreementTypestring, nullProbableValue Set
Type of insurance agreement.
- CoverageTypestring, nullProbableValue Set
Type of insurance agreement.
Indicates who will be receiving the bill for the service. - Insuredobject
Individual who has the agreement with the insurance company for the related policy
- IdentifiersArray of object
List of IDs and ID types that identify the insured
- IDstring, nullPossible
ID for the insured
- IDTypestring, nullPossible
Type of ID.
E.g. MRN, EPI
- LastNamestring, nullPossible
Last name of the insured
- MiddleNamestring, nullPossible
Middle name of the insured
- FirstNamestring, nullPossible
First name of the insured
- SSNstring, nullPossible
Insured's social security number
- Relationshipstring, nullPossibleValue Set
Relationship of the insured to the patient
- DOBstring, nullPossible
Date of birth of the insured.
In YYYY-MM-DD format - Sexstring, nullPossibleValue Set
Sex of the insured
- Addressobject
Address of the insured
- StreetAddressstring, nullProbable
Street address
- Citystring, nullProbable
City
- Statestring, nullProbable
State
- ZIPstring, nullProbable
ZIP
- Countystring, nullPossible
County
- Countrystring, nullPossibleValue Set
Country