EncounterProfile

⚠️ This is a template for describing your Profile (StructureDefinition) resource. To start, update the canonical URL above to the one of your resource. Don't forget to remove this paragraph.

Metadata

These are the details for this resource:

Resource content

These are different views on this resource:

This is the tree view:
idΣ0..1id
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
textI0..1Narrative
containedI0..*Resource
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
id0..1string
extensionI0..*Extension
codingΣ I0..*Coding
textΣ1..1string
systemΣ0..1uri
valueΣ I0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
statusΣ ?!1..1codeBinding
classΣ1..1CodeableConceptBinding
priority0..0CodeableConcept
typeΣ1..1CodeableConcept
serviceTypeΣ0..0CodeableReference(HealthcareService)
subjectΣ I0..1Reference(Patient | Group)
subjectStatus0..1CodeableConcept
episodeOfCareΣ I0..0Reference(EpisodeOfCare)
basedOnI0..*Reference(CarePlan | DeviceRequest | MedicationRequest | ServiceRequest)
careTeamI0..*Reference(CareTeam)
partOfI0..0Reference(Encounter)
serviceProviderI0..1Reference(Organization)
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
typeΣ I0..*CodeableConceptBinding
periodI0..1Period
actorΣ I0..1Reference(https://luxith-etab.org/fhir/StructureDefinition/lu/CFBPractitioner)
appointmentΣ I0..*Reference(Appointment)
virtualService0..0VirtualServiceDetail
actualPeriodI0..1Period
plannedStartDate1..1dateTime
plannedEndDate0..1dateTime
lengthI0..0Duration
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
useΣ0..*CodeableConcept
valueΣ0..*CodeableReference(Condition | DiagnosticReport | Observation | ImmunizationRecommendation | Procedure)Binding
accountI0..*Reference(Account)
dietPreference0..0CodeableConcept
specialArrangement0..0CodeableConceptBinding
specialCourtesy0..0CodeableConceptBinding
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
preAdmissionIdentifierI0..1Identifier
originI0..1Reference(Location | Organization)
admitSource0..1CodeableConceptBinding
reAdmission1..1CodeableConcept
destinationI0..1Reference(Location | Organization)
dischargeDisposition0..1CodeableConcept
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
locationI1..1Reference(Location)
status0..1codeBinding
form0..1CodeableConcept
periodI0..1Period
This is the detailed view:
Encounter
DefinitionAn interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient. Encounter is primarily used to record information about the actual activities that occurred, where Appointment is used to record planned activities.
Cardinality0...*
AliasVisit
Invariants
  • dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-4: 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()
  • dom-3: 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
  • dom-6: A resource should have narrative for robust management
    text.`div`.exists()
  • dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
    contained.meta.security.empty()
Mappings
  • rim: n/a
  • rim: Entity. Role, or Act
  • rim: Entity, Role, or Act
  • workflow: Event
  • w5: workflow.encounter
  • rim: PatientEncounter[@moodCode='EVN']
Encounter.id
DefinitionThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Cardinality0...1
Typeid
SummaryTrue
Comments

Within the context of the FHIR RESTful interactions, the resource has an id except for cases like the create and conditional update. Otherwise, the use of the resouce id depends on the given use case.

Encounter.meta
DefinitionThe metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
Cardinality0...1
TypeMeta
SummaryTrue
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: N/A
Encounter.implicitRules
DefinitionA reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
Cardinality0...1
Typeuri
ModifierTrue
SummaryTrue
Comments

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 its narrative along with other profiles, value sets, etc.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
Encounter.language
DefinitionThe base language in which the resource is written.
Cardinality0...1
Typecode
Binding

IETF language tag for a human language

AllLanguages (required)
Comments

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).

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
Encounter.text
DefinitionA human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
Cardinality0...1
TypeNarrative
Aliasnarrative, html, xhtml, display
Comments

Contained resources do not have a 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.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: N/A
  • rim: Act.text?
Encounter.contained
DefinitionThese resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, nor can they have their own independent transaction scope. This is allowed to be a Parameters resource if and only if it is referenced by a resource that provides context/meaning.
Cardinality0...*
TypeResource
Aliasinline resources, anonymous resources, contained resources
Comments

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.

Mappings
  • rim: n/a
  • rim: Entity. Role, or Act
  • rim: N/A
Encounter.extension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and managable, 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.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

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.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.modifierExtension
DefinitionMay be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it 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 managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to 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).
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content
Requirements

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.

Comments

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.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.identifier
DefinitionIdentifier(s) by which this encounter is known.
Cardinality1...1
TypeIdentifier
SummaryTrue
Comments

The rules of the identifier.type determine if a check digit is part of the ID value or sent separately, such as through the checkDigit extension.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ident-1: Identifier with no value has limited utility. If communicating that an identifier value has been suppressed or missing, the value element SHOULD be present with an extension indicating the missing semantic - e.g. data-absent-reason
    value.exists()
