HL7 FHIR Implementation Guide: Rwanda HIV
0.1.0 - STU1 International flag

HL7 FHIR Implementation Guide: Rwanda HIV, published by Jembi Health Systems. This is not an authorized publication; it is the continuous build for version 0.1.0). This version is based on the current content of https://github.com/openhie/Rwanda-HIV and changes regularly. See the Directory of published versions

Resource Profile: Target Facility Encounter

Official URL: http://openhie.org/fhir/rwanda-hiv/StructureDefinition/target-facility-encounter Version: 0.1.0
Active as of 2023-09-15 Computable Name: TargetFacilityEncounter

Represents the current facility at which the patient is receiving health services.

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from Encounter

NameFlagsCard.TypeDescription & Constraintsdoco
.. Encounter 0..*EncounterAn interaction during which services are provided to the patient
... class 1..1CodeableConceptClassification of patient encounter context - e.g. Inpatient, outpatient
... subject 1..1Reference(Patient | Group)The patient or group related to this encounter
... actualPeriod 1..1PeriodThe actual start and end time of the encounter

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Encounter 0..*EncounterAn interaction during which services are provided to the patient
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... contained 0..*ResourceContained, inline Resources
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... class Σ1..1CodeableConceptClassification of patient encounter context - e.g. Inpatient, outpatient
Binding: Encounter class (preferred): Classification of the encounter.


... subject Σ1..1Reference(Patient | Group)The patient or group related to this encounter
... actualPeriod 1..1PeriodThe actual start and end time of the encounter

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Encounter.statusrequiredEncounterStatus
Encounter.classpreferredEncounterClass

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorEncounterIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorEncounterIf 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-4errorEncounterIf 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-5errorEncounterIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceEncounterA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Encounter 0..*EncounterAn interaction during which services are provided to the patient
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: AllLanguages (required): IETF language tag for a human language

... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierIdentifier(s) by which this encounter is known
... status ?!Σ1..1codeplanned | in-progress | on-hold | discharged | completed | cancelled | discontinued | entered-in-error | unknown
Binding: EncounterStatus (required): Current state of the encounter.

... class Σ1..1CodeableConceptClassification of patient encounter context - e.g. Inpatient, outpatient
Binding: Encounter class (preferred): Classification of the encounter.


... priority 0..1CodeableConceptIndicates the urgency of the encounter
Binding: ActPriority (example): Indicates the urgency of the encounter.

... type Σ0..*CodeableConceptSpecific type of encounter (e.g. e-mail consultation, surgical day-care, ...)
Binding: EncounterType (example): A specific code indicating type of service provided


... serviceType Σ0..*CodeableReference(HealthcareService)Specific type of service
Binding: ServiceType (example): Broad categorization of the service that is to be provided.


... subject Σ1..1Reference(Patient | Group)The patient or group related to this encounter
... subjectStatus 0..1CodeableConceptThe current status of the subject in relation to the Encounter
Binding: EncounterSubjectStatus (example): Current status of the subject within the encounter.

... episodeOfCare Σ0..*Reference(EpisodeOfCare)Episode(s) of care that this encounter should be recorded against
... basedOn 0..*Reference(CarePlan | DeviceRequest | MedicationRequest | ServiceRequest)The request that initiated this encounter
... careTeam 0..*Reference(CareTeam)The group(s) that are allocated to participate in this encounter
... partOf 0..1Reference(Encounter)Another Encounter this encounter is part of
... serviceProvider 0..1Reference(Organization)The organization (facility) responsible for this encounter
... participant ΣC0..*BackboneElementList of participants involved in the encounter
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... type ΣC0..*CodeableConceptRole of participant in encounter
Binding: ParticipantType (extensible): Role of participant in encounter.


