Release 4
This page is part of the FHIR Specification (v4.0.1: R4 - Mixed Normative and STU ). This is the current published version in it's permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions

Extension: Geolocation

FHIR Infrastructure Work Group   Maturity Level : 1 Informative Use 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

Name Flags Card. Type Description & Constraints doco
. . Geolocation 0..1 Extension URL = 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
. . . latitude 1..1 decimal Latitude. The value domain and the interpretation are the same as for the text of the latitude element in KML (see notes below).

. . . longitude 1..1 decimal Longitude. 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

valueUri uri
Name Flags Card. Type Description & Constraints doco
. . extension 0..1 Extension URL = 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
. . . extension I 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
. . . extension:latitude I 1..1 Extension Latitude with WGS84 datum
. . . . id 0..1 string Unique id for inter-element referencing
.... extension I 0..0
. . . . url 1..1 uri "latitude"
. . . . value[x] I 1..1 decimal Value of extension
. . . extension:longitude I 1..1 Extension Longitude with WGS84 datum
. . . . id 0..1 string Unique id for inter-element referencing
. . . . extension I 0..0
. . . . url 1..1 uri "longitude"
. . . . value[x] I 1..1 decimal Value of extension
. . . value[x] I 0 .. 0
. . . . valueBase64Binary base64Binary
. . . . valueBoolean boolean
. . . . valueCanonical canonical () (Any)
. . . . valueCode code
. . . . valueDate date
. . . . valueDateTime dateTime
. . . . valueDecimal decimal
. . . . valueId id
. . . . valueInstant instant
. . . . valueInteger integer
. . . . valueMarkdown valueInteger64 markdown integer64
. . . . valueOid valueMarkdown oid markdown
. . . . valueOid oid
.... valuePositiveInt white; #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class=hierarchy> white; #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class=hierarchy> white; #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class=hierarchy> positiveInt white; #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class=hierarchy>
. . . . valueString string
. . . . valueTime time
. . . . valueUnsignedInt #F7F7F7; white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class=hierarchy> #F7F7F7; white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class=hierarchy> #F7F7F7; white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class=hierarchy> unsignedInt #F7F7F7; white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class=hierarchy>
. . . . valueUrl valueUri url uri
. . . . valueUuid valueUrl uuid url
. . . valueAddress . valueUuid Address uuid
. . . . valueAge valueAddress Age Address
. . . . valueAnnotation valueAge Annotation Age
. . . . valueAttachment valueAnnotation Attachment Annotation
. . . . valueCodeableConcept valueAttachment CodeableConcept Attachment
. . . . valueCoding valueCodeableConcept Coding CodeableConcept
. . . . valueContactPoint valueCoding ContactPoint Coding
. . . . valueCount valueContactPoint Count ContactPoint
. . . . valueDistance valueCount Distance Count
. . . . valueDuration valueDistance Duration Distance
. . . . valueHumanName valueDuration HumanName Duration
. . . . valueIdentifier valueHumanName Identifier HumanName
. . . . valueMoney valueIdentifier Money Identifier
. . . . valuePeriod valueMoney Period Money
. . . . valueQuantity valuePeriod Quantity Period
. . . . valueRange valueQuantity Range Quantity
. . . . valueRatio valueRange Ratio Range
. . . valueReference . valueRatio Reference Ratio ()
. . . valueSampledData . valueReference SampledData Reference (Any)
. . . . valueSignature valueSampledData Signature SampledData
. . . . valueTiming valueSignature Timing Signature
. . . . valueContactDetail valueTiming ContactDetail Timing
. . . . valueContributor valueContactDetail Contributor ContactDetail
. . . . valueDataRequirement valueContributor DataRequirement Contributor
. . . . valueExpression valueDataRequirement Expression DataRequirement
. . . . valueParameterDefinition valueExpression ParameterDefinition Expression
. . . . valueRelatedArtifact valueParameterDefinition RelatedArtifact ParameterDefinition
. . . . valueTriggerDefinition valueRelatedArtifact TriggerDefinition RelatedArtifact
. . . . valueUsageContext valueTriggerDefinition UsageContext TriggerDefinition
. . . . valueDosage valueUsageContext Dosage UsageContext
. . . . valueMeta valueDosage Dosage
.... valueMeta Meta

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