Mappings
  • rim: n/a
  • v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
  • rim: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
  • servd: Identifier
  • workflow: Event.identifier
  • w5: FiveWs.identifier
  • v2: PV1-19
  • rim: .id
Encounter.identifier.id
DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Mappings
  • rim: n/a
Encounter.identifier.extension
DefinitionMay 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 managable, 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.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

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.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.identifier.use
DefinitionThe purpose of this identifier.
Cardinality0...1
Typecode
Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)
ModifierTrue
SummaryTrue
Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: N/A
  • rim: Role.code or implied by context
Encounter.identifier.type
DefinitionA coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
Cardinality0...1
TypeCodeableConcept
Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

IdentifierTypeCodes (extensible)
SummaryTrue
Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2: CX.5
  • rim: Role.code or implied by context
Encounter.identifier.type.id
DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Mappings
  • rim: n/a
Encounter.identifier.type.extension
DefinitionMay 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 managable, 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.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

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.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.identifier.type.coding
DefinitionA reference to a code defined by a terminology system.
Cardinality0...*
TypeCoding
SummaryTrue
Requirements

Allows for alternative encodings within a code system, and translations to other code systems.

Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • cod-1: A Coding SHOULD NOT have a display unless a code is also present. Computation on Coding.display alone is generally unsafe. Consider using CodeableConcept.text
    code.exists().not() implies display.exists().not()
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
  • rim: CV
  • orim: fhir:Coding rdfs:subClassOf dt:CDCoding
  • v2: C*E.1-8, C*E.10-22
  • rim: union(., ./translation)
  • orim: fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
Encounter.identifier.type.text
DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
Cardinality1...1
Typestring
SummaryTrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Comments

Very often the text is the same as a displayName of one of the codings.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: C*E.9. But note many systems use C*E.2 for this
  • rim: ./originalText[mediaType/code="text/plain"]/data
  • orim: fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
Encounter.identifier.system
DefinitionEstablishes the namespace for the value - that is, an absolute URL that describes a set values that are unique.
Cardinality0...1
Typeuri
SummaryTrue
Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

Identifier.system is always case sensitive.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Examples
General

http://www.acme.com/identifiers/patient


Mappings
  • rim: n/a
  • v2: CX.4 / EI-2-4
  • rim: II.root or Role.id.root
  • servd: ./IdentifierType
Encounter.identifier.value
DefinitionThe portion of the identifier typically relevant to the user and which is unique within the context of the system.
Cardinality0...1
Typestring
SummaryTrue
Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the http://hl7.org/fhir/StructureDefinition/rendered-value). Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Examples
General

123456


Mappings
  • rim: n/a
  • v2: CX.1 / EI.1
  • rim: II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd: ./Value
Encounter.identifier.period
DefinitionTime period during which identifier is/was valid for use.
Cardinality0...1
TypePeriod
SummaryTrue
Comments

A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times").

Period is not used for a duration (a measure of elapsed time). See Duration.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • per-1: If present, start SHALL have a lower or equal value than end
    start.hasValue().not() or end.hasValue().not() or (start.lowBoundary() <= end.highBoundary())
Mappings
  • rim: n/a
  • v2: DR
  • rim: IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2: CX.7 + CX.8
  • rim: Role.effectiveTime or implied by context
  • servd: ./StartDate and ./EndDate
Encounter.identifier.assigner
DefinitionOrganization that issued/manages the identifier.
Cardinality0...1
TypeReference(Organization)
SummaryTrue
Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.exists() implies (reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) or (reference='#' and %rootResource!=%resource))
  • ref-2: At least one of reference, identifier and display SHALL be present (unless an extension is provided).
    reference.exists() or identifier.exists() or display.exists() or extension.exists()
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2: CX.4 / (CX.4,CX.9,CX.10)
  • rim: II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd: ./IdentifierIssuingAuthority
Encounter.status
DefinitionThe current state of the encounter (not the state of the patient within the encounter - that is subjectState).
Cardinality1...1
Typecode
Binding

Current state of the encounter.

EncounterStatus (required)
ModifierTrue
SummaryTrue
Comments

Note that internal business rules will determine the appropriate transitions that may occur between statuses (and also classes).

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • workflow: Event.status
  • w5: FiveWs.status
  • v2: No clear equivalent in HL7 V2; active/finished could be inferred from PV1-44, PV1-45, PV2-24; inactive could be inferred from PV2-16
  • rim: .statusCode
Encounter.class
DefinitionConcepts representing classification of patient encounter such as ambulatory (outpatient), inpatient, emergency, home health or others due to local variations.
Cardinality1...1
TypeCodeableConcept
Binding

Classification of the encounter.

http://terminology.hl7.org/ValueSet/encounter-class (preferred)
SummaryTrue
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • w5: FiveWs.class
  • v2: PV1-2
  • rim: .inboundRelationship[typeCode=SUBJ].source[classCode=LIST].code
Encounter.priority
DefinitionIndicates the urgency of the encounter.
Cardinality0...0
TypeCodeableConcept
Binding

Indicates the urgency of the encounter.

