Release 4B

This page is part of the FHIR Specification (v4.3.0: R4B - STU). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R4B R4 R3

Extension: Geolocation

FHIR Infrastructure Work Group Maturity Level: 1InformativeUse Context: Any

URL for this extension:

http://hl7.org/fhir/StructureDefinition/geolocation

Status: draft. Extension maintained by: Health Level Seven International (FHIR Infrastructure)

The absolute geographic location of the Location, expressed using the WGS84 datum (This is the same co-ordinate system used in KML).

Comment:

The extension can be further extended to include unique geolocation identifiers, confidence, altitude, etc.

Context of Use: Use on Element ID Address

Extension Content

Summary

NameFlagsCard.TypeDescription & Constraintsdoco
.. Geolocation0..1ExtensionURL = http://hl7.org/fhir/StructureDefinition/geolocation
Geolocation: The absolute geographic location of the Location, expressed using the WGS84 datum (This is the same co-ordinate system used in KML).


Use on Element ID Address
... latitude1..1decimalLatitude. The value domain and the interpretation are the same as for the text of the latitude element in KML (see notes below).

... longitude1..1decimalLongitude. The value domain and the interpretation are the same as for the text of the longitude element in KML (see notes below).


doco Documentation for this format

Full Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. extension0..1ExtensionURL = http://hl7.org/fhir/StructureDefinition/geolocation
Geolocation: The absolute geographic location of the Location, expressed using the WGS84 datum (This is the same co-ordinate system used in KML).


Use on Element ID Address
... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
... extension:latitude 1..1ExtensionLatitude with WGS84 datum
.... id 0..1idUnique id for inter-element referencing
.... extension 0..0
.... url 1..1uri"latitude"
.... value[x] 1..1decimalValue of extension
... extension:longitude 1..1ExtensionLongitude with WGS84 datum
.... id 0..1idUnique id for inter-element referencing
.... extension 0..0
.... url 1..1uri"longitude"
.... value[x] 1..1decimalValue of extension
... value[x] 0..0
.... valueBase64Binarybase64Binary
.... valueBooleanboolean
.... valueCanonicalcanonical(Any)
.... valueCodecode
.... valueDatedate
.... valueDateTimedateTime
.... valueDecimaldecimal
.... valueIdid
.... valueInstantinstant
.... valueIntegerinteger
.... valueMarkdownmarkdown
.... valueOidoid
.... valuePositiveIntpositiveInt
.... valueStringstring
.... valueTimetime
.... valueUnsignedIntunsignedInt
.... valueUriuri
.... valueUrlurl
.... valueUuiduuid
.... valueAddressAddress
.... valueAgeAge
.... valueAnnotationAnnotation
.... valueAttachmentAttachment
.... valueCodeableConceptCodeableConcept
.... valueCodeableReferenceCodeableReference
.... valueCodingCoding
.... valueContactPointContactPoint
.... valueCountCount
.... valueDistanceDistance
.... valueDurationDuration
.... valueHumanNameHumanName
.... valueIdentifierIdentifier
.... valueMoneyMoney
.... valuePeriodPeriod
.... valueQuantityQuantity
.... valueRangeRange
.... valueRatioRatio
.... valueRatioRangeRatioRange
.... valueReferenceReference(Any)
.... valueSampledDataSampledData
.... valueSignatureSignature
.... valueTimingTiming
.... valueContactDetailContactDetail
.... valueContributorContributor
.... valueDataRequirementDataRequirement
.... valueExpressionExpression
.... valueParameterDefinitionParameterDefinition
.... valueRelatedArtifactRelatedArtifact
.... valueTriggerDefinitionTriggerDefinition
.... valueUsageContextUsageContext
.... valueDosageDosage

doco Documentation for this format

XML Template

<!-- Geolocation -->doco

