<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="br-core-appointment" />
  <url value="https://br-core.saude.gov.br/fhir/StructureDefinition/br-core-appointment" />
  <name value="br-core-appointment" />
  <status value="active" />
  <description value="Uma reserva de um evento de saúde entre paciente(s), profissional(es), pessoa(s) relacionada(s) e/ou dispositivo(s) para uma data/hora específica. Isso pode resultar em um ou mais Encontro(s)" />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Appointment" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Appointment" />
  <derivation value="constraint" />
  <differential>
    <element id="Appointment.id">
      <path value="Appointment.id" />
      <short value="Identificador lógico deste artefato." />
      <definition value="Identificador lógico deste artefato." />
    </element>
    <element id="Appointment.meta">
      <path value="Appointment.meta" />
      <short value="Metadados sobre o recurso" />
      <definition value="Metadados sobre o recurso" />
    </element>
    <element id="Appointment.implicitRules">
      <path value="Appointment.implicitRules" />
      <short value="Conjunto de regras sob as quais este conteúdo foi criado" />
      <definition value="Conjunto de regras sob as quais este conteúdo foi criado" />
    </element>
    <element id="Appointment.language">
      <path value="Appointment.language" />
      <short value="Idioma do conteúdo do recurso" />
      <definition value="Idioma do conteúdo do recurso" />
    </element>
    <element id="Appointment.text">
      <path value="Appointment.text" />
      <short value="Resumo do texto do recurso em linguagem natural" />
      <definition value="Resumo do texto do recurso em linguagem natural" />
    </element>
    <element id="Appointment.contained">
      <path value="Appointment.contained" />
      <short value="Recursos contidos em linha" />
      <definition value="Recursos contidos em linha" />
    </element>
    <element id="Appointment.modifierExtension">
      <path value="Appointment.modifierExtension" />
      <short value="Extensão que não pode ser ignorada" />
      <definition value="Extensão que não pode ser ignorada" />
    </element>
    <element id="Appointment.status">
      <path value="Appointment.status" />
      <definition value="proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist" />
    </element>
    <element id="Appointment.cancelationReason">
      <path value="Appointment.cancelationReason" />
      <short value="O motivo codificado para o cancelamento do compromisso" />
      <definition value="O motivo codificado para o cancelamento do compromisso" />
    </element>
    <element id="Appointment.serviceCategory">
      <path value="Appointment.serviceCategory" />
      <short value="Uma ampla categorização do serviço que será realizado durante esta consulta" />
      <definition value="Uma ampla categorização do serviço que será realizado durante esta consulta" />
      <min value="1" />
      <max value="1" />
      <binding>
        <strength value="required" />
        <valueSet value="https://simplifier.net/redenacionaldedadosemsaude/valueset-brmodalidadeassistencialmira" />
      </binding>
    </element>
    <element id="Appointment.serviceType">
      <path value="Appointment.serviceType" />
      <short value="O serviço específico que será realizado durante esta consulta" />
      <definition value="O serviço específico que será realizado durante esta consulta" />
      <min value="1" />
      <max value="1" />
      <binding>
        <strength value="required" />
        <valueSet value="https://simplifier.net/redenacionaldedadosemsaude/valueset-brprocedimentosnacionais-1.0" />
      </binding>
    </element>
    <element id="Appointment.specialty">
      <path value="Appointment.specialty" />
      <short value="A especialidade do médico que seria necessário para realizar o serviço solicitado nesta consulta" />
      <definition value="A especialidade do médico que seria necessário para realizar o serviço solicitado nesta consulta" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Appointment.appointmentType">
      <path value="Appointment.appointmentType" />
      <short value="O estilo de consulta ou paciente que foi agendado no slot (não o tipo de serviço)" />
      <definition value="O estilo de consulta ou paciente que foi agendado no slot (não o tipo de serviço)" />
      <min value="1" />
    </element>
    <element id="Appointment.reasonCode">
      <path value="Appointment.reasonCode" />
      <short value="Razão codificada pela qual este compromisso está agendado" />
      <definition value="Razão codificada pela qual este compromisso está agendado" />
    </element>
    <element id="Appointment.reasonReference">
      <path value="Appointment.reasonReference" />
      <short value="Razão pela qual a nomeação deve ocorrer (recurso)" />
      <definition value="Razão pela qual a nomeação deve ocorrer (recurso)" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://br-core.saude.gov.br/fhir/StructureDefinition/br-core-condition" />
        <targetProfile value="https://br-core.saude.gov.br/fhir/StructureDefinition/br-core-procedure" />
        <targetProfile value="https://br-core.saude.gov.br/fhir/StructureDefinition/br-core-immunizationrecommendation" />
      </type>
    </element>
    <element id="Appointment.priority">
      <path value="Appointment.priority" />
      <short value="Usado para tomar decisões informadas se for necessário redefinir prioridades" />
      <definition value="Usado para tomar decisões informadas se for necessário redefinir prioridades" />
    </element>
    <element id="Appointment.description">
      <path value="Appointment.description" />
      <short value="Exibido em uma linha de assunto em uma solicitação de reunião ou lista de compromissos" />
      <definition value="Exibido em uma linha de assunto em uma solicitação de reunião ou lista de compromissos" />
    </element>
    <element id="Appointment.supportingInformation">
      <path value="Appointment.supportingInformation" />
      <short value="Informações adicionais para apoiar a nomeação" />
      <definition value="Informações adicionais para apoiar a nomeação" />
    </element>
    <element id="Appointment.start">
      <path value="Appointment.start" />
      <short value="Quando a consulta será realizada" />
      <definition value="Quando a consulta será realizada" />
    </element>
    <element id="Appointment.end">
      <path value="Appointment.end" />
      <short value="Quando a nomeação está para terminar" />
      <definition value="Quando a nomeação está para terminar" />
    </element>
    <element id="Appointment.minutesDuration">
      <path value="Appointment.minutesDuration" />
      <short value="Pode ser menor que início/fim (por exemplo, estimativa)" />
      <definition value="Pode ser menor que início/fim (por exemplo, estimativa)" />
    </element>
    <element id="Appointment.slot">
      <path value="Appointment.slot" />
      <short value="As vagas que esta nomeação está preenchendo" />
      <definition value="As vagas que esta nomeação está preenchendo" />
    </element>
    <element id="Appointment.created">
      <path value="Appointment.created" />
      <short value="A data em que este compromisso foi criado inicialmente" />
      <definition value="A data em que este compromisso foi criado inicialmente" />
    </element>
    <element id="Appointment.comment">
      <path value="Appointment.comment" />
      <short value="Comentários adicionais" />
      <definition value="Comentários adicionais" />
    </element>
    <element id="Appointment.patientInstruction">
      <path value="Appointment.patientInstruction" />
      <short value="Informações e instruções detalhadas para o paciente" />
      <definition value="Informações e instruções detalhadas para o paciente" />
    </element>
    <element id="Appointment.basedOn">
      <path value="Appointment.basedOn" />
      <short value="A solicitação de serviço que esta consulta é alocada para avaliar" />
      <definition value="A solicitação de serviço que esta consulta é alocada para avaliar" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://br-core.saude.gov.br/fhir/StructureDefinition/br-core-servicerequest" />
      </type>
    </element>
    <element id="Appointment.participant">
      <path value="Appointment.participant" />
      <short value="Participantes envolvidos na nomeação" />
      <definition value="Participantes envolvidos na nomeação" />
    </element>
    <element id="Appointment.participant.type">
      <path value="Appointment.participant.type" />
      <short value="Papel do participante na nomeação" />
      <definition value="Papel do participante na nomeação" />
      <binding>
        <strength value="required" />
        <valueSet value="https://simplifier.net/redenacionaldedadosemsaude/valueset-brtipoparticipante" />
      </binding>
    </element>
    <element id="Appointment.participant.actor">
      <path value="Appointment.participant.actor" />
      <short value="Pessoa, local/serviço de saúde ou dispositivo" />
      <definition value="Pessoa, local/serviço de saúde ou dispositivo" />
    </element>
    <element id="Appointment.participant.actor.identifier.system">
      <path value="Appointment.participant.actor.identifier.system" />
      <short value="" />
      <definition value="" />
    </element>
    <element id="Appointment.participant.actor.identifier.value">
      <path value="Appointment.participant.actor.identifier.value" />
      <short value="" />
      <definition value="" />
    </element>
    <element id="Appointment.participant.required">
      <path value="Appointment.participant.required" />
      <definition value="required | optional | information-only" />
    </element>
    <element id="Appointment.participant.status">
      <path value="Appointment.participant.status" />
      <definition value="accepted | declined | tentative | needs-action" />
    </element>
    <element id="Appointment.participant.period">
      <path value="Appointment.participant.period" />
      <short value="Período de participação do ator" />
      <definition value="Período de participação do ator" />
    </element>
    <element id="Appointment.requestedPeriod">
      <path value="Appointment.requestedPeriod" />
      <short value="Possíveis intervalos de data/hora solicitados para alocar o compromisso dentro" />
      <definition value="Possíveis intervalos de data/hora solicitados para alocar o compromisso dentro" />
    </element>
  </differential>
</StructureDefinition>