br-core-appointment
type: StructureDefinition
node role: treeRoot
id:
  v: br-core-appointment
text:
  status:
    v: extensions
  div:
    v: Narrativa gerada: StructureDefinition br-core-appointment Nome Bandeiras Card. Tipo Descrição e condicionalismos<img src="[binary]" alt="doco" style="background-color: inherit"/> Appointment 0..* Appointment A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s) #xD; id 0..1 id Identificador lógico deste artefato #xD; meta 0..1 Meta Metadados sobre o recurso #xD; implicitRules 0..1 uri Conjunto de regras usadas para criar o conteúdo #xD; language 0..1 code Idioma do recurso #xD; text 0..1 Narrative Resumo narrativo em linguagem natural #xD; contained 0..* Resource Recursos aninhados #xD; extension 0..* Extension Extensões adicionais não previstas no modelo base #xD; modifierExtension 0..* Extension Extensões que não podem ser ignoradas #xD; identifier S 0..* Identifier Identificadores do agendamento #xD; status S 1..1 code Status do agendamento Vínculo: AppointmentStatus (required) #xD; cancelationReason 0..1 CodeableConcept Motivo do cancelamento Vínculo: AppointmentCancellationReason (preferred) #xD; serviceCategory 0..* CodeableConcept Categoria do serviço Vínculo: BR Modalidade Assistencial MIRA (preferred) #xD; serviceType 0..* CodeableConcept Tipo de serviço Vínculo: BR Procedimentos Nacionais (preferred) #xD; specialty 0..* CodeableConcept Especialidade clínica Vínculo: BR Ocupacao (preferred) #xD; appointmentType 0..1 CodeableConcept Tipo do agendamento Vínculo: hl7VS-appointmentReasonCodes (preferred) #xD; reasonCode 0..* CodeableConcept Motivo (código) do agendamento Vínculo: BRCID 10 (preferred) #xD; reasonReference 0..* Reference(Condition | Procedure | Observation | ImmunizationRecommendation) Motivo (referência) do agendamento #xD; priority 0..1 unsignedInt Prioridade (0 = rotina) #xD; description 0..1 string Descrição livre do agendamento #xD; supportingInformation 0..* Reference(Resource) Informações de apoio #xD; start 0..1 instant In…
url:
  v: https://br-core.saude.gov.br/fhir/StructureDefinition/br-core-appointment
  l: br-core-appointment
version:
  v: 1.0.0
name:
  v: BRCoreAppointment
title:
  v: br-core-appointment
status:
  v: active
date:
  v: 2026-03-12T09:43:09-03:00
publisher:
  v: Ministério do Saúde do Brasil
contact:
  name:
    v: Ministério do Saúde do Brasil
  telecom:
    system:
      v: url
    value:
      v: https://gov.br/saude
  telecom:
    system:
      v: email
contact:
  name:
    v: Italo Macedo
  telecom:
    system:
      v: email
    use:
      v: work
description:
  v: Perfil brasileiro do recurso FHIR R4 Appointment, utilizado para agendamento de atendimentos, procedimentos e interações de cuidado no contexto do SUS, RNDS, saúde suplementar e privada, incluindo marcação, remarcação e cancelamento, bem como gestão de participantes, datas/horários e justificativas.
jurisdiction:
  coding:
    system:
      v: urn:iso:std:iso:3166
      l: 3166
    code:
      v: BR
    display:
      v: Brazil
fhir version:
  v: 4.0.1
mapping:
  identity:
    v: workflow
  uri:
    v: http://hl7.org/fhir/workflow
    l: workflow
  name:
    v: Workflow Pattern
mapping:
  identity:
    v: rim
  uri:
    v: http://hl7.org/v3
    l: v3
  name:
    v: RIM Mapping
mapping:
  identity:
    v: ical
  uri:
    v: http://ietf.org/rfc/2445
    l: http://ietf.org/rfc/2445
  name:
    v: iCalendar
mapping:
  identity:
    v: w5
  uri:
    v: http://hl7.org/fhir/fivews
    l: fivews
  name:
    v: FiveWs Pattern Mapping
mapping:
  identity:
    v: v2
  uri:
    v: http://hl7.org/v2
    l: v2
  name:
    v: HL7 v2 Mapping
kind:
  v: resource
abstract:
  v: false
type:
  v: Appointment
  l: Appointment
base definition:
  v: http://hl7.org/fhir/StructureDefinition/Appointment
  l: Appointment
derivation:
  v: constraint