http://terminology.hl7.org/ValueSet/v3-ActPriority (example)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • w5: FiveWs.grade
  • v2: PV2-25
  • rim: .priorityCode
Encounter.type
DefinitionSpecific type of encounter (e.g. e-mail consultation, surgical day-care, skilled nursing, rehabilitation).
Cardinality1...1
TypeCodeableConcept
Binding

A specific code indicating type of service provided

EncounterType (example)
SummaryTrue
Comments

Since there are many ways to further classify encounters, this element is 0..*.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • workflow: Event.code
  • w5: FiveWs.what[x]
  • v2: PV1-4 / PV1-18
  • rim: .code
Encounter.serviceType
DefinitionBroad categorization of the service that is to be provided (e.g. cardiology).
Cardinality0...0
TypeCodeableReference(HealthcareService)
Binding

Broad categorization of the service that is to be provided.

ServiceType (example)
SummaryTrue
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • workflow: Event.code
  • v2: PV1-10
Encounter.subject
DefinitionThe patient or group related to this encounter. In some use-cases the patient MAY not be present, such as a case meeting about a patient between several practitioners or a careteam.
Cardinality0...1
TypeReference(Patient | Group)
SummaryTrue
Aliaspatient
Comments

While the encounter is always about the patient, the patient might not actually be known in all contexts of use, and there may be a group of patients that could be anonymous (such as in a group therapy for Alcoholics Anonymous - where the recording of the encounter could be used for billing on the number of people/staff and not important to the context of the specific patients) or alternately in veterinary care a herd of sheep receiving treatment (where the animals are not individually tracked).

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.exists() implies (reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) or (reference='#' and %rootResource!=%resource))
  • ref-2: At least one of reference, identifier and display SHALL be present (unless an extension is provided).
    reference.exists() or identifier.exists() or display.exists() or extension.exists()
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow: Event.subject
  • w5: FiveWs.subject[x]
  • v2: PID-3
  • rim: .participation[typeCode=SBJ]/role[classCode=PAT]
Encounter.subjectStatus
DefinitionThe subjectStatus value can be used to track the patient's status within the encounter. It details whether the patient has arrived or departed, has been triaged or is currently in a waiting status.
Cardinality0...1
TypeCodeableConcept
Binding

Current status of the subject within the encounter.

EncounterSubjectStatus (example)
Comments

Different use-cases are likely to have different permitted transitions between states, such as an Emergency department could use arrived when the patient first presents, then triaged once has been assessed by a nurse, then receiving-care once treatment begins, however other sectors may use a different set of these values, or their own custom set in place of this example valueset provided.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
Encounter.episodeOfCare
DefinitionWhere a specific encounter should be classified as a part of a specific episode(s) of care this field should be used. This association can facilitate grouping of related encounters together for a specific purpose, such as government reporting, issue tracking, association via a common problem. The association is recorded on the encounter as these are typically created after the episode of care and grouped on entry rather than editing the episode of care to append another encounter to it (the episode of care could span years).
Cardinality0...0
TypeReference(EpisodeOfCare)
SummaryTrue
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolvable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.exists() implies (reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) or (reference='#' and %rootResource!=%resource))
  • ref-2: At least one of reference, identifier and display SHALL be present (unless an extension is provided).
    reference.exists() or identifier.exists() or display.exists() or extension.exists()
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • w5: FiveWs.context
  • v2: PV1-54, PV1-53
Encounter.basedOn
DefinitionThe request this encounter satisfies (e.g. incoming referral or procedure request).
Cardinality0...*
TypeReference(CarePlan | DeviceRequest | MedicationRequest | ServiceRequest)
AliasincomingReferral
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolvable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.exists() implies (reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) or (reference='#' and %rootResource!=%resource))
  • ref-2: At least one of reference, identifier and display SHALL be present (unless an extension is provided).
    reference.exists() or identifier.exists() or display.exists() or extension.exists()
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow: Event.basedOn
  • rim: .reason.ClinicalDocument
Encounter.careTeam
DefinitionThe group(s) of individuals, organizations that are allocated to participate in this encounter. The participants backbone will record the actuals of when these individuals participated during the encounter.
Cardinality0...*
TypeReference(CareTeam)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolvable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.exists() implies (reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) or (reference='#' and %rootResource!=%resource))
  • ref-2: At least one of reference, identifier and display SHALL be present (unless an extension is provided).
    reference.exists() or identifier.exists() or display.exists() or extension.exists()
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
Encounter.partOf
DefinitionAnother Encounter of which this encounter is a part of (administratively or in time).
Cardinality0...0
TypeReference(Encounter)
Comments

This is also used for associating a child's encounter back to the mother's encounter.

Refer to the Notes section in the Patient resource for further details.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.exists() implies (reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) or (reference='#' and %rootResource!=%resource))
  • ref-2: At least one of reference, identifier and display SHALL be present (unless an extension is provided).
    reference.exists() or identifier.exists() or display.exists() or extension.exists()
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow: Event.partOf
  • rim: .inboundRelationship[typeCode=COMP].source[classCode=COMP, moodCode=EVN]
