FHIR Artifacts > Structure Definition: Location Profile

Structure Definition: Location Profile

Canonical URL:http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-Location

Simplifier project page: Location

Derived from: Location (CA:eReC)

Base FHIR: Location (R4)

Formal Views of Profile Content

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

Differential View

idΣ0..1string
id0..1string
extensionI0..*Extension
versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceΣ0..1uri
profileS Σ1..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
tagΣ0..*Coding
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
id0..1id
id0..1id
extensionI0..0Extension
url1..1uriFixed Value
valueDecimaldecimal
id0..1id
extensionI0..0Extension
url1..1uriFixed Value
valueDecimaldecimal
url1..1uriFixed Value
modifierExtension?! I0..*Extension
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ0..1Period
assignerΣ0..1Reference(Organization)
statusS Σ ?!0..1codeBinding
operationalStatusΣ0..1CodingBinding
nameS Σ0..1string
alias0..*string
descriptionS Σ0..1string
modeΣ0..1codeBinding
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemS Σ1..1uri
versionΣ0..1string
codeS Σ1..1code
displayS Σ1..1string
userSelectedΣ0..1boolean
textS Σ0..1string
id0..1string
extensionI0..*Extension
systemS Σ I0..1codeBinding
valueS Σ0..1string
useΣ ?!0..1codeBinding
rankΣ0..1positiveInt
periodΣ0..1Period
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1codeBinding
textS Σ0..1string
lineΣ0..*string
cityS Σ0..1string
districtΣ0..1string
stateΣ0..1string
postalCodeS Σ0..1string
countryS Σ0..1string
periodΣ0..1Period
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ1..1uri
versionΣ0..1string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
longitude1..1decimal
latitude1..1decimal
altitude0..1decimal
managingOrganizationΣ0..1Reference(Organization)
partOf0..1Reference(Location)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
daysOfWeek0..*codeBinding
allDay0..1boolean
openingTime0..1time
closingTime0..1time
availabilityExceptions0..1string
endpoint0..*Reference(Endpoint)

Hybrid View

idΣ0..1string
id0..1string
extensionI0..*Extension
versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceΣ0..1uri
profileS Σ1..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
tagΣ0..*Coding
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
id0..1id
id0..1id
extensionI0..0Extension
url1..1uriFixed Value
valueDecimaldecimal
id0..1id
extensionI0..0Extension
url1..1uriFixed Value
valueDecimaldecimal
url1..1uriFixed Value
modifierExtension?! I0..*Extension
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ0..1Period
assignerΣ0..1Reference(Organization)
statusS Σ ?!0..1codeBinding
operationalStatusΣ0..1CodingBinding
nameS Σ0..1string
alias0..*string
descriptionS Σ0..1string
modeΣ0..1codeBinding
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemS Σ1..1uri
versionΣ0..1string
codeS Σ1..1code
displayS Σ1..1string
userSelectedΣ0..1boolean
textS Σ0..1string
id0..1string
extensionI0..*Extension
systemS Σ I0..1codeBinding
valueS Σ0..1string
useΣ ?!0..1codeBinding
rankΣ0..1positiveInt
periodΣ0..1Period
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1codeBinding
textS Σ0..1string
lineΣ0..*string
cityS Σ0..1string
districtΣ0..1string
stateΣ0..1string
postalCodeS Σ0..1string
countryS Σ0..1string
periodΣ0..1Period
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ1..1uri
versionΣ0..1string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
longitude1..1decimal
latitude1..1decimal
altitude0..1decimal
managingOrganizationΣ0..1Reference(Organization)
partOf0..1Reference(Location)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
daysOfWeek0..*codeBinding
allDay0..1boolean
openingTime0..1time
closingTime0..1time
availabilityExceptions0..1string
endpoint0..*Reference(Endpoint)

Snapshot View