snapshot:
  extension:
    url:
      v: http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version
      l: snapshot-base-version
    value: String
      v: 4.0.1
  element:
    id:
      v: Appointment
    path:
      v: Appointment
    short:
      v: A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s)
    definition:
      v: A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s).
    min:
      v: 0
    max:
      v: *
    base:
      path:
        v: Appointment
      min:
        v: 0
      max:
        v: *
    constraint:
      key:
        v: app-2
      severity:
        v: error
      human:
        v: Either start and end are specified, or neither
      expression:
        v: start.exists() = end.exists()
      xpath:
        v: ((exists(f:start) and exists(f:end)) or (not(exists(f:start)) and not(exists(f:end))))
      source:
        v: http://hl7.org/fhir/StructureDefinition/Appointment
        l: Appointment
    constraint:
      key:
        v: app-3
      severity:
        v: error
      human:
        v: Only proposed or cancelled appointments can be missing start/end dates
      expression:
        v: (start.exists() and end.exists()) or (status in ('proposed' | 'cancelled' | 'waitlist'))
      xpath:
        v: ((exists(f:start) and exists(f:end)) or (f:status/@value='proposed') or (f:status/@value='cancelled') or (f:status/@value='waitlist'))
      source:
        v: http://hl7.org/fhir/StructureDefinition/Appointment
        l: Appointment
    constraint:
      key:
        v: app-4
      severity:
        v: error
      human:
        v: Cancelation reason is only used for appointments that have been cancelled, or no-show
      expression:
        v: Appointment.cancelationReason.exists() implies (Appointment.status='no-show' or Appointment.status='cancelled')
      xpath:
        v: not(exists(f:cancellationReason)) or f:status/@value=('no-show', 'cancelled')
      source:
        v: http://hl7.org/fhir/StructureDefinition/Appointment
        l: Appointment
    constraint:
      key:
        v: dom-2
      severity:
        v: error
      human:
        v: If the resource is contained in another resource, it SHALL NOT contain nested Resources
      expression:
        v: contained.contained.empty()
      xpath:
        v: not(parent::f:contained and f:contained)
      source:
        v: http://hl7.org/fhir/StructureDefinition/DomainResource
        l: DomainResource
    constraint:
      key:
        v: dom-3
      severity:
        v: error
      human:
        v: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
      expression:
        v: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
      xpath:
        v: not(exists(for $id in f:contained/*/f:id/@value return $contained[not(parent::*/descendant::f:reference/@value=concat('#', $contained/*/id/@value) or descendant::f:reference[@value='#'])]))
      source:
        v: http://hl7.org/fhir/StructureDefinition/DomainResource
        l: DomainResource

key:
  v: dom-4
severity:
  v: error
human:
  v: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
expression:
  v: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
xpath:
  v: not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))
source:
  v: http://hl7.org/fhir/StructureDefinition/DomainResource
  l: DomainResource

key:
  v: dom-5
severity:
  v: error
human:
  v: If a resource is contained in another resource, it SHALL NOT have a security label
expression:
  v: contained.meta.security.empty()
xpath:
  v: not(exists(f:contained/*/f:meta/f:security))
source:
  v: http://hl7.org/fhir/StructureDefinition/DomainResource
  l: DomainResource

extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice
    l: elementdefinition-bestpractice
  value: Boolean
    v: true
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation
    l: elementdefinition-bestpractice-explanation
  value: Markdown
    v: When a resource has no narrative, only systems that fully understand the data can display the resource to a human safely. Including a human readable representation in the resource makes for a much more robust eco-system and cheaper handling of resources by intermediary systems. Some ecosystems restrict distribution of resources to only those systems that do fully understand the resources, and as a consequence implementers may believe that the narrative is superfluous. However experience shows that such eco-systems often open up to new participants over time.
key:
  v: dom-6
severity:
  v: warning
human:
  v: A resource should have narrative for robust management
expression:
  v: text.`div`.exists()
xpath:
  v: exists(f:text/h:div)
source:
  v: http://hl7.org/fhir/StructureDefinition/DomainResource
  l: DomainResource

v: false

v: false

identity:
  v: rim
map:
  v: Entity. Role, or Act

identity:
  v: workflow
map:
  v: Request

identity:
  v: rim
map:
  v: Act[@moodCode <= 'INT']

identity:
  v: ical
map:
  v: VEVENT

id:
  v: Appointment.id
path:
  v: Appointment.id
short:
  v: Identificador lógico deste artefato
definition:
  v: Identificador lógico deste artefato
comment:
  v: The only time that a resource does not have an id is when it is being submitted to the server using a create operation.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Resource.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
      l: structuredefinition-fhir-type
    value: Url
      v: id
      l: id
  code:
    v: http://hl7.org/fhirpath/System.String
    l: System.String
is modifier:
  v: false
is summary:
  v: true

id:
  v: Appointment.meta
path:
  v: Appointment.meta
short:
  v: Metadados sobre o recurso
definition:
  v: Metadados sobre o recurso
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Resource.meta
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Meta
    l: Meta
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true

id:
  v: Appointment.implicitRules
path:
  v: Appointment.implicitRules
short:
  v: Conjunto de regras usadas para criar o conteúdo
definition:
  v: Um conjunto de regras sob as quais este conteúdo foi criado
comment:
  v: Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Resource.implicitRules
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: uri
    l: uri
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: true
is modifier reason:
  v: This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation
is summary:
  v: true

id:
  v: Appointment.language
path:
  v: Appointment.language
short:
  v: Idioma do recurso
definition:
  v: Idioma do recurso
comment:
  v: Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Resource.language
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: code
    l: code
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: false
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet
      l: elementdefinition-maxValueSet
    value: Canonical
      v: http://hl7.org/fhir/ValueSet/all-languages
      l: all-languages
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: Language
  strength:
    v: preferred
  description:
    v: A human language.
  value set:
    v: http://hl7.org/fhir/ValueSet/languages|4.0.1
    l: http://hl7.org/fhir/ValueSet/languages

id:
  v: Appointment.text
path:
  v: Appointment.text
short:
  v: Resumo narrativo em linguagem natural
definition:
  v: Resumo do texto do recurso em linguagem natural
comment:
  v: Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.
alias:
  v: narrative
alias:
  v: html
alias:
  v: xhtml
alias:
  v: display
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DomainResource.text
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Narrative
    l: Narrative
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: Act.text?

id:
  v: Appointment.contained
path:
  v: Appointment.contained
short:
  v: Recursos aninhados
definition:
  v: Recursos contidos neste recurso
comment:
  v: This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.
alias:
  v: inline resources
alias:
  v: anonymous resources
alias:
  v: contained resources
min:
  v: 0
max:
  v: *
base:
  path:
    v: DomainResource.contained
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Resource
    l: Resource
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Appointment.extension
path:
  v: Appointment.extension
short:
  v: Extensões adicionais não previstas no modelo base
definition:
  v: Extensões adicionais que não fazem parte do modelo base
min:
  v: 0
max:
  v: *
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: false
is summary:
  v: false

id:
  v: Appointment.modifierExtension
path:
  v: Appointment.modifierExtension
short:
  v: Extensões que não podem ser ignoradas
definition:
  v: Extensões adicionais que não podem ser ignoradas, mesmo que não reconhecidas
min:
  v: 0
max:
  v: *
base:
  path:
    v: DomainResource.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: true
is modifier reason:
  v: Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them
is summary:
  v: false

id:
  v: Appointment.identifier
path:
  v: Appointment.identifier
short:
  v: Identificadores do agendamento
definition:
  v: Identificadores para este Appointment (p.ex. identificador do sistema local ou da RNDS)
min:
  v: 0
max:
  v: *
base:
  path:
    v: Appointment.identifier
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Identifier
    l: Identifier
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
must support:
  v: true
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: workflow
  map:
    v: Request.identifier
mapping:
  identity:
    v: w5
  map:
    v: FiveWs.identifier
mapping:
  identity:
    v: v2
  map:
    v: SCH-1, SCH-2, ARQ-1, ARQ-2
mapping:
  identity:
    v: rim
  map:
    v: .id
mapping:
  identity:
    v: ical
  map:
    v: UID

id:
  v: Appointment.status
path:
  v: Appointment.status
short:
  v: Status do agendamento
definition:
  v: Situação atual do agendamento (proposto, pendente, agendado, concluído, cancelado, etc.)
comment:
  v: If the Appointment's status is "cancelled" then all participants are expected to have their calendars released for the appointment period, and as such any Slots that were marked as BUSY can be re-set to FREE. This element is labeled as a modifier because the status contains the code entered-in-error that mark the Appointment as not currently valid.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Appointment.status
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: code
    l: code
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
must support:
  v: true
is modifier:
  v: true
is modifier reason:
  v: This element is labelled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid
is summary:
  v: true
binding:
  strength:
    v: required
  value set:
    v: http://hl7.org/fhir/ValueSet/appointmentstatus
    l: appointmentstatus
mapping:
  identity:
    v: workflow
  map:
    v: Request.status
mapping:
  identity:
    v: w5
  map:
    v: FiveWs.status
mapping:
  identity:
    v: v2
  map:
    v: SCH-25
mapping:
  identity:
    v: rim
  map:
    v: .statusCode
mapping:
  identity:
    v: ical
  map:
    v: STATUS

id:
  v: Appointment.cancelationReason
path:
  v: Appointment.cancelationReason
short:
  v: Motivo do cancelamento
definition:
  v: Razão codificada para cancelamento do agendamento
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Appointment.cancelationReason
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true
binding:
  strength:
    v: preferred
  value set:
    v: http://hl7.org/fhir/ValueSet/appointment-cancellation-reason
    l: appointment-cancellation-reason
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Appointment.serviceCategory
path:
  v: Appointment.serviceCategory
short:
  v: Categoria do serviço
definition:
  v: Categoria ampla do serviço de saúde
min:
  v: 0
max:
  v: *
base:
  path:
    v: Appointment.serviceCategory
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true
binding:
  strength:
    v: preferred
  value set:
    v: https://terminologia.saude.gov.br/fhir/ValueSet/BRModalidadeAssistencialMIRA
    l: BRModalidadeAssistencialMIRA
mapping:
  identity:
    v: rim
  map:
    v: n/a, might be inferred from the ServiceDeliveryLocation
mapping:
  identity:
    v: ical
  map:
    v: CATEGORIES

id:
  v: Appointment.serviceType
path:
  v: Appointment.serviceType
short:
  v: Tipo de serviço
definition:
  v: Tipo específico de serviço/atendimento a ser realizado
comment:
  v: For a provider to provider appointment the code "FOLLOWUP" may be appropriate, as this is expected to be discussing some patient that was seen in the past.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Appointment.serviceType
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true
binding:
  strength:
    v: preferred
  value set:
    v: https://terminologia.saude.gov.br/fhir/ValueSet/BRProcedimentosNacionais
    l: BRProcedimentosNacionais
mapping:
  identity:
    v: workflow
  map:
    v: Request.code
mapping:
  identity:
    v: rim
  map:
    v: n/a, might be inferred from the ServiceDeliveryLocation

id:
  v: Appointment.specialty
path:
  v: Appointment.specialty
short:
  v: Especialidade clínica
definition:
  v: Especialidade clínica requerida para o atendimento
min:
  v: 0
max:
  v: *
base:
  path:
    v: Appointment.specialty
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true
binding:
  strength:
    v: preferred
  value set:
    v: https://terminologia.saude.gov.br/fhir/ValueSet/BROcupacao
    l: BROcupacao
mapping:
  identity:
    v: w5
  map:
    v: FiveWs.class
mapping:
  identity:
    v: rim
  map:
    v: .performer.AssignedPerson.code

id:
  v: Appointment.appointmentType
path:
  v: Appointment.appointmentType
short:
  v: Tipo do agendamento
definition:
  v: Classificação do agendamento (p.ex. rotina, retorno, encaixe)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Appointment.appointmentType
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true
binding:
  strength:
    v: preferred
  value set:
    v: http://terminology.hl7.org/ValueSet/v2-0276
    l: v2-0276
mapping:
  identity:
    v: v2
  map:
    v: ARQ-7
mapping:
  identity:
    v: rim
  map:
    v: .code
mapping:
  identity:
    v: ical
  map:
    v: CLASSIFICATION

id:
  v: Appointment.reasonCode
path:
  v: Appointment.reasonCode
short:
  v: Motivo (código) do agendamento
definition:
  v: Códigos que expressam a justificativa para o agendamento
min:
  v: 0
max:
  v: *
base:
  path:
    v: Appointment.reasonCode
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true
binding:
  strength:
    v: preferred
  value set:
    v: https://terminologia.saude.gov.br/fhir/ValueSet/BRCID10
    l: BRCID10
mapping:
  identity:
    v: workflow
  map:
    v: Request.reasonCode
mapping:
  identity:
    v: v2
  map:
    v: AIS-3, SCH-7
mapping:
  identity:
    v: rim
  map:
    v: .reasonCode

id:
  v: Appointment.reasonReference
path:
  v: Appointment.reasonReference
short:
  v: Motivo (referência) do agendamento
definition:
  v: Referências clínicas (p.ex., Condition, Procedure, Observation) que justificam o agendamento
min:
  v: 0
max:
  v: *
base:
  path:
    v: Appointment.reasonReference
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Condition|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Condition
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Procedure|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Procedure
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Observation|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Observation
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: workflow
  map:
    v: Request.reasonReference
mapping:
  identity:
    v: rim
  map:
    v: .inboundRelationship[@typeCode = 'RSON'].observation

id:
  v: Appointment.priority
path:
  v: Appointment.priority
short:
  v: Prioridade (0 = rotina)
definition:
  v: Nível de prioridade do agendamento (inteiro; 0 para rotina, valores maiores indicam maior prioridade)
comment:
  v: Seeking implementer feedback on this property and how interoperable it is. Using an extension to record a CodeableConcept for named values may be tested at a future connectathon.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Appointment.priority
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: unsignedInt
    l: unsignedInt
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: workflow
  map:
    v: Request.priority
mapping:
  identity:
    v: w5
  map:
    v: FiveWs.class
mapping:
  identity:
    v: v2
  map:
    v: ARQ-12, SCH-11.6 / TQ1-9
mapping:
  identity:
    v: rim
  map:
    v: .priorityCode
mapping:
  identity:
    v: ical
  map:
    v: PRIORITY

id:
  v: Appointment.description
path:
  v: Appointment.description
short:
  v: Descrição livre do agendamento
definition:
  v: Resumo textual do propósito do agendamento
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Appointment.description
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: v2
  map:
    v: NTE-3
mapping:
  identity:
    v: rim
  map:
    v: .text
mapping:
  identity:
    v: ical
  map:
    v: SUMMARY

id:
  v: Appointment.supportingInformation
path:
  v: Appointment.supportingInformation
short:
  v: Informações de apoio
definition:
  v: Referências a recursos que dão contexto ao agendamento (p.ex., DocumentReference, ImagingStudy)
min:
  v: 0
max:
  v: *
base:
  path:
    v: Appointment.supportingInformation
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Resource|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Resource
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: workflow
  map:
    v: Request.supportingInfo
mapping:
  identity:
    v: w5
  map:
    v: FiveWs.context
mapping:
  identity:
    v: rim
  map:
    v: .inboundRelationship[@typeCode = 'SPRT'].observation
mapping:
  identity:
    v: ical
  map:
    v: ATTACH

id:
  v: Appointment.start
path:
  v: Appointment.start
short:
  v: Início planejado
definition:
  v: Data/hora planejada de início do atendimento
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Appointment.start
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: instant
    l: instant
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: workflow
  map:
    v: Request.occurrence[x]
mapping:
  identity:
    v: w5
  map:
    v: FiveWs.init
mapping:
  identity:
    v: v2
  map:
    v: ARQ-11.1, SCH-11.4 / TQ1-7
mapping:
  identity:
    v: rim
  map:
    v: .effectiveTime.low
mapping:
  identity:
    v: ical
  map:
    v: DTSTART

id:
  v: Appointment.end
path:
  v: Appointment.end
short:
  v: Término planejado
definition:
  v: Data/hora planejada de término do atendimento
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Appointment.end
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: instant
    l: instant
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: workflow
  map:
    v: Request.occurrence[x]
mapping:
  identity:
    v: w5
  map:
    v: FiveWs.done[x]
mapping:
  identity:
    v: v2
  map:
    v: SCH-11.5 / TQ1-8/ calculated based on the start and the duration which is in ARQ-9
mapping:
  identity:
    v: rim
  map:
    v: .effectiveTime.high
mapping:
  identity:
    v: ical
  map:
    v: DTEND

id:
  v: Appointment.minutesDuration
path:
  v: Appointment.minutesDuration
short:
  v: Duração prevista (minutos)
definition:
  v: Duração estimada do atendimento em minutos
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Appointment.minutesDuration
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: positiveInt
    l: positiveInt
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: workflow
  map:
    v: Request.occurrence[x]
mapping:
  identity:
    v: rim
  map:
    v: .activityTime[@xsi:type = ('SXPR_TS', 'PIVL_TS')].width
mapping:
  identity:
    v: ical
  map:
    v: DURATION (e.g. PT15M)

id:
  v: Appointment.slot
path:
  v: Appointment.slot
short:
  v: Slots reservados
definition:
  v: Slots do agendador reservados para este Appointment
min:
  v: 0
max:
  v: *
base:
  path:
    v: Appointment.slot
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Slot|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/Slot
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: .outboundRelationship[@typeCode = 'REFR'].act[@classCode = 'ACT'][@moodCode = 'SLOT']

id:
  v: Appointment.created
path:
  v: Appointment.created
short:
  v: Data de criação
definition:
  v: Data em que o agendamento foi criado
comment:
  v: This property is required for many use cases where the age of an appointment is considered in processing workflows for scheduling and billing of appointments.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Appointment.created
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: dateTime
    l: dateTime
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: workflow
  map:
    v: Request.authoredOn
mapping:
  identity:
    v: rim
  map:
    v: .author.time
mapping:
  identity:
    v: ical
  map:
    v: CREATED

id:
  v: Appointment.comment
path:
  v: Appointment.comment
short:
  v: Comentários adicionais
definition:
  v: Informações adicionais relevantes sobre o agendamento
comment:
  v: Additional text to aid in facilitating the appointment. For instance, a comment might be, "patient should proceed immediately to infusion room upon arrival" Where this is a planned appointment and the start/end dates are not set then this field can be used to provide additional guidance on the details of the appointment request, including any restrictions on when to book it.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Appointment.comment
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: workflow
  map:
    v: Request.note
mapping:
  identity:
    v: v2
  map:
    v: NTE-3
mapping:
  identity:
    v: rim
  map:
    v: .subjectOf.observation[@moodCode = 'EVN'][code = 'annotation'].value
mapping:
  identity:
    v: ical
  map:
    v: DESCRIPTION (for internal use)

id:
  v: Appointment.patientInstruction
path:
  v: Appointment.patientInstruction
short:
  v: Instruções ao paciente
definition:
  v: Instruções para o paciente sobre o agendamento
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Appointment.patientInstruction
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: v2
  map:
    v: NTE-3
mapping:
  identity:
    v: rim
  map:
    v: .subjectOf.observation[@moodCode = 'EVN'][code = 'annotation'].value
mapping:
  identity:
    v: ical
  map:
    v: DESCRIPTION (for patient use)

id:
  v: Appointment.basedOn
path:
  v: Appointment.basedOn
short:
  v: Solicitação que originou o agendamento
definition:
  v: Referência à solicitação (ServiceRequest, CarePlan, etc.) que originou o agendamento
alias:
  v: incomingReferral
min:
  v: 0
max:
  v: *
base:
  path:
    v: Appointment.basedOn
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/ServiceRequest|4.0.1
    l: http://hl7.org/fhir/StructureDefinition/ServiceRequest
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: workflow
  map:
    v: Request.basedOn
mapping:
  identity:
    v: rim
  map:
    v: .outboundRelationship[@typeCode = 'FLFS'].act[@classCode < 'ActCareProvisionRequestType'][@moodCode = 'RQO']

id:
  v: Appointment.participant
path:
  v: Appointment.participant
short:
  v: Participantes do agendamento
definition:
  v: Participantes envolvidos no agendamento (profissional, paciente, organização, dispositivo, etc.)
min:
  v: 1
max:
  v: *
base:
  path:
    v: Appointment.participant
  min:
    v: 1
  max:
    v: *
type:
  code:
    v: BackboneElement
    l: BackboneElement
constraint:
  key:
    v: app-1
  severity:
    v: error
  human:
    v: Either the type or actor on the participant SHALL be specified
  expression:
    v: type.exists() or actor.exists()
  xpath:
    v: (exists(f:type) or exists(f:actor))
  source:
    v: http://hl7.org/fhir/StructureDefinition/Appointment
    l: Appointment
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: workflow
  map:
    v: Request.performer, Request.subject
mapping:
  identity:
    v: v2
  map:
    v: PID, AIP, AIG, AIL
mapping:
  identity:
    v: rim
  map:
    v: performer | reusableDevice | subject | location
mapping:
  identity:
    v: ical
  map:
    v: ATTENDEE component to be created

id:
  v: Appointment.participant.id
path:
  v: Appointment.participant.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
definition:
  v: Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
      l: structuredefinition-fhir-type
    value: Url
      v: string
      l: string
  code:
    v: http://hl7.org/fhirpath/System.String
    l: System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Appointment.participant.extension
path:
  v: Appointment.participant.extension
short:
  v: Additional content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Appointment.participant.modifierExtension
path:
  v: Appointment.participant.modifierExtension
short:
  v: Extensions that cannot be ignored even if unrecognized
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
requirements:
  v: Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).
