This page is part of the US Core (v7.0.0: STU7) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version. For a full list of available versions, see the Directory of published versions. Page versions: STU6.1 STU6 STU5 STU4 STU3 STU2 STU1
Official URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-location | Version: 7.0.0 | |||
Standards status: Trial-use | Maturity Level: 3 | Computable Name: USCoreLocationProfile | ||
Other Identifiers: OID:2.16.840.1.113883.4.642.40.2.42.31 | ||||
Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License |
The US Core Location Profile inherits from the FHIR Location resource; refer to it for scope and usage definitions. This profile sets minimum expectations for the Location resource for recording, searching, and fetching a “physical place of available services or resources.” It specifies which core elements, extensions, vocabularies, and value sets SHALL be present and constrains how the elements are used. Providing the floor for standards development for specific use cases promotes interoperability and adoption.
The following data elements must always be present (Mandatory definition) or must be supported if the data is present in the sending system (Must Support definition). They are presented below in a simple human-readable explanation. Profile specific guidance and examples are provided as well. The Formal Views below provides the formal summary, definitions, and terminology requirements.
Each Location Must Have:
Each Location Must Support:
*see guidance below
Additional Profile specific implementation guidance:
Encounter.location
and Immunization.location
.If the event facility/location differs from the Encounter.location
, systems SHOULD reference it directly:
location
element for all resources where the element is available.Location.address.line
and Location.address.city
.Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from Location
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Location | 0..* | Location | Details and position information for a physical place | |
identifier | S | 0..* | Identifier | Unique business identifier for facility or location. |
status | S | 0..1 | code | active | suspended | inactive |
name | S | 1..1 | string | Name by which a facility or location is known. |
type | S | 0..* | CodeableConcept | Category of service or resource available in a location. Binding: ServiceDeliveryLocationRoleType (extensible) |
telecom | S | 0..* | ContactPoint | Contact details of the location |
address | S | 0..1 | Address | Physical location |
line | S | 0..* | string | Street name, number, direction & P.O. Box etc. Example General: 49 MEADOW ST |
city | S | 0..1 | string | Name of city, town etc. Example General: EVERYTOWN |
state | S | 0..1 | string | Sub-unit of country (abbreviations ok) Binding: USPS Two Letter Alphabetic Codes (extensible): Two letter USPS alphabetic codes. Example General: OK |
postalCode | S | 0..1 | string | US Zip Codes Example General: 74047 |
managingOrganization | S | 0..1 | Reference(US Core Organization Profile) | Organization responsible for provisioning and upkeep |
Documentation for this format |
Path | Conformance | ValueSet | URI |
Location.type | extensible | ServiceDeliveryLocationRoleTypehttp://terminology.hl7.org/ValueSet/v3-ServiceDeliveryLocationRoleType | |
Location.address.state | extensible | UspsTwoLetterAlphabeticCodes (a valid code from https://www.usps.com/ )http://hl7.org/fhir/us/core/ValueSet/us-core-usps-state from this IG |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Location | 0..* | Location | Details and position information for a physical place | |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | SΣ | 0..* | Identifier | Unique business identifier for facility or location. |
status | ?!SΣ | 0..1 | code | active | suspended | inactive Binding: LocationStatus (required): Indicates whether the location is still in use. |
name | SΣ | 1..1 | string | Name by which a facility or location is known. |
type | SΣ | 0..* | CodeableConcept | Category of service or resource available in a location. Binding: ServiceDeliveryLocationRoleType (extensible) |
telecom | S | 0..* | ContactPoint | Contact details of the location |
address | S | 0..1 | Address | Physical location |
use | ?!Σ | 0..1 | code | home | work | temp | old | billing - purpose of this address Binding: AddressUse (required): The use of an address. Example General: home |
line | SΣ | 0..* | string | Street name, number, direction & P.O. Box etc. This repeating element order: The order in which lines should appear in an address label Example General: 137 Nowhere Street Example General: 49 MEADOW ST |
city | SΣ | 0..1 | string | Name of city, town etc. Example General: Erewhon Example General: EVERYTOWN |
state | SΣ | 0..1 | string | Sub-unit of country (abbreviations ok) Binding: USPS Two Letter Alphabetic Codes (extensible): Two letter USPS alphabetic codes. Example General: OK |
postalCode | SΣ | 0..1 | string | US Zip Codes Example General: 9132 Example General: 74047 |
managingOrganization | SΣ | 0..1 | Reference(US Core Organization Profile) | Organization responsible for provisioning and upkeep |
Documentation for this format |
Path | Conformance | ValueSet | URI |
Location.status | required | LocationStatushttp://hl7.org/fhir/ValueSet/location-status|4.0.1 from the FHIR Standard | |
Location.type | extensible | ServiceDeliveryLocationRoleTypehttp://terminology.hl7.org/ValueSet/v3-ServiceDeliveryLocationRoleType | |
Location.address.use | required | AddressUsehttp://hl7.org/fhir/ValueSet/address-use|4.0.1 from the FHIR Standard | |
Location.address.state | extensible | UspsTwoLetterAlphabeticCodes (a valid code from https://www.usps.com/ )http://hl7.org/fhir/us/core/ValueSet/us-core-usps-state from this IG |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Location | 0..* | Location | Details and position information for a physical place | |||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
identifier | SΣ | 0..* | Identifier | Unique business identifier for facility or location. | ||||
status | ?!SΣ | 0..1 | code | active | suspended | inactive Binding: LocationStatus (required): Indicates whether the location is still in use. | ||||
operationalStatus | Σ | 0..1 | Coding | The operational status of the location (typically only for a bed/room) Binding: hl7VS-bedStatus (preferred): The operational status if the location (where typically a bed/room). | ||||
name | SΣ | 1..1 | string | Name by which a facility or location is known. | ||||
alias | 0..* | string | A list of alternate names that the location is known as, or was known as, in the past | |||||
description | Σ | 0..1 | string | Additional details about the location that could be displayed as further information to identify the location beyond its name | ||||
mode | Σ | 0..1 | code | instance | kind Binding: LocationMode (required): Indicates whether a resource instance represents a specific location or a class of locations. | ||||
type | SΣ | 0..* | CodeableConcept | Category of service or resource available in a location. Binding: ServiceDeliveryLocationRoleType (extensible) | ||||
telecom | S | 0..* | ContactPoint | Contact details of the location | ||||
address | S | 0..1 | Address | Physical location | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
use | ?!Σ | 0..1 | code | home | work | temp | old | billing - purpose of this address Binding: AddressUse (required): The use of an address. Example General: home | ||||
type | Σ | 0..1 | code | postal | physical | both Binding: AddressType (required): The type of an address (physical / postal). Example General: both | ||||
text | Σ | 0..1 | string | Text representation of the address Example General: 137 Nowhere Street, Erewhon 9132 | ||||
line | SΣ | 0..* | string | Street name, number, direction & P.O. Box etc. This repeating element order: The order in which lines should appear in an address label Example General: 137 Nowhere Street Example General: 49 MEADOW ST | ||||
city | SΣ | 0..1 | string | Name of city, town etc. Example General: Erewhon Example General: EVERYTOWN | ||||
district | Σ | 0..1 | string | District name (aka county) Example General: Madison | ||||
state | SΣ | 0..1 | string | Sub-unit of country (abbreviations ok) Binding: USPS Two Letter Alphabetic Codes (extensible): Two letter USPS alphabetic codes. Example General: OK | ||||
postalCode | SΣ | 0..1 | string | US Zip Codes Example General: 9132 Example General: 74047 | ||||
country | Σ | 0..1 | string | Country (e.g. can be ISO 3166 2 or 3 letter code) | ||||
period | Σ | 0..1 | Period | Time period when address was/is in use Example General: {"start":"2010-03-23","end":"2010-07-01"} | ||||
physicalType | Σ | 0..1 | CodeableConcept | Physical form of the location Binding: LocationType (example): Physical form of the location. | ||||
position | 0..1 | BackboneElement | The absolute geographic location | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
longitude | 1..1 | decimal | Longitude with WGS84 datum | |||||
latitude | 1..1 | decimal | Latitude with WGS84 datum | |||||
altitude | 0..1 | decimal | Altitude with WGS84 datum | |||||
managingOrganization | SΣ | 0..1 | Reference(US Core Organization Profile) | Organization responsible for provisioning and upkeep | ||||
partOf | 0..1 | Reference(Location) | Another Location this one is physically a part of | |||||
hoursOfOperation | 0..* | BackboneElement | What days/times during a week is this location usually open | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
daysOfWeek | 0..* | code | mon | tue | wed | thu | fri | sat | sun Binding: DaysOfWeek (required): The days of the week. | |||||
allDay | 0..1 | boolean | The Location is open all day | |||||
openingTime | 0..1 | time | Time that the Location opens | |||||
closingTime | 0..1 | time | Time that the Location closes | |||||
availabilityExceptions | 0..1 | string | Description of availability exceptions | |||||
endpoint | 0..* | Reference(Endpoint) | Technical endpoints providing access to services operated for the location | |||||
Documentation for this format |
Path | Conformance | ValueSet | URI | |||
Location.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages from the FHIR Standard | ||||
Location.status | required | LocationStatushttp://hl7.org/fhir/ValueSet/location-status|4.0.1 from the FHIR Standard | ||||
Location.operationalStatus | preferred | Hl7VSBedStatushttp://terminology.hl7.org/ValueSet/v2-0116 | ||||
Location.mode | required | LocationModehttp://hl7.org/fhir/ValueSet/location-mode|4.0.1 from the FHIR Standard | ||||
Location.type | extensible | ServiceDeliveryLocationRoleTypehttp://terminology.hl7.org/ValueSet/v3-ServiceDeliveryLocationRoleType | ||||
Location.address.use | required | AddressUsehttp://hl7.org/fhir/ValueSet/address-use|4.0.1 from the FHIR Standard | ||||
Location.address.type | required | AddressTypehttp://hl7.org/fhir/ValueSet/address-type|4.0.1 from the FHIR Standard | ||||
Location.address.state | extensible | UspsTwoLetterAlphabeticCodes (a valid code from https://www.usps.com/ )http://hl7.org/fhir/us/core/ValueSet/us-core-usps-state from this IG | ||||
Location.physicalType | example | LocationTypehttp://hl7.org/fhir/ValueSet/location-physical-type from the FHIR Standard | ||||
Location.hoursOfOperation.daysOfWeek | required | DaysOfWeekhttp://hl7.org/fhir/ValueSet/days-of-week|4.0.1 from the FHIR Standard |
Differential View
This structure is derived from Location
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Location | 0..* | Location | Details and position information for a physical place | |
identifier | S | 0..* | Identifier | Unique business identifier for facility or location. |
status | S | 0..1 | code | active | suspended | inactive |
name | S | 1..1 | string | Name by which a facility or location is known. |
type | S | 0..* | CodeableConcept | Category of service or resource available in a location. Binding: ServiceDeliveryLocationRoleType (extensible) |
telecom | S | 0..* | ContactPoint | Contact details of the location |
address | S | 0..1 | Address | Physical location |
line | S | 0..* | string | Street name, number, direction & P.O. Box etc. Example General: 49 MEADOW ST |
city | S | 0..1 | string | Name of city, town etc. Example General: EVERYTOWN |
state | S | 0..1 | string | Sub-unit of country (abbreviations ok) Binding: USPS Two Letter Alphabetic Codes (extensible): Two letter USPS alphabetic codes. Example General: OK |
postalCode | S | 0..1 | string | US Zip Codes Example General: 74047 |
managingOrganization | S | 0..1 | Reference(US Core Organization Profile) | Organization responsible for provisioning and upkeep |
Documentation for this format |
Path | Conformance | ValueSet | URI |
Location.type | extensible | ServiceDeliveryLocationRoleTypehttp://terminology.hl7.org/ValueSet/v3-ServiceDeliveryLocationRoleType | |
Location.address.state | extensible | UspsTwoLetterAlphabeticCodes (a valid code from https://www.usps.com/ )http://hl7.org/fhir/us/core/ValueSet/us-core-usps-state from this IG |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Location | 0..* | Location | Details and position information for a physical place | |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | SΣ | 0..* | Identifier | Unique business identifier for facility or location. |
status | ?!SΣ | 0..1 | code | active | suspended | inactive Binding: LocationStatus (required): Indicates whether the location is still in use. |
name | SΣ | 1..1 | string | Name by which a facility or location is known. |
type | SΣ | 0..* | CodeableConcept | Category of service or resource available in a location. Binding: ServiceDeliveryLocationRoleType (extensible) |
telecom | S | 0..* | ContactPoint | Contact details of the location |
address | S | 0..1 | Address | Physical location |
use | ?!Σ | 0..1 | code | home | work | temp | old | billing - purpose of this address Binding: AddressUse (required): The use of an address. Example General: home |
line | SΣ | 0..* | string | Street name, number, direction & P.O. Box etc. This repeating element order: The order in which lines should appear in an address label Example General: 137 Nowhere Street Example General: 49 MEADOW ST |
city | SΣ | 0..1 | string | Name of city, town etc. Example General: Erewhon Example General: EVERYTOWN |
state | SΣ | 0..1 | string | Sub-unit of country (abbreviations ok) Binding: USPS Two Letter Alphabetic Codes (extensible): Two letter USPS alphabetic codes. Example General: OK |
postalCode | SΣ | 0..1 | string | US Zip Codes Example General: 9132 Example General: 74047 |
managingOrganization | SΣ | 0..1 | Reference(US Core Organization Profile) | Organization responsible for provisioning and upkeep |
Documentation for this format |
Path | Conformance | ValueSet | URI |
Location.status | required | LocationStatushttp://hl7.org/fhir/ValueSet/location-status|4.0.1 from the FHIR Standard | |
Location.type | extensible | ServiceDeliveryLocationRoleTypehttp://terminology.hl7.org/ValueSet/v3-ServiceDeliveryLocationRoleType | |
Location.address.use | required | AddressUsehttp://hl7.org/fhir/ValueSet/address-use|4.0.1 from the FHIR Standard | |
Location.address.state | extensible | UspsTwoLetterAlphabeticCodes (a valid code from https://www.usps.com/ )http://hl7.org/fhir/us/core/ValueSet/us-core-usps-state from this IG |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Location | 0..* | Location | Details and position information for a physical place | |||||
id | Σ | 0..1 | id | Logical id of this artifact | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
identifier | SΣ | 0..* | Identifier | Unique business identifier for facility or location. | ||||
status | ?!SΣ | 0..1 | code | active | suspended | inactive Binding: LocationStatus (required): Indicates whether the location is still in use. | ||||
operationalStatus | Σ | 0..1 | Coding | The operational status of the location (typically only for a bed/room) Binding: hl7VS-bedStatus (preferred): The operational status if the location (where typically a bed/room). | ||||
name | SΣ | 1..1 | string | Name by which a facility or location is known. | ||||
alias | 0..* | string | A list of alternate names that the location is known as, or was known as, in the past | |||||
description | Σ | 0..1 | string | Additional details about the location that could be displayed as further information to identify the location beyond its name | ||||
mode | Σ | 0..1 | code | instance | kind Binding: LocationMode (required): Indicates whether a resource instance represents a specific location or a class of locations. | ||||
type | SΣ | 0..* | CodeableConcept | Category of service or resource available in a location. Binding: ServiceDeliveryLocationRoleType (extensible) | ||||
telecom | S | 0..* | ContactPoint | Contact details of the location | ||||
address | S | 0..1 | Address | Physical location | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
use | ?!Σ | 0..1 | code | home | work | temp | old | billing - purpose of this address Binding: AddressUse (required): The use of an address. Example General: home | ||||
type | Σ | 0..1 | code | postal | physical | both Binding: AddressType (required): The type of an address (physical / postal). Example General: both | ||||
text | Σ | 0..1 | string | Text representation of the address Example General: 137 Nowhere Street, Erewhon 9132 | ||||
line | SΣ | 0..* | string | Street name, number, direction & P.O. Box etc. This repeating element order: The order in which lines should appear in an address label Example General: 137 Nowhere Street Example General: 49 MEADOW ST | ||||
city | SΣ | 0..1 | string | Name of city, town etc. Example General: Erewhon Example General: EVERYTOWN | ||||
district | Σ | 0..1 | string | District name (aka county) Example General: Madison | ||||
state | SΣ | 0..1 | string | Sub-unit of country (abbreviations ok) Binding: USPS Two Letter Alphabetic Codes (extensible): Two letter USPS alphabetic codes. Example General: OK | ||||
postalCode | SΣ | 0..1 | string | US Zip Codes Example General: 9132 Example General: 74047 | ||||
country | Σ | 0..1 | string | Country (e.g. can be ISO 3166 2 or 3 letter code) | ||||
period | Σ | 0..1 | Period | Time period when address was/is in use Example General: {"start":"2010-03-23","end":"2010-07-01"} | ||||
physicalType | Σ | 0..1 | CodeableConcept | Physical form of the location Binding: LocationType (example): Physical form of the location. | ||||
position | 0..1 | BackboneElement | The absolute geographic location | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
longitude | 1..1 | decimal | Longitude with WGS84 datum | |||||
latitude | 1..1 | decimal | Latitude with WGS84 datum | |||||
altitude | 0..1 | decimal | Altitude with WGS84 datum | |||||
managingOrganization | SΣ | 0..1 | Reference(US Core Organization Profile) | Organization responsible for provisioning and upkeep | ||||
partOf | 0..1 | Reference(Location) | Another Location this one is physically a part of | |||||
hoursOfOperation | 0..* | BackboneElement | What days/times during a week is this location usually open | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
daysOfWeek | 0..* | code | mon | tue | wed | thu | fri | sat | sun Binding: DaysOfWeek (required): The days of the week. | |||||
allDay | 0..1 | boolean | The Location is open all day | |||||
openingTime | 0..1 | time | Time that the Location opens | |||||
closingTime | 0..1 | time | Time that the Location closes | |||||
availabilityExceptions | 0..1 | string | Description of availability exceptions | |||||
endpoint | 0..* | Reference(Endpoint) | Technical endpoints providing access to services operated for the location | |||||
Documentation for this format |
Path | Conformance | ValueSet | URI | |||
Location.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages from the FHIR Standard | ||||
Location.status | required | LocationStatushttp://hl7.org/fhir/ValueSet/location-status|4.0.1 from the FHIR Standard | ||||
Location.operationalStatus | preferred | Hl7VSBedStatushttp://terminology.hl7.org/ValueSet/v2-0116 | ||||
Location.mode | required | LocationModehttp://hl7.org/fhir/ValueSet/location-mode|4.0.1 from the FHIR Standard | ||||
Location.type | extensible | ServiceDeliveryLocationRoleTypehttp://terminology.hl7.org/ValueSet/v3-ServiceDeliveryLocationRoleType | ||||
Location.address.use | required | AddressUsehttp://hl7.org/fhir/ValueSet/address-use|4.0.1 from the FHIR Standard | ||||
Location.address.type | required | AddressTypehttp://hl7.org/fhir/ValueSet/address-type|4.0.1 from the FHIR Standard | ||||
Location.address.state | extensible | UspsTwoLetterAlphabeticCodes (a valid code from https://www.usps.com/ )http://hl7.org/fhir/us/core/ValueSet/us-core-usps-state from this IG | ||||
Location.physicalType | example | LocationTypehttp://hl7.org/fhir/ValueSet/location-physical-type from the FHIR Standard | ||||
Location.hoursOfOperation.daysOfWeek | required | DaysOfWeekhttp://hl7.org/fhir/ValueSet/days-of-week|4.0.1 from the FHIR Standard |
Other representations of profile: CSV, Excel, Schematron
Below is an overview of the required Server RESTful FHIR interactions for this profile - for example, search and read operations - when supporting the US Core interactions to access this profile’s information (Profile Support + Interaction Support). Note that systems that support only US Core Profiles (Profile Only Support) are not required to support these interactions. See the US Core Server CapabilityStatement for a complete list of supported RESTful interactions for this IG.
Servers providing access to data MAY support these US Core SMART Scopes:
<patient|user|system>/Location.rs
The following search parameters and search parameter combinations SHALL be supported:
SHALL support searching by location name using the name
search parameter:
GET [base]/Location?name=[string]
Example:
Implementation Notes: Fetches a bundle of all Location resources that match the name (how to search by string)
SHALL support searching location based on text address using the address
search parameter:
GET [base]/Location?address=[string]
Example:
Implementation Notes: Fetches a bundle of all Location resources that match the address string (how to search by string)
The following search parameter combinations SHOULD be supported:
SHOULD support searching using the address-city
search parameter:
GET [base]/Location?address-city=[string]
Example:
Implementation Notes: Fetches a bundle of all Location resources for the city (how to search by string)
SHOULD support searching using the address-state
search parameter:
GET [base]/Location?address-state=[string]
Example:
Implementation Notes: Fetches a bundle of all Location resources for the state (how to search by string)
SHOULD support searching using the address-postalcode
search parameter:
GET [base]/Location?address-postalcode=[string]
Example:
Implementation Notes: Fetches a bundle of all Location resources for the ZIP code (how to search by string)