Argonaut Provider Directory CI Build

This page is part of the Argonaut Provider Directory Guide (v0.1.0: Release 1 Draft) based on FHIR v1.9.0. The current version which supercedes this version is 1.0.0. For a full list of available versions, see the Directory of published versions

D.4.1 StructureDefinition-argo-location

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

Mandatory Data Elements and Terminology

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

Each Location must have:

Each Location must have:

  1. A status of the Location
  2. A name
  3. A list of contact information
  4. A managing Organization

Each Location SHOULD have:

  1. A Location type
  2. A Location identifier

Profile specific implementation guidance:

  • A server SHALL support the _include parameter when retrieving a Location resource.

D.4.1.1 Formal Views of Profile Content

The official URL for this profile is:

http://fhir.org/guides/argonaut-pd/StructureDefinition/argo-location

This profile builds on Location.

This profile was published on Wed Nov 09 00:00:00 AEDT 2016 as a draft by Argonaut Project.

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

Complete Summary of the Mandatory Requirements

  1. A `Location.status’ which has an required binding to:
  2. A Location.name
  3. A Location.telecom
  4. A Location.address
  5. A Location.managingOrganization

Each Location SHOULD have:

  1. A Location.type
    • The Location.type must come from value set?
  2. At least one identifier in Location.identifier
    • NPI preferred
    • Tax id is allowed
    • Local id is allowed in addition to ‘authoritative’ identifier
NameFlagsCard.TypeDescription & Constraintsdoco
.. Location 0..*Argonaut Provider Directory Location
... status S0..1codeBinding: LocationStatus (required)
... name S1..1string
... identifier S0..*Identifier
... type S0..1CodeableConcept
... telecom S1..*ContactPoint
... address S1..1Address
.... line S0..2string
.... city S0..1string
.... state S0..1stringBinding: USPS Two Letter Alphabetic Codes (extensible)
.... postalCode S0..1stringUS Zip Codes
... managingOrganization S1..1Reference(http://fhir.org/guides/argonaut-pd/StructureDefinition-argo-organization)

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Location I0..*Argonaut Provider Directory Location
... id ∑0..1idLogical id of this artifact
... meta ∑0..1MetaMetadata about the resource
... implicitRules ?!∑0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier S0..*IdentifierUnique code or number identifying the location to its users
... status ?!∑0..1codeactive | suspended | inactive
Binding: LocationStatus (required)
... name ∑0..1stringName of the location as used by humans
... alias 0..*stringA list of alternate names that the location is known as, or was known as in the past
... description ∑0..1stringAdditional details about the location that could be displayed as further information to identify the location beyond its name
... mode ?!∑0..1codeinstance | kind
Binding: LocationMode (required)
... type S0..1CodeableConceptType of function performed
Binding: ServiceDeliveryLocationRoleType (extensible)
... telecom S1..*ContactPointContact details of the location
... address S1..1AddressPhysical location
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... use ?!∑0..1codehome | work | temp | old - purpose of this address
Binding: AddressUse (required)
Example' General': home
.... type ∑0..1codepostal | physical | both
Binding: AddressType (required)
Example' General': both
.... text ∑0..1stringText representation of the address
Example' General': 137 Nowhere Street, Erewhon 9132
.... line S0..2stringStreet name, number, direction & P.O. Box etc.
Example' General': 137 Nowhere Street
.... city S0..1stringName of city, town etc.
Example' General': Erewhon
.... district ∑0..1stringDistrict name (aka county)
Example' General': Madison
.... state S0..1stringSub-unit of country (abbreviations ok)
Binding: USPS Two Letter Alphabetic Codes (extensible)
.... postalCode S0..1stringUS Zip Codes
Example' General': 9132
.... country ∑0..1stringCountry (e.g. can be ISO 3166 2 or 3 letter code)
.... period ∑0..1PeriodTime period when address was/is in use
Example' General': {"start":"2010-03-23","end":"2010-07-01"}
... physicalType ∑0..1CodeableConceptPhysical form of the location
Binding: LocationType (example)
... position I0..1BackboneElementThe absolute geographic location
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!∑0..*ExtensionExtensions that cannot be ignored
.... longitude 1..1decimalLongitude with WGS84 datum
.... latitude 1..1decimalLatitude with WGS84 datum
.... altitude 0..1decimalAltitude with WGS84 datum
... managingOrganization S1..1Reference(http://fhir.org/guides/argonaut-pd/StructureDefinition-argo-organization)Organization responsible for provisioning and upkeep
... partOf 0..1Reference(Location)Another Location this one is physically part of
... endpoint 0..*Reference(Endpoint)Technical endpoints providing access to services operated for the location

doco Documentation for this format

Complete Summary of the Mandatory Requirements

  1. A `Location.status’ which has an required binding to:
  2. A Location.name
  3. A Location.telecom
  4. A Location.address
  5. A Location.managingOrganization