alias:
  v: extensions
alias:
  v: user content
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: true
is modifier reason:
  v: Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Appointment.participant.type
path:
  v: Appointment.participant.type
short:
  v: Tipo de participante
definition:
  v: Função ou papel do participante no agendamento (p.ex. médico, paciente, intérprete)
comment:
  v: The role of the participant can be used to declare what the actor will be doing in the scope of this appointment. If the actor is not specified, then it is expected that the actor will be filled in at a later stage of planning. This value SHALL be the same when creating an AppointmentResponse so that they can be matched, and subsequently update the Appointment.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Appointment.participant.type
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true
binding:
  strength:
    v: extensible
  value set:
    v: https://terminologia.saude.gov.br/fhir/ValueSet/BRTipoParticipante
    l: BRTipoParticipante
mapping:
  identity:
    v: v2
  map:
    v: AIP-4, AIG-4
mapping:
  identity:
    v: rim
  map:
    v: (performer | reusableDevice | subject | location).@typeCode
mapping:
  identity:
    v: ical
  map:
    v: n/a

id:
  v: Appointment.participant.actor
path:
  v: Appointment.participant.actor
short:
  v: Entidade participante
definition:
  v: Referência ao recurso que representa o participante
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Appointment.participant.actor
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: https://br-core.saude.gov.br/fhir/StructureDefinition/br-core-patient
    l: br-core-patient
  target profile:
    v: https://br-core.saude.gov.br/fhir/StructureDefinition/br-core-practitioner
    l: br-core-practitioner
  target profile:
    v: https://br-core.saude.gov.br/fhir/StructureDefinition/br-core-healthcareservice
    l: br-core-healthcareservice
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: w5
  map:
    v: FiveWs.who
