<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="http://rnds.saude.gov.br/fhir/r4/StructureDefinition/rnds-address-1.0" />
  <name value="RNDSAddress" />
  <status value="draft" />
  <fhirVersion value="4.0.0" />
  <kind value="complex-type" />
  <abstract value="false" />
  <type value="Address" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Address" />
  <derivation value="constraint" />
  <differential>
    <element id="Address">
      <path value="Address" />
      <short value="Um endereço para o indivíduo" />
      <definition value="Um endereço para o indivíduo" />
      <comment value="O paciente pode ter vários endereços com diferentes usos ou períodos aplicáveis." />
    </element>
    <element id="Address.extension">
      <path value="Address.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Address.extension:geolocation">
      <path value="Address.extension" />
      <sliceName value="geolocation" />
      <short value="Geolocalização do endereço" />
      <definition value="Geolocalização do endereço, latitude e longitude no padrão WGS84" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.org/fhir/StructureDefinition/geolocation" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Address.extension:geolocation.extension:latitude">
      <path value="Address.extension.extension" />
      <sliceName value="latitude" />
      <short value="Latitude no padrão WGS84" />
      <definition value="Latitude no padrão WGS84" />
      <mustSupport value="true" />
    </element>
    <element id="Address.extension:geolocation.extension:latitude.value[x]">
      <path value="Address.extension.extension.value[x]" />
      <type>
        <code value="decimal" />
      </type>
    </element>
    <element id="Address.extension:geolocation.extension:latitude.value[x]:valueDecimal">
      <path value="Address.extension.extension.valueDecimal" />
      <sliceName value="valueDecimal" />
    </element>
    <element id="Address.extension:geolocation.extension:longitude">
      <path value="Address.extension.extension" />
      <sliceName value="longitude" />
      <short value="Longitude no padrão WGS84" />
      <definition value="Longitude no padrão WGS84" />
      <mustSupport value="true" />
    </element>
    <element id="Address.extension:geolocation.extension:longitude.value[x]">
      <path value="Address.extension.extension.value[x]" />
      <type>
        <code value="decimal" />
      </type>
    </element>
    <element id="Address.extension:geolocation.extension:longitude.value[x]:valueDecimal">
      <path value="Address.extension.extension.valueDecimal" />
      <sliceName value="valueDecimal" />
    </element>
    <element id="Address.use">
      <path value="Address.use" />
      <short value="home | work | temp | old | billing - propósito desse endereço" />
      <definition value="O objetivo deste endereço." />
      <comment value="Os aplicativos podem assumir que um endereço é atual, a menos que ele diga explicitamente que é temporário ou antigo." />
      <requirements value="Permite que um endereço apropriado seja escolhido em uma lista de muitos." />
      <meaningWhenMissing value="Se a informação estiver faltando, significa que essa informação não está registrada." />
    </element>
    <element id="Address.type">
      <path value="Address.type" />
      <definition value="Distingue entre endereços físicos (aqueles que você pode visitar) e endereços de correspondência (por exemplo, caixas postais e endereços de atendimento). A maioria dos endereços são ambos." />
      <meaningWhenMissing value="Se a informação estiver faltando, significa que essa informação não está registrada." />
    </element>
    <element id="Address.text">
      <path value="Address.text" />
      <short value="Representação de texto do endereço" />
      <definition value="Especifica o endereço completo como deveria ser exibido, por exemplo, em uma etiqueta postal. Isso pode ser fornecido em vez de ou tão bem quanto as partes específicas." />
      <comment value="Pode fornecer uma representação de texto e partes. Os aplicativos que atualizam um endereço DEVERÃO garantir que, quando o texto e as partes estiverem presentes, nenhum conteúdo seja incluído no texto que não seja encontrado em uma peça." />
    </element>
    <element id="Address.line">
      <path value="Address.line" />
      <short value="Tipo de logradouro, nome da rua, número, complemento, etc." />
      <definition value="Este componente contém tipo de logradouro, nome da rua, número, complemento e informações de endereço semelhantes." />
      <mustSupport value="true" />
    </element>
    <element id="Address.line.extension">
      <path value="Address.line.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Address.line.extension:addressLine">
      <path value="Address.line.extension" />
      <sliceName value="addressLine" />
      <definition value="Logradouro, deve ser sempre informada com a informação principal de logradouro, rua, avenida, quadra, etc." />
      <alias value="logradouro" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetAddressLine" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Address.line.extension:addressLine.value[x]">
      <path value="Address.line.extension.value[x]" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="Address.line.extension:addressLine.value[x]:valueString">
      <path value="Address.line.extension.valueString" />
      <sliceName value="valueString" />
    </element>
    <element id="Address.line.extension:houseNumber">
      <path value="Address.line.extension" />
      <sliceName value="houseNumber" />
      <short value="Número da casa, apt, etc." />
      <definition value="Número da casa, apt, etc." />
      <alias value="numero" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Address.line.extension:houseNumber.value[x]">
      <path value="Address.line.extension.value[x]" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="Address.line.extension:houseNumber.value[x]:valueString">
      <path value="Address.line.extension.valueString" />
      <sliceName value="valueString" />
    </element>
    <element id="Address.line.extension:additionalLocator">
      <path value="Address.line.extension" />
      <sliceName value="additionalLocator" />
      <definition value="Informação adicional sobre o endereço, complemento." />
      <alias value="complemento" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-additionalLocator" />
      </type>
    </element>
    <element id="Address.line.extension:additionalLocator.value[x]">
      <path value="Address.line.extension.value[x]" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="Address.line.extension:additionalLocator.value[x]:valueString">
      <path value="Address.line.extension.valueString" />
      <sliceName value="valueString" />
    </element>
    <element id="Address.city">
      <path value="Address.city" />
      <short value="Nome da cidade do endereço" />
      <definition value="Nome da cidade do endereço" />
      <mustSupport value="true" />
    </element>
    <element id="Address.city.extension">
      <path value="Address.city.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Address.city.extension:cityCode">
      <path value="Address.city.extension" />
      <sliceName value="cityCode" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://rnds.saude.gov.br/fhir/r4/StructureDefinition/rnds-city-1.0" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Address.district">
      <path value="Address.district" />
      <short value="Bairro" />
      <definition value="Bairro definido para o endereço, no sentido de região composta de várias ruas e avenidas, dentro de um mesmo município." />
      <comment value="Bairro definido para o endereço, no sentido de região composta de várias ruas e avenidas, dentro de um mesmo município." />
      <mustSupport value="true" />
    </element>
    <element id="Address.state">
      <path value="Address.state" />
      <short value="Nome do estado" />
      <definition value="Sub-unidade de um país com soberania limitada em um país federalmente organizado. Deve ser representado como código de duas letras, conforme ISO 3166-2, utilizando somente a segunda parte do código. Ex.: código ISO 3166-2, em subconjunto pra o Brasil (BR), identificando o estado do Acre (BR-AC), será aqui representado somente pela segunda parte, após o hífen (AC). O mesmo vale para outros subconjuntos, por exemplo ISO 3166-2:US, código do estado do Alaska nos Estados Unidos, utiliza o código (US-AK), será aqui representado por (AK)." />
      <example>
        <label value="Códido da UF Distrito Federal" />
        <valueString value="DF" />
      </example>
      <maxLength value="2" />
      <mustSupport value="true" />
    </element>
    <element id="Address.postalCode">
      <path value="Address.postalCode" />
      <short value="Código postal" />
      <definition value="Um código postal que designa uma região definida pelo serviço postal. Deve utilizar o sistema de codificação do país cujo endereço representa. No Brasil, utiliza-se o sistema de endereçamento postal ou Código de Endereçamento Postal (CEP), conforme definição pela Empresa Brasileira de Correios e Telégrafos do Brasil. É composto de cinco dígitos - hífen - 3 dígitos (99999-999). Para sua representação lógica neste campo, despreze o hífen (99999999)." />
      <patternString value="^[0-9]{5-15}$" />
      <example>
        <label value="Código postal para endereço brasileiro (CEP)" />
        <valueString value="76240780" />
      </example>
      <mustSupport value="true" />
    </element>
    <element id="Address.country">
      <path value="Address.country" />
      <short value="Representação do país do endereço" />
      <definition value="Representação do país do endereço" />
      <mustSupport value="true" />
    </element>
    <element id="Address.country.extension">
      <path value="Address.country.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Address.country.extension:countryCode">
      <path value="Address.country.extension" />
      <sliceName value="countryCode" />
      <type>
        <code value="Extension" />
        <profile value="http://rnds.saude.gov.br/fhir/r4/StructureDefinition/rnds-country-1.0" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Address.period">
      <path value="Address.period" />
      <short value="Período de tempo em que o endereço estava / está em uso" />
      <definition value="Período de tempo em que o endereço estava / está em uso." />
    </element>
    <element id="Address.period.start">
      <path value="Address.period.start" />
      <short value="Hora de início com limite inclusivo" />
      <definition value="O começo do período. O limite é inclusivo." />
      <comment value="Se o elemento baixo estiver faltando, o significado é que o limite inferior não é conhecido." />
    </element>
    <element id="Address.period.end">
      <path value="Address.period.end" />
      <short value="Hora de término com limite inclusivo, se não estiver em andamento" />
      <definition value="O final do período. Se o final do período estiver faltando, significa que nenhum fim foi conhecido ou planejado no momento em que a instância foi criada. O início pode estar no passado e a data final no futuro, o que significa que o período é esperado / planejado para terminar nesse momento." />
      <comment value="O valor alto inclui qualquer data / hora correspondente. Ou seja, 2012-02-03T10: 00: 00 está em um período que tem um valor final de 2012-02-03." />
    </element>
  </differential>
</StructureDefinition>