Each Location SHOULD have:

  1. A Location.type
    • The Location.type must come from value set?
  2. At least one identifier in Location.identifier
    • NPI preferred
    • Tax id is allowed
    • Local id is allowed in addition to ‘authoritative’ identifier

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Location 0..*Argonaut Provider Directory Location
... status S0..1codeBinding: LocationStatus (required)
... name S1..1string
... identifier S0..*Identifier
... type S0..1CodeableConcept
... telecom S1..*ContactPoint
... address S1..1Address
.... line S0..2string
.... city S0..1string
.... state S0..1stringBinding: USPS Two Letter Alphabetic Codes (extensible)
.... postalCode S0..1stringUS Zip Codes
... managingOrganization S1..1Reference(http://fhir.org/guides/argonaut-pd/StructureDefinition-argo-organization)

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Location I0..*Argonaut Provider Directory Location
... id ∑0..1idLogical id of this artifact
... meta ∑0..1MetaMetadata about the resource
... implicitRules ?!∑0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier S0..*IdentifierUnique code or number identifying the location to its users
... status ?!∑0..1codeactive | suspended | inactive
Binding: LocationStatus (required)
... name ∑0..1stringName of the location as used by humans
... alias 0..*stringA list of alternate names that the location is known as, or was known as in the past
... description ∑0..1stringAdditional details about the location that could be displayed as further information to identify the location beyond its name
... mode ?!∑0..1codeinstance | kind
Binding: LocationMode (required)
... type S0..1CodeableConceptType of function performed
Binding: ServiceDeliveryLocationRoleType (extensible)
... telecom S1..*ContactPointContact details of the location
... address S1..1AddressPhysical location
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... use ?!∑0..1codehome | work | temp | old - purpose of this address
Binding: AddressUse (required)
Example' General': home
.... type ∑0..1codepostal | physical | both
Binding: AddressType (required)
Example' General': both
.... text ∑0..1stringText representation of the address
Example' General': 137 Nowhere Street, Erewhon 9132
.... line S0..2stringStreet name, number, direction & P.O. Box etc.
Example' General': 137 Nowhere Street
.... city S0..1stringName of city, town etc.
Example' General': Erewhon
.... district ∑0..1stringDistrict name (aka county)
Example' General': Madison
.... state S0..1stringSub-unit of country (abbreviations ok)
Binding: USPS Two Letter Alphabetic Codes (extensible)
.... postalCode S0..1stringUS Zip Codes
Example' General': 9132
.... country ∑0..1stringCountry (e.g. can be ISO 3166 2 or 3 letter code)
.... period ∑0..1PeriodTime period when address was/is in use
Example' General': {"start":"2010-03-23","end":"2010-07-01"}
... physicalType ∑0..1CodeableConceptPhysical form of the location
Binding: LocationType (example)
... position I0..1BackboneElementThe absolute geographic location
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!∑0..*ExtensionExtensions that cannot be ignored
.... longitude 1..1decimalLongitude with WGS84 datum
.... latitude 1..1decimalLatitude with WGS84 datum
.... altitude 0..1decimalAltitude with WGS84 datum
... managingOrganization S1..1Reference(http://fhir.org/guides/argonaut-pd/StructureDefinition-argo-organization)Organization responsible for provisioning and upkeep
... partOf 0..1Reference(Location)Another Location this one is physically part of
... endpoint 0..*Reference(Endpoint)Technical endpoints providing access to services operated for the location

doco Documentation for this format

Downloads: StructureDefinition: (XML, JSON, CSV), Schema: XML Schematron

 

D.4.1.2 Quick Start

Below is an overview of the required search and read operations.

Summary of Argonaut Search Criteria for StructureDefinition-argo-location


Clients

  • A client has connected to a server and fetched a location by name using GET [base]/Location?name=[string]
  • A client has connected to a server and fetched a location by adress using GET [base]/Location?address=[string]

Servers

  • A server has connected to a server and fetched a location by name using GET [base]/Location?name=[string]
  • A server has connected to a server and fetched a location by adress using GET [base]/Location?address=[string]

  • A server has ensured that every API request includes a valid Authorization token, supplied via:Authorization: Bearer {server-specific-token-here}
  • A server has rejected any unauthorized requests by returning an HTTP 401 Unauthorized response code.

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

Support: Mandatory

Implementation Notes: Search based on text name (how to search by string).

Response Class:

  • (Status 200): successful operation
  • (Status 400): invalid parameter
  • (Status 401/4xx): unauthorized request
  • (Status 403): insufficient scope

Example:

GET https://fhir-open-api-dstu2.smarthealthit.org/Location?name=Health


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

Support: Mandatory

Implementation Notes: Search based on text address (how to search by string).

SHOULD also support the following search parameters:

  • address-city
  • address-state
  • address-postalcode

Response Class:

  • (Status 200): successful operation
  • (Status 400): invalid parameter
  • (Status 401/4xx): unauthorized request
  • (Status 403): insufficient scope

Example:

GET https://fhir-open-api-dstu2.smarthealthit.org/Location?address=Arbor GET https://fhir-open-api-dstu2.smarthealthit.org/Location?address-postalcode=48104