mapping:
  identity:
    v: v2
  map:
    v: PID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3
mapping:
  identity:
    v: rim
  map:
    v: performer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation
mapping:
  identity:
    v: ical
  map:
    v: ATTENDEE: (Need to provide the common name CN and also the MAILTO properties from the practitioner resource) where the participant type is not "information-only"

id:
  v: Appointment.participant.required
path:
  v: Appointment.participant.required
short:
  v: Participação obrigatória?
definition:
  v: Indica se a presença do participante é obrigatória
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Appointment.participant.required
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: code
    l: code
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true
binding:
  strength:
    v: required
  value set:
    v: http://hl7.org/fhir/ValueSet/participantrequired
    l: participantrequired
mapping:
  identity:
    v: rim
  map:
    v: (performer | reusableDevice | subject | location).@performInd
mapping:
  identity:
    v: ical
  map:
    v: ROLE=REQ-PARTICIPANT (roleparam)

id:
  v: Appointment.participant.status
path:
  v: Appointment.participant.status
short:
  v: Status de participação
definition:
  v: Confirmação do participante (accepted, declined, tentative, needs-action)
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Appointment.participant.status
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: code
    l: code
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: true
binding:
  strength:
    v: required
  value set:
    v: http://hl7.org/fhir/ValueSet/participationstatus
    l: participationstatus