Name Flags Card. Type Description & Constraints doco
. . Geolocation 0..1 Extension URL = 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
. . . latitude 1..1 decimal Latitude. The value domain and the interpretation are the same as for the text of the latitude element in KML (see notes below).

. . . longitude 1..1 decimal Longitude. 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

valueUri uri
Name Flags Card. Type Description & Constraints doco
. . extension 0..1 Extension URL = 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
. . . extension I 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
. . . extension:latitude I 1..1 Extension Latitude with WGS84 datum
. . . . id 0..1 string Unique id for inter-element referencing
.... extension I 0..0
. . . . url 1..1 uri "latitude"
. . . . value[x] I 1..1 decimal Value of extension
. . . extension:longitude I 1..1 Extension Longitude with WGS84 datum
. . . . id 0..1 string Unique id for inter-element referencing
. . . . extension I 0..0
. . . . url 1..1 uri "longitude"
. . . . value[x] I 1..1 decimal Value of extension
. . . value[x] I 0 .. 0
. . . . valueBase64Binary base64Binary
. . . . valueBoolean boolean
. . . . valueCanonical canonical () (Any)
. . . . valueCode code
. . . . valueDate date
. . . . valueDateTime dateTime
. . . . valueDecimal decimal
. . . . valueId id
. . . . valueInstant instant
. . . . valueInteger integer
. . . . valueMarkdown valueInteger64 markdown integer64
. . . . valueOid valueMarkdown oid markdown
. . . . valueOid oid
.... valuePositiveInt white; #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class=hierarchy> white; #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class=hierarchy> white; #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class=hierarchy> positiveInt white; #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class=hierarchy>
. . . . valueString string
. . . . valueTime time
. . . . valueUnsignedInt #F7F7F7; white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class=hierarchy> #F7F7F7; white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class=hierarchy> #F7F7F7; white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class=hierarchy> unsignedInt #F7F7F7; white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class=hierarchy>
. . . . valueUrl valueUri url uri
. . . . valueUuid valueUrl uuid url
. . . valueAddress . valueUuid Address uuid
. . . . valueAge valueAddress Age Address
. . . . valueAnnotation valueAge Annotation Age
. . . . valueAttachment valueAnnotation Attachment Annotation
. . . . valueCodeableConcept valueAttachment CodeableConcept Attachment
. . . . valueCoding valueCodeableConcept Coding CodeableConcept
. . . . valueContactPoint valueCoding ContactPoint Coding
. . . . valueCount valueContactPoint Count ContactPoint
. . . . valueDistance valueCount Distance Count
. . . . valueDuration valueDistance Duration Distance
. . . . valueHumanName valueDuration HumanName Duration
. . . . valueIdentifier valueHumanName Identifier HumanName
. . . . valueMoney valueIdentifier Money Identifier
. . . . valuePeriod valueMoney Period Money
. . . . valueQuantity valuePeriod Quantity Period
. . . . valueRange valueQuantity Range Quantity
. . . . valueRatio valueRange Ratio Range
. . . valueReference . valueRatio Reference Ratio ()
. . . valueSampledData . valueReference SampledData Reference (Any)
. . . . valueSignature valueSampledData Signature SampledData
. . . . valueTiming valueSignature Timing Signature
. . . . valueContactDetail valueTiming ContactDetail Timing
. . . . valueContributor valueContactDetail Contributor ContactDetail
. . . . valueDataRequirement valueContributor DataRequirement Contributor
. . . . valueExpression valueDataRequirement Expression DataRequirement
. . . . valueParameterDefinition valueExpression ParameterDefinition Expression
. . . . valueRelatedArtifact valueParameterDefinition RelatedArtifact ParameterDefinition
. . . . valueTriggerDefinition valueRelatedArtifact TriggerDefinition RelatedArtifact
. . . . valueUsageContext valueTriggerDefinition UsageContext TriggerDefinition
. . . . valueDosage valueUsageContext Dosage UsageContext
. . . . valueMeta valueDosage Dosage
.... valueMeta Meta

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 (xpath: @value|f:*|h:div )
  • 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 )