Encounter.serviceProvider
DefinitionThe organization that is primarily responsible for this Encounter's services. This MAY be the same as the organization on the Patient record, however it could be different, such as if the actor performing the services was from an external organization (which may be billed seperately) for an external consultation. Refer to the colonoscopy example on the Encounter examples tab.
Cardinality0...1
TypeReference(Organization)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolvable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.exists() implies (reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) or (reference='#' and %rootResource!=%resource))
  • ref-2: At least one of reference, identifier and display SHALL be present (unless an extension is provided).
    reference.exists() or identifier.exists() or display.exists() or extension.exists()
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow: Event.performer.actor
  • v2: PL.6 & PL.1
  • rim: .participation[typeCode=PRF].role
Encounter.participant
DefinitionThe list of people responsible for providing the service.
Cardinality0...*
TypeBackboneElement
SummaryTrue
Comments

Any Patient or Group present in the participation.actor must also be the subject, though the subject may be absent from the participation.actor for cases where the patient (or group) is not present, such as during a case review conference.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • enc-1: A type must be provided when no explicit actor is specified
    actor.exists() or type.exists()
  • enc-2: A type cannot be provided for a patient or group participant
    actor.exists(resolve() is Patient or resolve() is Group) implies type.exists().not()
Mappings
  • rim: n/a
  • workflow: Event.performer
  • v2: ROL
  • rim: .participation[typeCode=PRF]
Encounter.participant.id
DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Mappings
  • rim: n/a
Encounter.participant.extension
DefinitionMay 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 managable, 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.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

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.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.participant.modifierExtension
DefinitionMay 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 managable, 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).
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

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.

Comments

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.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.participant.type
DefinitionRole of participant in encounter.
Cardinality0...*
TypeCodeableConcept
Binding

Role of participant in encounter.

ParticipantType (extensible)
SummaryTrue
Comments

The participant type indicates how an individual actor participates in an encounter. It includes non-practitioner participants, and for practitioners this is to describe the action type in the context of this encounter (e.g. Admitting Dr, Attending Dr, Translator, Consulting Dr). This is different to the practitioner roles which are functional roles, derived from terms of employment, education, licensing, etc.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • workflow: Event.performer.function
  • v2: ROL-3 (or maybe PRT-4)
  • rim: .functionCode
Encounter.participant.period
DefinitionThe period of time that the specified participant participated in the encounter. These can overlap or be sub-sets of the overall encounter's period.
Cardinality0...1
TypePeriod
Comments

A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times").

Period is not used for a duration (a measure of elapsed time). See Duration.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • per-1: If present, start SHALL have a lower or equal value than end
    start.hasValue().not() or end.hasValue().not() or (start.lowBoundary() <= end.highBoundary())
Mappings
  • rim: n/a
  • v2: DR
  • rim: IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2: ROL-5, ROL-6 (or maybe PRT-5)
  • rim: .time
Encounter.participant.actor
DefinitionPerson involved in the encounter, the patient/group is also included here to indicate that the patient was actually participating in the encounter. Not including the patient here covers use cases such as a case meeting between practitioners about a patient - non contact times.
Cardinality0...1
TypeReference(https://luxith-etab.org/fhir/StructureDefinition/lu/CFBPractitioner)
SummaryTrue
Comments

For planning purposes, Appointments may include a CareTeam participant to indicate that one specific person from the CareTeam will be assigned, but that assignment might not happen until the Encounter begins. Hence CareTeam is not included in Encounter.participant, as the specific individual should be assigned and represented as a Practitioner or other person resource.

Similarly, Location can be included in Appointment.participant to assist with planning. However, the patient location is tracked on the Encounter in the Encounter.location property to allow for additional metadata and history to be recorded.

The role of the participant can be used to declare what the actor will be doing in the scope of this encounter participation.

If the individual is not specified during planning, then it is expected that the individual will be filled in at a later stage prior to the encounter commencing.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.exists() implies (reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) or (reference='#' and %rootResource!=%resource))
  • ref-2: At least one of reference, identifier and display SHALL be present (unless an extension is provided).
    reference.exists() or identifier.exists() or display.exists() or extension.exists()
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow: Event.performer.actor
  • w5: FiveWs.who
  • v2: ROL-4
  • rim: .role
Encounter.appointment
DefinitionThe appointment that scheduled this encounter.
Cardinality0...*
TypeReference(Appointment)
SummaryTrue
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolvable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.exists() implies (reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) or (reference='#' and %rootResource!=%resource))
  • ref-2: At least one of reference, identifier and display SHALL be present (unless an extension is provided).
    reference.exists() or identifier.exists() or display.exists() or extension.exists()
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow: Event.basedOn
  • v2: SCH-1 / SCH-2
  • rim: .outboundRelationship[typeCode=FLFS].target[classCode=ENC, moodCode=APT]