idΣ0..1string
id0..1string
extensionI0..*Extension
versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceΣ0..1uri
profileS Σ1..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
tagΣ0..*Coding
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
id0..1id
id0..1id
extensionI0..0Extension
url1..1uriFixed Value
valueDecimaldecimal
id0..1id
extensionI0..0Extension
url1..1uriFixed Value
valueDecimaldecimal
url1..1uriFixed Value
modifierExtension?! I0..*Extension
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ0..1Period
assignerΣ0..1Reference(Organization)
statusS Σ ?!0..1codeBinding
operationalStatusΣ0..1CodingBinding
nameS Σ0..1string
alias0..*string
descriptionS Σ0..1string
modeΣ0..1codeBinding
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemS Σ1..1uri
versionΣ0..1string
codeS Σ1..1code
displayS Σ1..1string
userSelectedΣ0..1boolean
textS Σ0..1string
id0..1string
extensionI0..*Extension
systemS Σ I0..1codeBinding
valueS Σ0..1string
useΣ ?!0..1codeBinding
rankΣ0..1positiveInt
periodΣ0..1Period
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1codeBinding
textS Σ0..1string
lineΣ0..*string
cityS Σ0..1string
districtΣ0..1string
stateΣ0..1string
postalCodeS Σ0..1string
countryS Σ0..1string
periodΣ0..1Period
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemΣ1..1uri
versionΣ0..1string
codeΣ1..1code
displayΣ1..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
longitude1..1decimal
latitude1..1decimal
altitude0..1decimal
managingOrganizationΣ0..1Reference(Organization)
partOf0..1Reference(Location)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
daysOfWeek0..*codeBinding
allDay0..1boolean
openingTime0..1time
closingTime0..1time
availabilityExceptions0..1string
endpoint0..*Reference(Endpoint)

Table View

Location..
Location.meta1..
Location.meta.profile1..
Location.extensionExtension..
Location.extension.extension2..
Location.description..
Location.mode..
Location.type..
Location.type.coding..
Location.type.coding.system1..
Location.type.coding.code1..
Location.type.coding.display1..
Location.type.text..
Location.address..
Location.address.use..
Location.address.type..
Location.address.line..
Location.address.state..
Location.physicalType..
Location.physicalType.coding..
Location.physicalType.coding.system1..
Location.physicalType.coding.code1..
Location.physicalType.coding.display1..
Location.position..
Location.position.longitude..
Location.position.latitude..
Location.position.altitude..
Location.hoursOfOperation..
Location.hoursOfOperation.daysOfWeek..
Location.hoursOfOperation.allDay..
Location.hoursOfOperation.openingTime..
Location.hoursOfOperation.closingTime..

JSON View