mapping:
  identity:
    v: v2
  map:
    v: AIP-12, AIG-14
mapping:
  identity:
    v: rim
  map:
    v: (performer | reusableDevice | subject | location).statusCode
mapping:
  identity:
    v: ical
  map:
    v: ATTENDEE;CN="John Doe";RSVP=TRUE:mailto:john@doe.com (rsvpparam | partstatparam)

id:
  v: Appointment.participant.period
path:
  v: Appointment.participant.period
short:
  v: Período de disponibilidade
definition:
  v: Intervalo de tempo durante o qual o participante está disponível
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Appointment.participant.period
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Period
    l: Period
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Appointment.requestedPeriod
path:
  v: Appointment.requestedPeriod
short:
  v: Período solicitado
definition:
  v: Período ou faixa de tempo solicitada para o agendamento (antes da confirmação)
comment:
  v: This does not introduce a capacity for recurring appointments.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Appointment.requestedPeriod
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Period
    l: Period
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: workflow
  map:
    v: Request.occurrence[x]
mapping:
  identity:
    v: v2
  map:
    v: ARQ-11
mapping:
  identity:
    v: rim
  map:
    v: .activityTime[@xsi:type = ('SXPR_TS', 'PIVL_TS')]

element:
  id:
    v: Appointment
  path:
    v: Appointment