.... period 0..1PeriodPeriod of time during the encounter that the participant participated
.... actor ΣC0..1Reference(Patient | Group | RelatedPerson | Practitioner | PractitionerRole | Device | HealthcareService)The individual, device, or service participating in the encounter
... appointment Σ0..*Reference(Appointment)The appointment that scheduled this encounter
... virtualService 0..*VirtualServiceDetailConnection details of a virtual service (e.g. conference call)
... actualPeriod 1..1PeriodThe actual start and end time of the encounter
... plannedStartDate 0..1dateTimeThe planned start date/time (or admission date) of the encounter
... plannedEndDate 0..1dateTimeThe planned end date/time (or discharge date) of the encounter
... length 0..1DurationActual quantity of time the encounter lasted (less time absent)
... reason Σ0..*BackboneElementThe list of medical reasons that are expected to be addressed during the episode of care
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... use Σ0..*CodeableConceptWhat the reason value should be used for/as
Binding: EncounterReasonUse (example)
.... value Σ0..*CodeableReference(Condition | DiagnosticReport | Observation | ImmunizationRecommendation | Procedure)Reason the encounter takes place (core or reference)
Binding: EncounterReasonCodes (preferred): Reason why the encounter takes place.


... diagnosis Σ0..*BackboneElementThe list of diagnosis relevant to this encounter
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... condition Σ0..*CodeableReference(Condition)The diagnosis relevant to the encounter
Binding: ConditionProblemDiagnosisCodes (example)
.... use 0..*CodeableConceptRole that this diagnosis has within the encounter (e.g. admission, billing, discharge …)
Binding: EncounterDiagnosisUse (preferred): The type of diagnosis this condition represents.


... account 0..*Reference(Account)The set of accounts that may be used for billing for this Encounter
... dietPreference 0..*CodeableConceptDiet preferences reported by the patient
Binding: EncounterDiet (example): Medical, cultural or ethical food preferences to help with catering requirements.


... specialArrangement 0..*CodeableConceptWheelchair, translator, stretcher, etc
Binding: SpecialArrangements (preferred): Special arrangements.


... specialCourtesy 0..*CodeableConceptSpecial courtesies (VIP, board member)
Binding: SpecialCourtesy (preferred): Special courtesies.


... admission 0..1BackboneElementDetails about the admission to a healthcare service
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... preAdmissionIdentifier 0..1IdentifierPre-admission identifier
.... origin 0..1Reference(Location | Organization)The location/organization from which the patient came before admission
.... admitSource 0..1CodeableConceptFrom where patient was admitted (physician referral, transfer)
Binding: AdmitSource (preferred): From where the patient was admitted.

.... reAdmission 0..1CodeableConceptIndicates that the patient is being re-admitted
Binding: hl7VS-re-admissionIndicator (example): The reason for re-admission of this admission encounter.

.... destination 0..1Reference(Location | Organization)Location/organization to which the patient is discharged
.... dischargeDisposition 0..1CodeableConceptCategory or kind of location after discharge
Binding: DischargeDisposition (example): Discharge Disposition.

... location 0..*BackboneElementList of locations where the patient has been
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... location 1..1Reference(Location)Location the encounter takes place
.... status 0..1codeplanned | active | reserved | completed
Binding: EncounterLocationStatus (required): The status of the location.

.... form 0..1CodeableConceptThe physical type of the location (usually the level in the location hierarchy - bed, room, ward, virtual etc.)
Binding: LocationForm (example): Physical form of the location.

.... period 0..1PeriodTime period during which the patient was present at the location

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Encounter.languagerequiredAllLanguages
Encounter.statusrequiredEncounterStatus
Encounter.classpreferredEncounterClass
Encounter.priorityexampleActPriority
Encounter.typeexampleEncounterType
Encounter.serviceTypeexampleServiceType
Encounter.subjectStatusexampleEncounterSubjectStatus
Encounter.participant.typeextensibleParticipantType
Encounter.reason.useexampleEncounterReasonUse
Encounter.reason.valuepreferredEncounterReasonCodes
Encounter.diagnosis.conditionexampleConditionProblemDiagnosisCodes
Encounter.diagnosis.usepreferredEncounterDiagnosisUse
Encounter.dietPreferenceexampleEncounterDiet
Encounter.specialArrangementpreferredSpecialArrangements
Encounter.specialCourtesypreferredSpecialCourtesy
Encounter.admission.admitSourcepreferredAdmitSource
Encounter.admission.reAdmissionexampleHl7VSReAdmissionIndicator
Encounter.admission.dischargeDispositionexampleDischargeDisposition
Encounter.location.statusrequiredEncounterLocationStatus
Encounter.location.formexampleLocationForm

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorEncounterIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorEncounterIf 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-4errorEncounterIf 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-5errorEncounterIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceEncounterA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
enc-1errorEncounter.participantA type must be provided when no explicit actor is specified
: actor.exists() or type.exists()
enc-2errorEncounter.participantA type cannot be provided for a patient or group participant
: actor.exists(resolve() is Patient or resolve() is Group) implies type.exists().not()
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Encounter