{
    "resourceType": "StructureDefinition",
    "id": "ca-on-eReferral-profile-Location",
    "url": "http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-Location",
    "version": "1.1.0",
    "name": "EReferralLocation",
    "title": "Location",
    "status": "draft",
    "description": "Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated.",
    "fhirVersion": "4.0.1",
    "kind": "resource",
    "abstract": false,
    "type": "Location",
    "baseDefinition": "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Location",
    "derivation": "constraint",
    "differential": {
        "element":  [
            {
                "id": "Location.meta",
                "path": "Location.meta",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "Location.meta.profile",
                "path": "Location.meta.profile",
                "comment": "#### **_` FOR eREFERRAL USAGE: The meta.profile = http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-Location|1.1.0 `_**\n\nIt is up to the server and/or other infrastructure of policy to determine whether/how these claims are verified and/or updated over time.  The list of profile URLs is a set.",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "Location.extension:GeoJSON",
                "path": "Location.extension",
                "sliceName": "GeoJSON",
                "type":  [
                    {
                        "code": "Extension",
                        "profile":  [
                            "http://hl7.org/fhir/StructureDefinition/geolocation"
                        ]
                    }
                ],
                "mustSupport": true
            },
            {
                "id": "Location.extension:GeoJSON.extension",
                "path": "Location.extension.extension",
                "min": 2
            },
            {
                "id": "Location.description",
                "path": "Location.description",
                "mustSupport": true
            },
            {
                "id": "Location.mode",
                "path": "Location.mode",
                "binding": {
                    "strength": "required",
                    "valueSet": "http://hl7.org/fhir/ValueSet/location-mode"
                }
            },
            {
                "id": "Location.type.coding",
                "path": "Location.type.coding",
                "mustSupport": false
            },
            {
                "id": "Location.type.coding.system",
                "path": "Location.type.coding.system",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "Location.type.coding.code",
                "path": "Location.type.coding.code",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "Location.type.coding.display",
                "path": "Location.type.coding.display",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "Location.type.text",
                "path": "Location.type.text",
                "mustSupport": true
            },
            {
                "id": "Location.address.use",
                "path": "Location.address.use",
                "mustSupport": false
            },
            {
                "id": "Location.address.type",
                "path": "Location.address.type",
                "mustSupport": false
            },
            {
                "id": "Location.address.line",
                "path": "Location.address.line",
                "mustSupport": false
            },
            {
                "id": "Location.address.state",
                "path": "Location.address.state",
                "mustSupport": false
            },
            {
                "id": "Location.physicalType",
                "path": "Location.physicalType",
                "mustSupport": false
            },
            {
                "id": "Location.physicalType.coding",
                "path": "Location.physicalType.coding",
                "mustSupport": false
            },
            {
                "id": "Location.physicalType.coding.system",
                "path": "Location.physicalType.coding.system",
                "min": 1,
                "mustSupport": false
            },
            {
                "id": "Location.physicalType.coding.code",
                "path": "Location.physicalType.coding.code",
                "min": 1,
                "mustSupport": false
            },
            {
                "id": "Location.physicalType.coding.display",
                "path": "Location.physicalType.coding.display",
                "min": 1,
                "mustSupport": false
            },
            {
                "id": "Location.position",
                "path": "Location.position",
                "mustSupport": false
            },
            {
                "id": "Location.position.longitude",
                "path": "Location.position.longitude",
                "mustSupport": false
            },
            {
                "id": "Location.position.latitude",
                "path": "Location.position.latitude",
                "mustSupport": false
            },
            {
                "id": "Location.position.altitude",
                "path": "Location.position.altitude",
                "mustSupport": false
            },
            {
                "id": "Location.hoursOfOperation.daysOfWeek",
                "path": "Location.hoursOfOperation.daysOfWeek",
                "mustSupport": false
            },
            {
                "id": "Location.hoursOfOperation.allDay",
                "path": "Location.hoursOfOperation.allDay",
                "mustSupport": false
            },
            {
                "id": "Location.hoursOfOperation.openingTime",
                "path": "Location.hoursOfOperation.openingTime",
                "mustSupport": false
            },
            {
                "id": "Location.hoursOfOperation.closingTime",
                "path": "Location.hoursOfOperation.closingTime",
                "mustSupport": false
            }
        ]
    }
}

STABILITY RISK: This profile is undergoing Ontario Health harmonization and may be adjusted as part of this process (e.g., adjustments to Must Support obligations).

Usage

Location includes both incidental locations (a place which is used for healthcare without prior designation or authorization) and dedicated, formally appointed locations. Locations may be private, public, mobile or fixed and scale from small freezers to full hospital buildings or parking garages.

Location is used in a variety of ways in an eReferral process:

  • In an eReferral ServiceRequest it is used to represent
    • the Patient's general pracitioner's location
    • the eReferral Requester's location
    • an appointment provider's location
  • In an implementation environment where service directory integration is not present, provider location information SHOULD be included as part of a referral
  • In a Provider or HealthcareService Registry, it is used to represent location of the provided service. In this case additional fields become useful, such as physicalType, position, managingOrganization, hoursOfOperation, and availabilityExceptions.

Notes

.id

  • used to uniquely identify the resource
  • if a persistent identity for the resource is not available to use when constructing a message Bundle for transmission via Direct Messaging, a UUID SHOULD be used in this element (with a corresponding value in Bundle.entry.fullUrl)

.meta.profile

  • used to declare conformance to this profile
  • populate with a fixed value: http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-Location|1.1.0

extension:GeoJSON

  • HL7 FHIR defined extension used to locate the absolute longitude & latitude of a location

.telecom

  • also included HealthcareService & PractitionerRole
  • Location.telecom value takes precedence when provided