element:
  id:
    v: Appointment.id
  path:
    v: Appointment.id
  short:
    v: Identificador lógico deste artefato
  definition:
    v: Identificador lógico deste artefato
element:
  id:
    v: Appointment.meta
  path:
    v: Appointment.meta
  short:
    v: Metadados sobre o recurso
  definition:
    v: Metadados sobre o recurso
element:
  id:
    v: Appointment.implicitRules
  path:
    v: Appointment.implicitRules
  short:
    v: Conjunto de regras usadas para criar o conteúdo
  definition:
    v: Um conjunto de regras sob as quais este conteúdo foi criado
element:
  id:
    v: Appointment.language
  path:
    v: Appointment.language
  short:
    v: Idioma do recurso
  definition:
    v: Idioma do recurso
element:
  id:
    v: Appointment.text
  path:
    v: Appointment.text
  short:
    v: Resumo narrativo em linguagem natural
  definition:
    v: Resumo do texto do recurso em linguagem natural
element:
  id:
    v: Appointment.contained
  path:
    v: Appointment.contained
  short:
    v: Recursos aninhados
  definition:
    v: Recursos contidos neste recurso
element:
  id:
    v: Appointment.extension
  path:
    v: Appointment.extension
  short:
    v: Extensões adicionais não previstas no modelo base
  definition:
    v: Extensões adicionais que não fazem parte do modelo base
