Narrativa gerada: StructureDefinition br-core-appointment Nome Bandeiras Card. Tipo Descrição e condicionalismos 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 (example) #xD; serviceCategory 0..* CodeableConcept Categoria do serviço Vínculo: BR Modalidade Assistencial (preferred) #xD; serviceType 0..* CodeableConcept Tipo de serviço Vínculo: BR Procedimentos Nacionais (example) #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ício planejado #xD; end 0..1 instant Término planejado #xD; minutesDuration 0..1 positiveInt Duração prevista (minutos) #xD; slot 0..* Reference(Slot) Slots reservados #xD; created 0..1 dateTime Data de criação #xD; comment 0..1 string Comentários adicionais #xD; patientInstruction 0..1 string Instruções ao paciente #xD; basedOn 0..* Reference(ServiceRequest) Solicitação que originou o agendamento #xD; participant 1..* BackboneElement Participantes do agendamento #xD; type 0..* CodeableConcept Tipo de participante Vínculo: BR Tipo Participante (extensible) #xD; actor 0..1 Reference(BRCorePatient | BRCorePractitioner | br-core-healthcareservice) Entidade participante #xD; required 0..1 code Participação obrigatória? Vínculo: ParticipantRequired (required) #xD; status 1..1 code Status de participação Vínculo: ParticipationStatus (required) #xD; period 0..1 Period Período de disponibilidade #xD; requestedPeriod 0..* Period Período solicitado #xD; Documentação para este formato
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.
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)
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).
Either start and end are specified, or neither
((exists(f:start) and exists(f:end)) or (not(exists(f:start)) and not(exists(f:end))))
Only proposed or cancelled appointments can be missing start/end dates
(start.exists() and end.exists()) or (status in ('proposed' | 'cancelled' | 'waitlist'))
((exists(f:start) and exists(f:end)) or (f:status/@value='proposed') or (f:status/@value='cancelled') or (f:status/@value='waitlist'))
Cancelation reason is only used for appointments that have been cancelled, or no-show
Appointment.cancelationReason.exists() implies (Appointment.status='no-show' or Appointment.status='cancelled')
not(exists(f:cancellationReason)) or f:status/@value=('no-show', 'cancelled')
If the resource is contained in another resource, it SHALL NOT contain nested Resources
not(parent::f:contained and f:contained)
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
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()
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='#'])]))
If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))
If a resource is contained in another resource, it SHALL NOT have a security label
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.
A resource should have narrative for robust management
The only time that a resource does not have an id is when it is being submitted to the server using a create operation.
All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
Conjunto de regras usadas para criar o conteúdo
Um conjunto de regras sob as quais este conteúdo foi criado
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.
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
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).
Resumo do texto do recurso em linguagem natural
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.
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.
Extensões adicionais não previstas no modelo base
Extensões adicionais que não fazem parte do modelo base
Must have either extensions or value[x], not both
exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
Extensões adicionais que não podem ser ignoradas, mesmo que não reconhecidas
Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them
Identificadores para este Appointment (p.ex. identificador do sistema local ou da RNDS)
Situação atual do agendamento (proposto, pendente, agendado, concluído, cancelado, etc.)
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.
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
Razão codificada para cancelamento do agendamento
n/a, might be inferred from the ServiceDeliveryLocation
Tipo específico de serviço/atendimento a ser realizado
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.
Especialidade clínica requerida para o atendimento
Classificação do agendamento (p.ex. rotina, retorno, encaixe)
Códigos que expressam a justificativa para o agendamento
Referências clínicas (p.ex., Condition, Procedure, Observation) que justificam o agendamento
.inboundRelationship[@typeCode = 'RSON'].observation
Nível de prioridade do agendamento (inteiro; 0 para rotina, valores maiores indicam maior prioridade)
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.
Resumo textual do propósito do agendamento
Referências a recursos que dão contexto ao agendamento (p.ex., DocumentReference, ImagingStudy)
.inboundRelationship[@typeCode = 'SPRT'].observation
Data/hora planejada de início do atendimento
Data/hora planejada de término do atendimento
SCH-11.5 / TQ1-8/ calculated based on the start and the duration which is in ARQ-9
Duração estimada do atendimento em minutos
.activityTime[@xsi:type = ('SXPR_TS', 'PIVL_TS')].width
Slots do agendador reservados para este Appointment
.outboundRelationship[@typeCode = 'REFR'].act[@classCode = 'ACT'][@moodCode = 'SLOT']
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.
Informações adicionais relevantes sobre o agendamento
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.
.subjectOf.observation[@moodCode = 'EVN'][code = 'annotation'].value
Instruções para o paciente sobre o agendamento
Referência à solicitação (ServiceRequest, CarePlan, etc.) que originou o agendamento
.outboundRelationship[@typeCode = 'FLFS'].act[@classCode < 'ActCareProvisionRequestType'][@moodCode = 'RQO']
Participantes envolvidos no agendamento (profissional, paciente, organização, dispositivo, etc.)
Either the type or actor on the participant SHALL be specified
performer | reusableDevice | subject | location
Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Additional content defined by implementations
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.
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.
Extensions that cannot be ignored even if unrecognized
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).
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).
Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
Função ou papel do participante no agendamento (p.ex. médico, paciente, intérprete)
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.
(performer | reusableDevice | subject | location).@typeCode
Referência ao recurso que representa o participante
PID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3
performer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation
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"
Indica se a presença do participante é obrigatória
(performer | reusableDevice | subject | location).@performInd
Confirmação do participante (accepted, declined, tentative, needs-action)
(performer | reusableDevice | subject | location).statusCode
ATTENDEE;CN="John Doe";RSVP=TRUE:mailto:john@doe.com (rsvpparam | partstatparam)
Intervalo de tempo durante o qual o participante está disponível
Período ou faixa de tempo solicitada para o agendamento (antes da confirmação)
This does not introduce a capacity for recurring appointments.
.activityTime[@xsi:type = ('SXPR_TS', 'PIVL_TS')]