Encounter.virtualService
DefinitionConnection details of a virtual service (e.g. conference call).
Cardinality0...0
TypeVirtualServiceDetail
Comments

There are two types of virtual meetings that often exist:

  • a persistent, virtual meeting room that can only be used for a single purpose at a time,
  • and a dynamic virtual meeting room that is generated on demand for a specific purpose.

Implementers may consider using Location.virtualService for persistent meeting rooms.

If each participant would have a different meeting link, an extension using the VirtualServiceContactDetail can be applied to the Encounter.participant BackboneElement.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: N/A
Encounter.actualPeriod
DefinitionThe actual start and end time of the encounter.
Cardinality0...1
TypePeriod
Comments

If not (yet) known, the end of the Period may be omitted.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • per-1: If present, start SHALL have a lower or equal value than end
    start.hasValue().not() or end.hasValue().not() or (start.lowBoundary() <= end.highBoundary())
Mappings
  • rim: n/a
  • v2: DR
  • rim: IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • workflow: Event.occurrence[x]
  • w5: FiveWs.done[x]
  • v2: PV1-44, PV1-45
  • rim: .effectiveTime (low & high)
Encounter.plannedStartDate
DefinitionThe planned start date/time (or admission date) of the encounter.
Cardinality1...1
TypedateTime
Comments

UTC offset is allowed for dates and partial dates

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: PV2-8
Encounter.plannedEndDate
DefinitionThe planned end date/time (or discharge date) of the encounter.
Cardinality0...1
TypedateTime
Comments

UTC offset is allowed for dates and partial dates

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: PV2-9
Encounter.length
DefinitionActual quantity of time the encounter lasted. This excludes the time during leaves of absence. When missing it is the time in between the start and end values.
Cardinality0...0
TypeDuration
Comments

If the precision on these values is low (e.g. to the day only) then this may be considered was an all day (or multi-day) encounter, unless the duration is included, where that amount of time occurred sometime during the interval.

May differ from the time in Encounter.period due to leave of absence(s).

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • qty-3: If a code for the unit is present, the system SHALL also be present
    code.empty() or system.exists()
  • drt-1: There SHALL be a code if there is a value and it SHALL be an expression of time. If system is present, it SHALL be UCUM.
    code.exists() implies ((system = %ucum) and value.exists())
Mappings
  • rim: n/a
  • v2: SN (see also Range) or CQ
  • rim: PQ, IVL<PQ>, MO, CO, depending on the values
  • rim: PQ, IVL<PQ> depending on the values
  • workflow: Event.occurrence[x]
  • v2: (PV1-45 less PV1-44) iff ( (PV1-44 not empty) and (PV1-45 not empty) ); units in minutes or PV2-11 (which is actual length in days)
  • rim: .lengthOfStayQuantity
Encounter.reason
DefinitionThe list of medical reasons that are expected to be addressed during the episode of care.
Cardinality0...*
TypeBackboneElement
SummaryTrue
Comments

The reason communicates what medical problem the patient has that should be addressed during the episode of care. This reason could be patient reported complaint, a clinical indication that was determined in a previous encounter or episode of care, or some planned care such as an immunization recommendation. In the case where you have a primary reason, but are expecting to also address other problems, you can list the primary reason with a use code of 'Chief Complaint', while the other problems being addressed would have a use code of 'Reason for Visit'.

Examples:

  • pregnancy would use HealthcareService or a coding as the reason
  • patient home monitoring could use Condition as the reason
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
Encounter.reason.id
DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Mappings
  • rim: n/a
Encounter.reason.extension
DefinitionMay 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 managable, 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.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

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.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.reason.modifierExtension
DefinitionMay 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 managable, 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).
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

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.

Comments

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.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.reason.use
DefinitionWhat the reason value should be used as e.g. Chief Complaint, Health Concern, Health Maintenance (including screening).
Cardinality0...*
TypeCodeableConcept
BindingEncounterReasonUse (example)
SummaryTrue
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
Encounter.reason.value
DefinitionReason the encounter takes place, expressed as a code or a reference to another resource. For admissions, this can be used for a coded admission diagnosis.
Cardinality0...*
TypeCodeableReference(Condition | DiagnosticReport | Observation | ImmunizationRecommendation | Procedure)
Binding

Reason why the encounter takes place.

EncounterReasonCodes (preferred)
SummaryTrue
AliasIndication, Admission diagnosis
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • workflow: Event.reason
  • w5: FiveWs.why[x]
  • v2: EVN-4 / PV2-3 (note: PV2-3 is nominally constrained to inpatient admissions; HL7 V2 makes no vocabulary suggestions for PV2-3; would not expect PV2 segment or PV2-3 to be in use in all implementations )
  • rim: .reasonCode
Encounter.diagnosis
DefinitionThe list of diagnosis relevant to this encounter.
Cardinality0...0
TypeBackboneElement
SummaryTrue
Comments

Also note that for the purpose of billing, the diagnoses are recorded in the account where they can be ranked appropriately for how the invoicing/claiming documentation needs to be prepared.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: .outboundRelationship[typeCode=RSON]
Encounter.diagnosis.id
DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Mappings
  • rim: n/a