element:
  id:
    v: Appointment.modifierExtension
  path:
    v: Appointment.modifierExtension
  short:
    v: Extensões que não podem ser ignoradas
  definition:
    v: Extensões adicionais que não podem ser ignoradas, mesmo que não reconhecidas
element:
  id:
    v: Appointment.identifier
  path:
    v: Appointment.identifier
  short:
    v: Identificadores do agendamento
  definition:
    v: Identificadores para este Appointment (p.ex. identificador do sistema local ou da RNDS)
  must support:
    v: true
element:
  id:
    v: Appointment.status
  path:
    v: Appointment.status
  short:
    v: Status do agendamento
  definition:
    v: Situação atual do agendamento (proposto, pendente, agendado, concluído, cancelado, etc.)
  must support:
    v: true
  binding:
    strength:
      v: required
    value set:
      v: http://hl7.org/fhir/ValueSet/appointmentstatus
      l: appointmentstatus
element:
  id:
    v: Appointment.cancelationReason
  path:
    v: Appointment.cancelationReason
  short:
    v: Motivo do cancelamento
  definition:
    v: Razão codificada para cancelamento do agendamento
  binding:
    strength:
      v: preferred
    value set:
      v: http://hl7.org/fhir/ValueSet/appointment-cancellation-reason
      l: appointment-cancellation-reason
element:
  id:
    v: Appointment.serviceCategory
  path:
    v: Appointment.serviceCategory
  short:
    v: Categoria do serviço
  definition:
    v: Categoria ampla do serviço de saúde
  binding:
    strength:
      v: preferred
    value set:
      v: https://terminologia.saude.gov.br/fhir/ValueSet/BRModalidadeAssistencialMIRA
      l: BRModalidadeAssistencialMIRA
element:
  id:
    v: Appointment.serviceType
  path:
    v: Appointment.serviceType
  short:
    v: Tipo de serviço
  definition:
    v: Tipo específico de serviço/atendimento a ser realizado
  binding:
    strength:
      v: preferred
    value set:
      v: https://terminologia.saude.gov.br/fhir/ValueSet/BRProcedimentosNacionais
      l: BRProcedimentosNacionais
element:
  id:
    v: Appointment.specialty
  path:
    v: Appointment.specialty
  short:
    v: Especialidade clínica
  definition:
    v: Especialidade clínica requerida para o atendimento
  binding:
    strength:
      v: preferred
    value set:
      v: https://terminologia.saude.gov.br/fhir/ValueSet/BROcupacao
      l: BROcupacao
element:
  id:
    v: Appointment.appointmentType
  path:
    v: Appointment.appointmentType
  short:
    v: Tipo do agendamento
  definition:
    v: Classificação do agendamento (p.ex. rotina, retorno, encaixe)
  binding:
    strength:
      v: preferred
    value set:
      v: http://terminology.hl7.org/ValueSet/v2-0276
      l: v2-0276