Summary

Mandatory: 3 elements

Differential View

This structure is derived from Encounter

NameFlagsCard.TypeDescription & Constraintsdoco
.. Encounter 0..*EncounterAn interaction during which services are provided to the patient
... class 1..1CodeableConceptClassification of patient encounter context - e.g. Inpatient, outpatient
... subject 1..1Reference(Patient | Group)The patient or group related to this encounter
... actualPeriod 1..1PeriodThe actual start and end time of the encounter

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Encounter 0..*EncounterAn interaction during which services are provided to the patient
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... contained 0..*ResourceContained, inline Resources
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... class Σ1..1CodeableConceptClassification of patient encounter context - e.g. Inpatient, outpatient
Binding: Encounter class (preferred): Classification of the encounter.


... subject Σ1..1Reference(Patient | Group)The patient or group related to this encounter
... actualPeriod 1..1PeriodThe actual start and end time of the encounter

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Encounter.statusrequiredEncounterStatus
Encounter.classpreferredEncounterClass

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorEncounterIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorEncounterIf 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-4errorEncounterIf 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-5errorEncounterIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceEncounterA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Encounter 0..*EncounterAn interaction during which services are provided to the patient
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: AllLanguages (required): IETF language tag for a human language

... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierIdentifier(s) by which this encounter is known
... status ?!Σ1..1codeplanned | in-progress | on-hold | discharged | completed | cancelled | discontinued | entered-in-error | unknown
Binding: EncounterStatus (required): Current state of the encounter.

... class Σ1..1CodeableConceptClassification of patient encounter context - e.g. Inpatient, outpatient
Binding: Encounter class (preferred): Classification of the encounter.


... priority 0..1CodeableConceptIndicates the urgency of the encounter
Binding: ActPriority (example): Indicates the urgency of the encounter.

... type Σ0..*CodeableConceptSpecific type of encounter (e.g. e-mail consultation, surgical day-care, ...)
Binding: EncounterType (example): A specific code indicating type of service provided


... serviceType Σ0..*CodeableReference(HealthcareService)Specific type of service
Binding: ServiceType (example): Broad categorization of the service that is to be provided.


... subject Σ1..1Reference(Patient | Group)The patient or group related to this encounter
... subjectStatus 0..1CodeableConceptThe current status of the subject in relation to the Encounter
Binding: EncounterSubjectStatus (example): Current status of the subject within the encounter.

... episodeOfCare Σ0..*Reference(EpisodeOfCare)Episode(s) of care that this encounter should be recorded against
... basedOn 0..*Reference(CarePlan | DeviceRequest | MedicationRequest | ServiceRequest)The request that initiated this encounter
... careTeam 0..*Reference(CareTeam)The group(s) that are allocated to participate in this encounter
... partOf 0..1Reference(Encounter)Another Encounter this encounter is part of
... serviceProvider 0..1Reference(Organization)The organization (facility) responsible for this encounter
... participant ΣC0..*BackboneElementList of participants involved in the encounter
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... type ΣC0..*CodeableConceptRole of participant in encounter
Binding: ParticipantType (extensible): Role of participant in encounter.


.... period 0..1PeriodPeriod of time during the encounter that the participant participated
.... actor ΣC0..1Reference(Patient | Group | RelatedPerson | Practitioner | PractitionerRole | Device | HealthcareService)The individual, device, or service participating in the encounter
... appointment Σ0..*Reference(Appointment)The appointment that scheduled this encounter
... virtualService 0..*VirtualServiceDetailConnection details of a virtual service (e.g. conference call)
... actualPeriod 1..1PeriodThe actual start and end time of the encounter
... plannedStartDate 0..1dateTimeThe planned start date/time (or admission date) of the encounter
... plannedEndDate 0..1dateTimeThe planned end date/time (or discharge date) of the encounter
... length 0..1DurationActual quantity of time the encounter lasted (less time absent)
... reason Σ0..*BackboneElementThe list of medical reasons that are expected to be addressed during the episode of care
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... use Σ0..*CodeableConceptWhat the reason value should be used for/as
Binding: EncounterReasonUse (example)
.... value Σ0..*CodeableReference(Condition | DiagnosticReport | Observation | ImmunizationRecommendation | Procedure)Reason the encounter takes place (core or reference)
Binding: EncounterReasonCodes (preferred): Reason why the encounter takes place.