Encounter.diagnosis.extension
DefinitionMay 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 managable, 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.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

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.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.diagnosis.modifierExtension
DefinitionMay 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 managable, 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).
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

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.

Comments

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.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.diagnosis.condition
DefinitionThe coded diagnosis or a reference to a Condition (with other resources referenced in the evidence.detail), the use property will indicate the purpose of this specific diagnosis.
Cardinality0...*
TypeCodeableReference(Condition)
BindingConditionProblemDiagnosisCodes (example)
SummaryTrue
AliasAdmission diagnosis, discharge diagnosis, indication
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • workflow: Event.reason
  • w5: FiveWs.why[x]
  • v2: Resources that would commonly referenced at Encounter.indication would be Condition and/or Procedure. These most closely align with DG1/PRB and PR1 respectively.
  • rim: .outboundRelationship[typeCode=RSON].target
Encounter.diagnosis.use
DefinitionRole that this diagnosis has within the encounter (e.g. admission, billing, discharge …).
Cardinality0...*
TypeCodeableConcept
Binding

The type of diagnosis this condition represents.

EncounterDiagnosisUse (preferred)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2: DG1-6 (Diagnosis Type)
Encounter.account
DefinitionThe set of accounts that may be used for billing for this Encounter.
Cardinality0...*
TypeReference(Account)
Comments

The billing system may choose to allocate billable items associated with the Encounter to different referenced Accounts based on internal business rules.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.exists() implies (reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) or (reference='#' and %rootResource!=%resource))
  • ref-2: At least one of reference, identifier and display SHALL be present (unless an extension is provided).
    reference.exists() or identifier.exists() or display.exists() or extension.exists()
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim: .pertains.A_Account
Encounter.dietPreference
DefinitionDiet preferences reported by the patient.
Cardinality0...0
TypeCodeableConcept
Binding

Medical, cultural or ethical food preferences to help with catering requirements.

EncounterDiet (example)
Requirements

Used to track patient's diet restrictions and/or preference. For a complete description of the nutrition needs of a patient during their stay, one should use the nutritionOrder resource which links to Encounter.

Comments

For example, a patient may request both a dairy-free and nut-free diet preference (not mutually exclusive).

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2: PV1-38
  • rim: .outboundRelationship[typeCode=COMP].target[classCode=SBADM, moodCode=EVN, code="diet"]
Encounter.specialArrangement
DefinitionAny special requests that have been made for this encounter, such as the provision of specific equipment or other things.
Cardinality0...0
TypeCodeableConcept
Binding

Special arrangements.

SpecialArrangements (preferred)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2: PV1-15 / OBR-30 / OBR-43
  • rim: .specialArrangementCode
Encounter.specialCourtesy
DefinitionSpecial courtesies that may be provided to the patient during the encounter (VIP, board member, professional courtesy).
Cardinality0...0
TypeCodeableConcept
Binding

Special courtesies.

SpecialCourtesy (preferred)
Comments

Although the specialCourtesy property can contain values like VIP, the purpose of this field is intended to be used for flagging additional benefits that might occur for the patient during the encounter.

It could include things like the patient is to have a private room, special room features, receive a friendly visit from hospital adminisitration, or should be briefed on treatment by senior staff during the stay.

It is not specifically intended to be used for securing the specific record - that is the purpose of the security meta tag, and where appropriate, both fields could be used.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2: PV1-16
  • rim: .specialCourtesiesCode
Encounter.admission
DefinitionDetails about the stay during which a healthcare service is provided. This does not describe the event of admitting the patient, but rather any information that is relevant from the time of admittance until the time of discharge.
Cardinality0...1
TypeBackboneElement
Comments

An Encounter may cover more than just the inpatient stay. Contexts such as outpatients, community clinics, and aged care facilities are also included.

The duration recorded in the period of this encounter covers the entire scope of this admission record.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: .outboundRelationship[typeCode=COMP].target[classCode=ENC, moodCode=EVN]
Encounter.admission.id
DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Mappings
  • rim: n/a
Encounter.admission.extension
DefinitionMay 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 managable, 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.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

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.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.admission.modifierExtension
DefinitionMay 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 managable, 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).
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

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.

Comments

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.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.admission.preAdmissionIdentifier
DefinitionPre-admission identifier.
Cardinality0...1
TypeIdentifier
Comments

The rules of the identifier.type determine if a check digit is part of the ID value or sent separately, such as through the checkDigit extension.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ident-1: Identifier with no value has limited utility. If communicating that an identifier value has been suppressed or missing, the value element SHOULD be present with an extension indicating the missing semantic - e.g. data-absent-reason
    value.exists()
Mappings
  • rim: n/a
  • v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
  • rim: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
  • servd: Identifier
  • v2: PV1-5
  • rim: .id