element:
  id:
    v: Appointment.reasonCode
  path:
    v: Appointment.reasonCode
  short:
    v: Motivo (código) do agendamento
  definition:
    v: Códigos que expressam a justificativa para o agendamento
  binding:
    strength:
      v: preferred
    value set:
      v: https://terminologia.saude.gov.br/fhir/ValueSet/BRCID10
      l: BRCID10
element:
  id:
    v: Appointment.reasonReference
  path:
    v: Appointment.reasonReference
  short:
    v: Motivo (referência) do agendamento

v: Referências clínicas (p.ex., Condition, Procedure, Observation) que justificam o agendamento

id:
  v: Appointment.priority
path:
  v: Appointment.priority
short:
  v: Prioridade (0 = rotina)
definition:
  v: Nível de prioridade do agendamento (inteiro; 0 para rotina, valores maiores indicam maior prioridade)

id:
  v: Appointment.description
path:
  v: Appointment.description
short:
  v: Descrição livre do agendamento
definition:
  v: Resumo textual do propósito do agendamento

id:
  v: Appointment.supportingInformation
path:
  v: Appointment.supportingInformation
short:
  v: Informações de apoio
definition:
  v: Referências a recursos que dão contexto ao agendamento (p.ex., DocumentReference, ImagingStudy)

id:
  v: Appointment.start
path:
  v: Appointment.start
short:
  v: Início planejado
definition:
  v: Data/hora planejada de início do atendimento

id:
  v: Appointment.end
path:
  v: Appointment.end
short:
  v: Término planejado
definition:
  v: Data/hora planejada de término do atendimento

id:
  v: Appointment.minutesDuration
path:
  v: Appointment.minutesDuration
short:
  v: Duração prevista (minutos)
definition:
  v: Duração estimada do atendimento em minutos

id:
  v: Appointment.slot
path:
  v: Appointment.slot
short:
  v: Slots reservados
definition:
  v: Slots do agendador reservados para este Appointment

id:
  v: Appointment.created
path:
  v: Appointment.created
short:
  v: Data de criação
definition:
  v: Data em que o agendamento foi criado

id:
  v: Appointment.comment
path:
  v: Appointment.comment
short:
  v: Comentários adicionais
definition:
  v: Informações adicionais relevantes sobre o agendamento

id:
  v: Appointment.patientInstruction
path:
  v: Appointment.patientInstruction
short:
  v: Instruções ao paciente
definition:
  v: Instruções para o paciente sobre o agendamento

id:
  v: Appointment.basedOn
path:
  v: Appointment.basedOn
short:
  v: Solicitação que originou o agendamento
definition:
  v: Referência à solicitação (ServiceRequest, CarePlan, etc.) que originou o agendamento

id:
  v: Appointment.participant
path:
  v: Appointment.participant
short:
  v: Participantes do agendamento
definition:
  v: Participantes envolvidos no agendamento (profissional, paciente, organização, dispositivo, etc.)

id:
  v: Appointment.participant.type
path:
  v: Appointment.participant.type
short:
  v: Tipo de participante
definition:
  v: Função ou papel do participante no agendamento (p.ex. médico, paciente, intérprete)
binding:
  strength:
    v: extensible
  value set:
    v: https://terminologia.saude.gov.br/fhir/ValueSet/BRTipoParticipante
    l: BRTipoParticipante

id:
  v: Appointment.participant.actor
path:
  v: Appointment.participant.actor
short:
  v: Entidade participante
definition:
  v: Referência ao recurso que representa o participante
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: https://br-core.saude.gov.br/fhir/StructureDefinition/br-core-patient
    l: br-core-patient
  target profile:
    v: https://br-core.saude.gov.br/fhir/StructureDefinition/br-core-practitioner
    l: br-core-practitioner
  target profile:
    v: https://br-core.saude.gov.br/fhir/StructureDefinition/br-core-healthcareservice
    l: br-core-healthcareservice

id:
  v: Appointment.participant.required
path:
  v: Appointment.participant.required
short:
  v: Participação obrigatória?
definition:
  v: Indica se a presença do participante é obrigatória
binding:
  strength:
    v: required
  value set:
    v: http://hl7.org/fhir/ValueSet/participantrequired
    l: participantrequired

id:
  v: Appointment.participant.status
path:
  v: Appointment.participant.status
short:
  v: Status de participação
definition:
  v: Confirmação do participante (accepted, declined, tentative, needs-action)
binding:
  strength:
    v: required
  value set:
    v: http://hl7.org/fhir/ValueSet/participationstatus
    l: participationstatus

id:
  v: Appointment.participant.period
path:
  v: Appointment.participant.period
short:
  v: Período de disponibilidade
definition:
  v: Intervalo de tempo durante o qual o participante está disponível

id:
  v: Appointment.requestedPeriod
path:
  v: Appointment.requestedPeriod
short:
  v: Período solicitado
definition:
  v: Período ou faixa de tempo solicitada para o agendamento (antes da confirmação)