Validated Healthcare Directory
1.0.0 - STU1 International flag

Validated Healthcare Directory, published by HL7 International / Patient Administration. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/VhDir/ and changes regularly. See the Directory of published versions

Resource Profile: VhDir Location

Official URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/vhdir-location Version: 1.0.0
Standards status: Trial-use Maturity Level: 2 Computable Name: VhdirLocation

Copyright/Legal: HL7 International

Defines the basic constraints and extensions on the Location resource for use in a Validated Healthcare Directory

This profile sets minimum expectations for searching for and fetching information associated with a location. It identifies which core elements, extensions, vocabularies and value sets SHALL be present in the Location resource when using this profile.

Background & Scope

A location is the physical place where healthcare services are provided, practitioners are employed, organizations are based, etc. Locations can range in scope from a room in a building to a geographic region/area.

This profile modifies the base Practitioner resource in the following manner:

  • Constrains the cardinality of location.status (1..1), location.operationalStatus (0..0), location.mode (0..0), location.telecom.system (1..1), and location.telecom.value (1..1),

  • All references SHALL conform to the appropriate Validated Healthcare Directory Implementation Guide profile

  • Adds extensions:

  1. Identifier status (1..1) - indicates the status of a location's identifier
  2. Via intermediary (0..1) - a reference to an alternative point of contact for this location
  3. Available time (0..*) - indicates when a location is available for contact
  4. Boundary-geojson (0..*) - indicates a region/area for the location
  5. Accessibility (0..*) - indicates accessibility options available at the location (e.g. handicap accessibility)
  6. EHR (0..*) - provides information about the EHR product(s) used at the location
  7. NewPatients (0..*) - indicates whether the location is accepting new patients
  8. NewPatientProfile (0..*) - a description of the type of patients the location accepts (e.g. pediatric only)
  9. Restriction (0..*) - indicates whether disclosure of any data associated with a location is restricted

Examples:

The following are example uses for the vhdir-location profile:

Mandatory Data Elements

The following data-elements are mandatory (i.e data MUST be present). These are presented below in a simple human-readable explanation. The Formal Profile Definition below provides the formal summary, definitions, and terminology requirements.

Each Location must have:

  1. One coded value in location.status

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraintsdoco
.. Location 0..* Location Details and position information for a physical place
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... boundary S 0..1 Attachment A boundary shape that represents the outside edge of the location (in GeoJSON format)
URL: http://hl7.org/fhir/StructureDefinition/location-boundary-geojson
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... accessibility S 0..* CodeableConcept Accessibility options offered by the location
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/accessibility
Binding: VhDir Accessibility Value Set (example)
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... ehr S 0..* (Complex) EHR at the location
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/ehr
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... newpatients S 0..* (Complex) Whether the location is accepting new patients
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/newpatients
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... newpatientprofile S 0..* string Type of new patients accepted
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/newpatientprofile
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... restriction S 0..* Reference(VhDir Restriction) Restriction
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/usage-restriction
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... identifier SΣ 0..* Identifier Unique code or number identifying the location to its users
ele-1: All FHIR elements must have a @value or children
.... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... status S 1..1 code Status
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/identifier-status
Binding: VhDir Identifier Status Value Set (required)
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... use ?!SΣ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .


ele-1: All FHIR elements must have a @value or children
.... type SΣ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.


ele-1: All FHIR elements must have a @value or children
.... system SΣ 0..1 uri The namespace for the identifier value
ele-1: All FHIR elements must have a @value or children
Example General: http://www.acme.com/identifiers/patient
.... value SΣ 0..1 string The value that is unique
ele-1: All FHIR elements must have a @value or children
Example General: 123456
.... period SΣ 0..1 Period Time period when id is/was valid for use
ele-1: All FHIR elements must have a @value or children
.... assigner SΣ 0..1 Reference(VhDir Organization) Organization that issued id (may be just text)
ele-1: All FHIR elements must have a @value or children
... status ?!SΣ 1..1 code active | suspended | inactive
Binding: LocationStatus (required): Indicates whether the location is still in use.


ele-1: All FHIR elements must have a @value or children
... name SΣ 0..1 string Name of the location as used by humans
ele-1: All FHIR elements must have a @value or children
... alias S 0..* string A list of alternate names that the location is known as, or was known as, in the past
ele-1: All FHIR elements must have a @value or children
... description SΣ 0..1 string Additional details about the location that could be displayed as further information to identify the location beyond its name
ele-1: All FHIR elements must have a @value or children
... type SΣ 0..* CodeableConcept Type of function performed
Binding: ServiceDeliveryLocationRoleType (extensible): Indicates the type of function performed at the location.


ele-1: All FHIR elements must have a @value or children
... telecom S 0..* ContactPoint Contact details of the location
ele-1: All FHIR elements must have a @value or children
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... availabletime S 0..* (Complex) Available time
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/contactpoint-availabletime
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... viaintermediary S 0..1 Reference(VhDir Practitioner Role | VhDir Organization | VhDir Organization Affiliation | VhDir Location) viaintermediary
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/contactpoint-viaintermediary
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... system SΣC 1..1 code phone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.


ele-1: All FHIR elements must have a @value or children
.... value SΣ 1..1 string The actual contact point details
ele-1: All FHIR elements must have a @value or children
.... use ?!SΣ 0..1 code home | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required): Use of contact point.