Encounter.admission.origin
DefinitionThe location/organization from which the patient came before admission.
Cardinality0...1
TypeReference(Location | Organization)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolvable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.exists() implies (reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) or (reference='#' and %rootResource!=%resource))
  • ref-2: At least one of reference, identifier and display SHALL be present (unless an extension is provided).
    reference.exists() or identifier.exists() or display.exists() or extension.exists()
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim: .participation[typeCode=ORG].role
Encounter.admission.admitSource
DefinitionFrom where patient was admitted (physician referral, transfer).
Cardinality0...1
TypeCodeableConcept
Binding

From where the patient was admitted.

AdmitSource (preferred)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2: PV1-14
  • rim: .admissionReferralSourceCode
Encounter.admission.reAdmission
DefinitionIndicates that this encounter is directly related to a prior admission, often because the conditions addressed in the prior admission were not fully addressed.
Cardinality1...1
TypeCodeableConcept
Binding

The reason for re-admission of this admission encounter.

http://terminology.hl7.org/ValueSet/v2-0092 (example)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2: PV1-13
Encounter.admission.destination
DefinitionLocation/organization to which the patient is discharged.
Cardinality0...1
TypeReference(Location | Organization)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolvable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.exists() implies (reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) or (reference='#' and %rootResource!=%resource))
  • ref-2: At least one of reference, identifier and display SHALL be present (unless an extension is provided).
    reference.exists() or identifier.exists() or display.exists() or extension.exists()
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2: PV1-37
  • rim: .participation[typeCode=DST]
Encounter.admission.dischargeDisposition
DefinitionCategory or kind of location after discharge.
Cardinality0...1
TypeCodeableConcept
Binding

Discharge Disposition.

DischargeDisposition (example)
Comments

Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2: PV1-36
  • rim: .dischargeDispositionCode
Encounter.location
DefinitionList of locations where the patient has been during this encounter.
Cardinality1...*
TypeBackboneElement
Comments

Virtual encounters can be recorded in the Encounter by specifying a location reference to a location of type "kind" such as "client's home" and an encounter.class = "virtual".

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: .participation[typeCode=LOC]
Encounter.location.id
DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Cardinality0...1
Typestring
Mappings
  • rim: n/a
Encounter.location.extension
DefinitionMay 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 managable, 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.
Cardinality0...*
TypeExtension
Aliasextensions, user content
Comments

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.

SlicingUnordered, Open, by url(Value)
Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.location.modifierExtension
DefinitionMay 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 managable, 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).
Cardinality0...*
TypeExtension
ModifierTrue
SummaryTrue
Aliasextensions, user content, modifiers
Requirements

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.

Comments

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.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
Encounter.location.location
DefinitionThe location where the encounter takes place.
Cardinality1...1
TypeReference(Location)
Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolvable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.exists() implies (reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) or (reference='#' and %rootResource!=%resource))
  • ref-2: At least one of reference, identifier and display SHALL be present (unless an extension is provided).
    reference.exists() or identifier.exists() or display.exists() or extension.exists()
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • workflow: Event.location
  • w5: FiveWs.where[x]
  • v2: PV1-3 / PV1-6 / PV1-11 / PV1-42 / PV1-43
  • rim: .role
Encounter.location.status
DefinitionThe status of the participants' presence at the specified location during the period specified. If the participant is no longer at the location, then the period will have an end date/time.
Cardinality0...1
Typecode
Binding

The status of the location.

EncounterLocationStatus (required)
Comments

When the patient is no longer active at a location, then the period end date is entered, and the status may be changed to completed.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • rim: .role.statusCode
Encounter.location.form
DefinitionThis will be used to specify the required levels (bed/ward/room/etc.) desired to be recorded to simplify either messaging or query.
Cardinality0...1
TypeCodeableConcept
Binding

Physical form of the location.

LocationForm (example)
Comments

This information is de-normalized from the Location resource to support the easier understanding of the encounter resource and processing in messaging or query.

There may be many levels in the hierachy, and this may only pic specific levels that are required for a specific usage scenario.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
Encounter.location.period
DefinitionTime period during which the patient was present at the location.
Cardinality0...1
TypePeriod
Comments

A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times").

Period is not used for a duration (a measure of elapsed time). See Duration.

Invariants
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • per-1: If present, start SHALL have a lower or equal value than end
    start.hasValue().not() or end.hasValue().not() or (start.lowBoundary() <= end.highBoundary())
Mappings
  • rim: n/a
  • v2: DR
  • rim: IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • rim: .time