<extension xmlns="http://hl7.org/fhir"
     url="http://hl7.org/fhir/StructureDefinition/geolocation" >
 <-- extension sliced by value:url  in the specified orderOpen-->
 <extension url="latitude"> ?? 1..1 Extension  <!-- ?? 1..1 Latitude with WGS84 datum -->
  <valueDecimal value="[decimal]"/><!-- ?? 1..1 Value of extension -->
 </extension>
 <extension url="longitude"> ?? 1..1 Extension  <!-- ?? 1..1 Longitude with WGS84 datum -->
  <valueDecimal value="[decimal]"/><!-- ?? 1..1 Value of extension -->
 </extension>
</extension>

JSON Template

{ // Geolocation
    "extension" : [ //  sliced by value:url  in the specified order, Open 
      { // Latitude with WGS84 datum // C? R! 
        // from Element: extension
        "extension" : [ //  sliced by value:url  in the specified order, Open ]
        "url" : "latitude", // R! 
        "valueDecimal" : <decimal> // C? R! Value of extension
      },
      { // Longitude with WGS84 datum // C? R! 
        // from Element: extension
        "extension" : [ //  sliced by value:url  in the specified order, Open ]
        "url" : "longitude", // R! 
        "valueDecimal" : <decimal> // C? R! Value of extension
      }
    ],
    "url" : "http://hl7.org/fhir/StructureDefinition/geolocation", // R! 
// value[x]: Value of extension. One of these 51:
  }

Summary

NameFlagsCard.TypeDescription & Constraintsdoco
.. Geolocation0..1ExtensionURL = http://hl7.org/fhir/StructureDefinition/geolocation
Geolocation: The absolute geographic location of the Location, expressed using the WGS84 datum (This is the same co-ordinate system used in KML).


Use on Element ID Address
... latitude1..1decimalLatitude. The value domain and the interpretation are the same as for the text of the latitude element in KML (see notes below).

... longitude1..1decimalLongitude. The value domain and the interpretation are the same as for the text of the longitude element in KML (see notes below).


doco Documentation for this format

Full Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. extension0..1ExtensionURL = http://hl7.org/fhir/StructureDefinition/geolocation
Geolocation: The absolute geographic location of the Location, expressed using the WGS84 datum (This is the same co-ordinate system used in KML).


Use on Element ID Address
... Slices for extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
... extension:latitude 1..1ExtensionLatitude with WGS84 datum
.... id 0..1idUnique id for inter-element referencing
.... extension 0..0
.... url 1..1uri"latitude"
.... value[x] 1..1decimalValue of extension
... extension:longitude 1..1ExtensionLongitude with WGS84 datum
.... id 0..1idUnique id for inter-element referencing
.... extension 0..0
.... url 1..1uri"longitude"
.... value[x] 1..1decimalValue of extension
... value[x] 0..0
.... valueBase64Binarybase64Binary
.... valueBooleanboolean
.... valueCanonicalcanonical(Any)
.... valueCodecode
.... valueDatedate
.... valueDateTimedateTime
.... valueDecimaldecimal
.... valueIdid
.... valueInstantinstant
.... valueIntegerinteger
.... valueMarkdownmarkdown
.... valueOidoid
.... valuePositiveIntpositiveInt
.... valueStringstring
.... valueTimetime
.... valueUnsignedIntunsignedInt
.... valueUriuri
.... valueUrlurl
.... valueUuiduuid
.... valueAddressAddress
.... valueAgeAge
.... valueAnnotationAnnotation
.... valueAttachmentAttachment
.... valueCodeableConceptCodeableConcept
.... valueCodeableReferenceCodeableReference
.... valueCodingCoding
.... valueContactPointContactPoint
.... valueCountCount
.... valueDistanceDistance
.... valueDurationDuration
.... valueHumanNameHumanName
.... valueIdentifierIdentifier
.... valueMoneyMoney
.... valuePeriodPeriod
.... valueQuantityQuantity
.... valueRangeRange
.... valueRatioRatio
.... valueRatioRangeRatioRange
.... valueReferenceReference(Any)
.... valueSampledDataSampledData
.... valueSignatureSignature
.... valueTimingTiming
.... valueContactDetailContactDetail
.... valueContributorContributor
.... valueDataRequirementDataRequirement
.... valueExpressionExpression
.... valueParameterDefinitionParameterDefinition
.... valueRelatedArtifactRelatedArtifact
.... valueTriggerDefinitionTriggerDefinition
.... valueUsageContextUsageContext
.... valueDosageDosage

doco Documentation for this format

XML Template

<!-- Geolocation -->doco

<extension xmlns="http://hl7.org/fhir"
     url="http://hl7.org/fhir/StructureDefinition/geolocation" >
 <-- extension sliced by value:url  in the specified orderOpen-->
 <extension url="latitude"> ?? 1..1 Extension  <!-- ?? 1..1 Latitude with WGS84 datum -->
  <valueDecimal value="[decimal]"/><!-- ?? 1..1 Value of extension -->
 </extension>
 <extension url="longitude"> ?? 1..1 Extension  <!-- ?? 1..1 Longitude with WGS84 datum -->
  <valueDecimal value="[decimal]"/><!-- ?? 1..1 Value of extension -->
 </extension>
</extension>

JSON Template

{ // Geolocation
    "extension" : [ //  sliced by value:url  in the specified order, Open 
      { // Latitude with WGS84 datum // C? R! 
        // from Element: extension
        "extension" : [ //  sliced by value:url  in the specified order, Open ]
        "url" : "latitude", // R! 
        "valueDecimal" : <decimal> // C? R! Value of extension
      },
      { // Longitude with WGS84 datum // C? R! 
        // from Element: extension
        "extension" : [ //  sliced by value:url  in the specified order, Open ]
        "url" : "longitude", // R! 
        "valueDecimal" : <decimal> // C? R! Value of extension
      }
    ],
    "url" : "http://hl7.org/fhir/StructureDefinition/geolocation", // R! 
// value[x]: Value of extension. One of these 51:
  }

 

Constraints

  • ele-1: All FHIR elements must have a @value or children unless an empty Parameters resource (xpath: @value|f:*|h:div|self::f:Parameters)
  • ext-1: Must have either extensions or value[x], not both (xpath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')]))
  • ele-1: On Extension.extension: All FHIR elements must have a @value or children (xpath on Extension.extension: @value|f:*|h:div)
  • ext-1: On Extension.extension: Must have either extensions or value[x], not both (xpath on Extension.extension: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")]))
  • ele-1: On Extension.extension: All FHIR elements must have a @value or children (xpath on Extension.extension: @value|f:*|h:div)
  • ext-1: On Extension.extension: Must have either extensions or value[x], not both (xpath on Extension.extension: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")]))
  • ele-1: On Extension.extension.extension: All FHIR elements must have a @value or children (xpath on Extension.extension.extension: @value|f:*|h:div)
  • ext-1: On Extension.extension.extension: Must have either extensions or value[x], not both (xpath on Extension.extension.extension: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")]))
  • ele-1: On Extension.extension.value[x]: All FHIR elements must have a @value or children (xpath on Extension.extension.value[x]: @value|f:*|h:div)
  • ele-1: On Extension.extension: All FHIR elements must have a @value or children (xpath on Extension.extension: @value|f:*|h:div)
  • ext-1: On Extension.extension: Must have either extensions or value[x], not both (xpath on Extension.extension: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")]))
  • ele-1: On Extension.extension.extension: All FHIR elements must have a @value or children (xpath on Extension.extension.extension: @value|f:*|h:div)
  • ext-1: On Extension.extension.extension: Must have either extensions or value[x], not both (xpath on Extension.extension.extension: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")]))
  • ele-1: On Extension.extension.value[x]: All FHIR elements must have a @value or children (xpath on Extension.extension.value[x]: @value|f:*|h:div)
  • ele-1: On Extension.value[x]: All FHIR elements must have a @value or children (xpath on Extension.value[x]: @value|f:*|h:div)