... diagnosis Σ0..*BackboneElementThe list of diagnosis relevant to this encounter
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... condition Σ0..*CodeableReference(Condition)The diagnosis relevant to the encounter
Binding: ConditionProblemDiagnosisCodes (example)
.... use 0..*CodeableConceptRole that this diagnosis has within the encounter (e.g. admission, billing, discharge …)
Binding: EncounterDiagnosisUse (preferred): The type of diagnosis this condition represents.


... account 0..*Reference(Account)The set of accounts that may be used for billing for this Encounter
... dietPreference 0..*CodeableConceptDiet preferences reported by the patient
Binding: EncounterDiet (example): Medical, cultural or ethical food preferences to help with catering requirements.


... specialArrangement 0..*CodeableConceptWheelchair, translator, stretcher, etc
Binding: SpecialArrangements (preferred): Special arrangements.


... specialCourtesy 0..*CodeableConceptSpecial courtesies (VIP, board member)
Binding: SpecialCourtesy (preferred): Special courtesies.


... admission 0..1BackboneElementDetails about the admission to a healthcare service
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... preAdmissionIdentifier 0..1IdentifierPre-admission identifier
.... origin 0..1Reference(Location | Organization)The location/organization from which the patient came before admission
.... admitSource 0..1CodeableConceptFrom where patient was admitted (physician referral, transfer)
Binding: AdmitSource (preferred): From where the patient was admitted.

.... reAdmission 0..1CodeableConceptIndicates that the patient is being re-admitted
Binding: hl7VS-re-admissionIndicator (example): The reason for re-admission of this admission encounter.

.... destination 0..1Reference(Location | Organization)Location/organization to which the patient is discharged
.... dischargeDisposition 0..1CodeableConceptCategory or kind of location after discharge
Binding: DischargeDisposition (example): Discharge Disposition.

... location 0..*BackboneElementList of locations where the patient has been
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... location 1..1Reference(Location)Location the encounter takes place
.... status 0..1codeplanned | active | reserved | completed
Binding: EncounterLocationStatus (required): The status of the location.

.... form 0..1CodeableConceptThe physical type of the location (usually the level in the location hierarchy - bed, room, ward, virtual etc.)
Binding: LocationForm (example): Physical form of the location.

.... period 0..1PeriodTime period during which the patient was present at the location

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Encounter.languagerequiredAllLanguages
Encounter.statusrequiredEncounterStatus
Encounter.classpreferredEncounterClass
Encounter.priorityexampleActPriority
Encounter.typeexampleEncounterType
Encounter.serviceTypeexampleServiceType
Encounter.subjectStatusexampleEncounterSubjectStatus
Encounter.participant.typeextensibleParticipantType
Encounter.reason.useexampleEncounterReasonUse
Encounter.reason.valuepreferredEncounterReasonCodes
Encounter.diagnosis.conditionexampleConditionProblemDiagnosisCodes
Encounter.diagnosis.usepreferredEncounterDiagnosisUse
Encounter.dietPreferenceexampleEncounterDiet
Encounter.specialArrangementpreferredSpecialArrangements
Encounter.specialCourtesypreferredSpecialCourtesy
Encounter.admission.admitSourcepreferredAdmitSource
Encounter.admission.reAdmissionexampleHl7VSReAdmissionIndicator
Encounter.admission.dischargeDispositionexampleDischargeDisposition
Encounter.location.statusrequiredEncounterLocationStatus
Encounter.location.formexampleLocationForm

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorEncounterIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorEncounterIf 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-4errorEncounterIf 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-5errorEncounterIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceEncounterA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
enc-1errorEncounter.participantA type must be provided when no explicit actor is specified
: actor.exists() or type.exists()
enc-2errorEncounter.participantA type cannot be provided for a patient or group participant
: actor.exists(resolve() is Patient or resolve() is Group) implies type.exists().not()
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Encounter

Summary

Mandatory: 3 elements

 

Other representations of profile: CSV, Excel, Schematron