This is the resource in XML:
<StructureDefinition xmlns="http://hl7.org/fhir">
    <url value="https://luxith-etab.org/fhir/StructureDefinition/lu/LabToLab/EncounterProfile" />
    <name value="EncounterProfile" />
    <status value="draft" />
    <fhirVersion value="5.0.0" />
    <kind value="resource" />
    <abstract value="false" />
    <type value="Encounter" />
    <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Encounter" />
    <derivation value="constraint" />
    <differential>
        <element id="Encounter.identifier">
            <path value="Encounter.identifier" />
            <min value="1" />
            <max value="1" />
        </element>
        <element id="Encounter.identifier.type.text">
            <path value="Encounter.identifier.type.text" />
            <min value="1" />
        </element>
        <element id="Encounter.class">
            <path value="Encounter.class" />
            <min value="1" />
            <max value="1" />
        </element>
        <element id="Encounter.priority">
            <path value="Encounter.priority" />
            <max value="0" />
        </element>
        <element id="Encounter.type">
            <path value="Encounter.type" />
            <min value="1" />
            <max value="1" />
        </element>
        <element id="Encounter.serviceType">
            <path value="Encounter.serviceType" />
            <max value="0" />
        </element>
        <element id="Encounter.episodeOfCare">
            <path value="Encounter.episodeOfCare" />
            <max value="0" />
        </element>
        <element id="Encounter.partOf">
            <path value="Encounter.partOf" />
            <max value="0" />
        </element>
        <element id="Encounter.participant.actor">
            <path value="Encounter.participant.actor" />
            <type>
                <code value="Reference" />
                <targetProfile value="https://luxith-etab.org/fhir/StructureDefinition/lu/CFBPractitioner" />
            </type>
        </element>
        <element id="Encounter.virtualService">
            <path value="Encounter.virtualService" />
            <max value="0" />
        </element>
        <element id="Encounter.plannedStartDate">
            <path value="Encounter.plannedStartDate" />
            <min value="1" />
        </element>
        <element id="Encounter.length">
            <path value="Encounter.length" />
            <max value="0" />
        </element>
        <element id="Encounter.diagnosis">
            <path value="Encounter.diagnosis" />
            <max value="0" />
        </element>
        <element id="Encounter.dietPreference">
            <path value="Encounter.dietPreference" />
            <max value="0" />
        </element>
        <element id="Encounter.specialArrangement">
            <path value="Encounter.specialArrangement" />
            <max value="0" />
        </element>
        <element id="Encounter.specialCourtesy">
            <path value="Encounter.specialCourtesy" />
            <max value="0" />
        </element>
        <element id="Encounter.admission.reAdmission">
            <path value="Encounter.admission.reAdmission" />
            <min value="1" />
        </element>
        <element id="Encounter.location">
            <path value="Encounter.location" />
            <min value="1" />
        </element>
    </differential>
</StructureDefinition>
This is the resource in JSON:
{
    "resourceType": "StructureDefinition",
    "url": "https://luxith-etab.org/fhir/StructureDefinition/lu/LabToLab/EncounterProfile",
    "name": "EncounterProfile",
    "status": "draft",
    "fhirVersion": "5.0.0",
    "kind": "resource",
    "abstract": false,
    "type": "Encounter",
    "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Encounter",
    "derivation": "constraint",
    "differential": {
        "element":  [
            {
                "id": "Encounter.identifier",
                "path": "Encounter.identifier",
                "min": 1,
                "max": "1"
            },
            {
                "id": "Encounter.identifier.type.text",
                "path": "Encounter.identifier.type.text",
                "min": 1
            },
            {
                "id": "Encounter.class",
                "path": "Encounter.class",
                "min": 1,
                "max": "1"
            },
            {
                "id": "Encounter.priority",
                "path": "Encounter.priority",
                "max": "0"
            },
            {
                "id": "Encounter.type",
                "path": "Encounter.type",
                "min": 1,
                "max": "1"
            },
            {
                "id": "Encounter.serviceType",
                "path": "Encounter.serviceType",
                "max": "0"
            },
            {
                "id": "Encounter.episodeOfCare",
                "path": "Encounter.episodeOfCare",
                "max": "0"
            },
            {
                "id": "Encounter.partOf",
                "path": "Encounter.partOf",
                "max": "0"
            },
            {
                "id": "Encounter.participant.actor",
                "path": "Encounter.participant.actor",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "https://luxith-etab.org/fhir/StructureDefinition/lu/CFBPractitioner"
                        ]
                    }
                ]
            },
            {
                "id": "Encounter.virtualService",
                "path": "Encounter.virtualService",
                "max": "0"
            },
            {
                "id": "Encounter.plannedStartDate",
                "path": "Encounter.plannedStartDate",
                "min": 1
            },
            {
                "id": "Encounter.length",
                "path": "Encounter.length",
                "max": "0"
            },
            {
                "id": "Encounter.diagnosis",
                "path": "Encounter.diagnosis",
                "max": "0"
            },
            {
                "id": "Encounter.dietPreference",
                "path": "Encounter.dietPreference",
                "max": "0"
            },
            {
                "id": "Encounter.specialArrangement",
                "path": "Encounter.specialArrangement",
                "max": "0"
            },
            {
                "id": "Encounter.specialCourtesy",
                "path": "Encounter.specialCourtesy",
                "max": "0"
            },
            {
                "id": "Encounter.admission.reAdmission",
                "path": "Encounter.admission.reAdmission",
                "min": 1
            },
            {
                "id": "Encounter.location",
                "path": "Encounter.location",
                "min": 1
            }
        ]
    }
}