ele-1: All FHIR elements must have a @value or children
.... rank SΣ 0..1 positiveInt Specify preferred order of use (1 = highest)
ele-1: All FHIR elements must have a @value or children
.... period SΣ 0..1 Period Time period when the contact point was/is in use
ele-1: All FHIR elements must have a @value or children
... address S 0..1 Address Physical location
ele-1: All FHIR elements must have a @value or children
... physicalType SΣ 0..1 CodeableConcept Physical form of the location
Binding: LocationType (example): Physical form of the location.


ele-1: All FHIR elements must have a @value or children
... position S 0..1 BackboneElement The absolute geographic location
ele-1: All FHIR elements must have a @value or children
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... longitude S 1..1 decimal Longitude with WGS84 datum
ele-1: All FHIR elements must have a @value or children
.... latitude S 1..1 decimal Latitude with WGS84 datum
ele-1: All FHIR elements must have a @value or children
.... altitude S 0..1 decimal Altitude with WGS84 datum
ele-1: All FHIR elements must have a @value or children
... managingOrganization SΣ 0..1 Reference(VhDir Organization) Organization responsible for provisioning and upkeep
ele-1: All FHIR elements must have a @value or children
... partOf S 0..1 Reference(VhDir Location) Another Location this one is physically a part of
ele-1: All FHIR elements must have a @value or children
... hoursOfOperation S 0..* BackboneElement What days/times during a week is this location usually open
ele-1: All FHIR elements must have a @value or children
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... daysOfWeek S 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required): The days of the week.


ele-1: All FHIR elements must have a @value or children
.... allDay S 0..1 boolean The Location is open all day
ele-1: All FHIR elements must have a @value or children
.... openingTime S 0..1 time Time that the Location opens
ele-1: All FHIR elements must have a @value or children
.... closingTime S 0..1 time Time that the Location closes
ele-1: All FHIR elements must have a @value or children
... availabilityExceptions S 0..1 string Description of availability exceptions
ele-1: All FHIR elements must have a @value or children
... endpoint S 0..* Reference(VhDir Endpoint) Technical endpoints providing access to services operated for the location
ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Location.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Location.identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
Location.statusrequiredLocationStatus
http://hl7.org/fhir/ValueSet/location-status|4.0.1
from the FHIR Standard
Location.typeextensibleServiceDeliveryLocationRoleType
http://terminology.hl7.org/ValueSet/v3-ServiceDeliveryLocationRoleType
Location.telecom.systemrequiredContactPointSystem
http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1
from the FHIR Standard
Location.telecom.userequiredContactPointUse
http://hl7.org/fhir/ValueSet/contact-point-use|4.0.1
from the FHIR Standard
Location.physicalTypeexampleLocationType
http://hl7.org/fhir/ValueSet/location-physical-type
from the FHIR Standard
Location.hoursOfOperation.daysOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week|4.0.1
from the FHIR Standard

 

Other representations of profile: CSV, Excel, Schematron

Notes:

Supported Searches

GET [base]/Location?accessibility=[code]

Support: MAY support search by the accessibility parameter

  • including the modifiers: text

GET [base]/Location?address=[string]

Support: SHALL support search by the address parameter

  • including the modifiers: contains, exact

GET [base]/Location?endpoint=[id]

Support: SHOULD support search by the endpoint parameter

  • with a target type: Endpoint
  • including these search paramaters which may be chained: endpoint.identifier, endpoint.connection-type, endpoint.organization

GET [base]/Location?identifier=[code]

Support: SHALL support search by the identifier parameter

  • including the modifiers: text, ofType

GET [base]/Location?identifier-assigner=[id]

Support: MAY support search by the identifier-assigner parameter

  • with a target type: Organization
  • including the modifiers: below
  • including these search paramaters which may be chained: identifier-assigner.identifier, identifier-assigner.name

GET [base]/Location?new-patient=[code]

Support: SHOULD support search by the new-patient parameter


GET [base]/Location?new-patient-network=[id]

Support: SHOULD support search by the new-patient-network parameter

  • with a target type: Organization
  • including these search paramaters which may be chained: new-patient-network.identifier, new-patient-network.name, new-patient-network.partof

GET [base]/Location?organization=[id]

Support: SHALL support search by the organization parameter

  • with a target type: Organization
  • including the modifiers: above, below
  • including these search paramaters which may be chained: organization.identifier, organization.name, organization.address, organization.partof, organization-type

GET [base]/Location?partof=[id]

Support: SHOULD support search by the partof parameter

  • with a target type: Location
  • including the modifiers: above, below
  • including these search paramaters which may be chained: identifier, type, address, organization

GET [base]/Location?contains=-83.694810|42.256500

Support: MAY support search by the contains parameter

This is a special search parameter which might leverage a systems geo-spatial features to test that the geocoded point provided (expressed as [latitude]|[longitude] using the WGS84 datum) is contained by the boundary stored in the standard extension boundary-geojson

Support for multiple points can also be provided using the , syntax which is interpretted as the location returned in the search contains at least 1 of the provided co-ordinates.


GET [base]/Location?status=[code]

Support: SHALL support search by the status parameter


GET [base]/Location?type=[code]

Support: SHALL support search by the type parameter

  • including the modifiers: text

GET [base]/Location?via-intermediary=[id]

Support: MAY support search by the via-intermediary parameter

  • with a target type: PractitionerRole, Organization, OrganizationAffiliation, Location

GET [base]/Location?near=-83.694810|42.256500|11.20|km

Support: MAY support search by the near parameter