Qi-Core Implementation Guide (Release 1)

D.4.1 StructureDefinition: qicore-encounter

Examples:

Encounter with Patient Example

D.4.1.1 Formal Views of Profile Content

The official URL for this profile is:

http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter

This profile builds on Encounter.

This profile was published on Mon Aug 21 00:00:00 UTC 2017 as a draft by Health Level Seven International (Clinical Quality Information - QICore).

Description of Profiles, Differentials, and Snapshots.

Summary

Must-Support: 11 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

NameFlagsCard.TypeDescription & Constraintsdoco
.. Encounter I0..*An 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: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... encounter-reasonCancelled I0..1CodeableConceptExtension
URL: http://hl7.org/fhir/StructureDefinition/encounter-reasonCancelled
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierIdentifier(s) by which this encounter is known
... status ?!SΣ1..1codeplanned | arrived | triaged | in-progress | onleave | finished | cancelled +
Binding: EncounterStatus (required)
... statusHistory I0..*BackboneElementList of past encounter statuses
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... status 1..1codeplanned | arrived | triaged | in-progress | onleave | finished | cancelled +
Binding: EncounterStatus (required)
.... period 1..1PeriodThe time that the episode was in the specified status
... class SΣ0..1Codinginpatient | outpatient | ambulatory | emergency +
Binding: ActEncounterCode (preferred)
... classHistory I0..*BackboneElementList of past encounter classes
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... class 1..1Codinginpatient | outpatient | ambulatory | emergency +
Binding: ActEncounterCode (extensible)
.... period 1..1PeriodThe time that the episode was in the specified class
... type SΣ0..*CodeableConceptSpecific type of encounter
Binding: EncounterType (example)
... priority 0..1CodeableConceptIndicates the urgency of the encounter
Binding: SNOMED CT Priorities Codes (preferred)
... subject SΣ0..1Reference(QICore-Patient), Reference(Group)The patient ro group present at the encounter
... episodeOfCare Σ0..*Reference(EpisodeOfCare)Episode(s) of care that this encounter should be recorded against
... incomingReferral 0..*Reference(QICore-ReferralRequest)The ReferralRequest that initiated this encounter
... participant ΣI0..*BackboneElementList of participants involved in the encounter
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... type Σ0..*CodeableConceptRole of participant in encounter
Binding: ParticipantType (extensible)
.... period 0..1PeriodPeriod of time during the encounter that the participant participated
.... individual Σ0..1Reference(Practitioner), Reference(RelatedPerson)Persons involved in the encounter other than the patient
... appointment Σ0..1Reference(Appointment)The appointment that scheduled this encounter
... period S0..1PeriodThe start and end time of the encounter
... length S0..1DurationQuantity of time the encounter lasted (less time absent)
... reason SΣ0..*CodeableConceptReason the encounter takes place (code)
Binding: Encounter Reason Codes (preferred)
... diagnosis ΣI0..*BackboneElementThe list of diagnosis relevant to this encounter
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... condition 1..1Reference(Condition), Reference(Procedure)Reason the encounter takes place (resource)
.... role 0..1CodeableConceptRole that this diagnosis has within the encounter (e.g. admission, billing, discharge …)
Binding: DiagnosisRole (preferred)
.... rank 0..1positiveIntRanking of the diagnosis (for each role type)
... account 0..*Reference(Account)The set of accounts that may be used for billing for this Encounter
... hospitalization I0..1BackboneElementDetails about the admission to a healthcare service
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... preAdmissionIdentifier 0..1IdentifierPre-admission identifier
.... origin 0..1Reference(Location)The location from which the patient came before admission
.... admitSource S0..1CodeableConceptFrom where patient was admitted (physician referral, transfer)
Binding: AdmitSource (preferred)
.... reAdmission S0..1CodeableConceptThe type of hospital re-admission that has occurred (if any). If the value is absent, then this is not identified as a readmission
Binding: v2 Re-Admission Indicator (example)
.... dietPreference 0..*CodeableConceptDiet preferences reported by the patient
Binding: Diet (example)
.... specialCourtesy 0..*CodeableConceptSpecial courtesies (VIP, board member)
Binding: SpecialCourtesy (preferred)
.... specialArrangement 0..*CodeableConceptWheelchair, translator, stretcher, etc.
Binding: SpecialArrangements (preferred)
.... destination 0..1Reference(Location)Location to which the patient is discharged
.... dischargeDisposition S0..1CodeableConceptCategory or kind of location after discharge
Binding: DischargeDisposition (example)
... location I0..*BackboneElementList of locations where the patient has been
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... location 1..1Reference(Location)Location the encounter takes place
.... status 0..1codeplanned | active | reserved | completed
Binding: EncounterLocationStatus (required)
.... period 0..1PeriodTime period during which the patient was present at the location
... serviceProvider S0..1Reference(Organization)The custodian organization of this Encounter record
... partOf 0..1Reference(Encounter)Another Encounter this encounter is part of

doco Documentation for this format

Summary

Must-Support: 11 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Encounter I0..*An 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: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... encounter-reasonCancelled I0..1CodeableConceptExtension
URL: http://hl7.org/fhir/StructureDefinition/encounter-reasonCancelled
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierIdentifier(s) by which this encounter is known
... status ?!SΣ1..1codeplanned | arrived | triaged | in-progress | onleave | finished | cancelled +
Binding: EncounterStatus (required)
... statusHistory I0..*BackboneElementList of past encounter statuses
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... status 1..1codeplanned | arrived | triaged | in-progress | onleave | finished | cancelled +
Binding: EncounterStatus (required)
.... period 1..1PeriodThe time that the episode was in the specified status
... class SΣ0..1Codinginpatient | outpatient | ambulatory | emergency +
Binding: ActEncounterCode (preferred)
... classHistory I0..*BackboneElementList of past encounter classes
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... class 1..1Codinginpatient | outpatient | ambulatory | emergency +
Binding: ActEncounterCode (extensible)
.... period 1..1PeriodThe time that the episode was in the specified class
... type SΣ0..*CodeableConceptSpecific type of encounter
Binding: EncounterType (example)
... priority 0..1CodeableConceptIndicates the urgency of the encounter
Binding: SNOMED CT Priorities Codes (preferred)
... subject SΣ0..1Reference(QICore-Patient), Reference(Group)The patient ro group present at the encounter
... episodeOfCare Σ0..*Reference(EpisodeOfCare)Episode(s) of care that this encounter should be recorded against
... incomingReferral 0..*Reference(QICore-ReferralRequest)The ReferralRequest that initiated this encounter
... participant ΣI0..*BackboneElementList of participants involved in the encounter
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... type Σ0..*CodeableConceptRole of participant in encounter
Binding: ParticipantType (extensible)
.... period 0..1PeriodPeriod of time during the encounter that the participant participated
.... individual Σ0..1Reference(Practitioner), Reference(RelatedPerson)Persons involved in the encounter other than the patient
... appointment Σ0..1Reference(Appointment)The appointment that scheduled this encounter
... period S0..1PeriodThe start and end time of the encounter
... length S0..1DurationQuantity of time the encounter lasted (less time absent)
... reason SΣ0..*CodeableConceptReason the encounter takes place (code)
Binding: Encounter Reason Codes (preferred)
... diagnosis ΣI0..*BackboneElementThe list of diagnosis relevant to this encounter
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... condition 1..1Reference(Condition), Reference(Procedure)Reason the encounter takes place (resource)
.... role 0..1CodeableConceptRole that this diagnosis has within the encounter (e.g. admission, billing, discharge …)
Binding: DiagnosisRole (preferred)
.... rank 0..1positiveIntRanking of the diagnosis (for each role type)
... account 0..*Reference(Account)The set of accounts that may be used for billing for this Encounter
... hospitalization I0..1BackboneElementDetails about the admission to a healthcare service
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... preAdmissionIdentifier 0..1IdentifierPre-admission identifier
.... origin 0..1Reference(Location)The location from which the patient came before admission
.... admitSource S0..1CodeableConceptFrom where patient was admitted (physician referral, transfer)
Binding: AdmitSource (preferred)
.... reAdmission S0..1CodeableConceptThe type of hospital re-admission that has occurred (if any). If the value is absent, then this is not identified as a readmission
Binding: v2 Re-Admission Indicator (example)
.... dietPreference 0..*CodeableConceptDiet preferences reported by the patient
Binding: Diet (example)
.... specialCourtesy 0..*CodeableConceptSpecial courtesies (VIP, board member)
Binding: SpecialCourtesy (preferred)
.... specialArrangement 0..*CodeableConceptWheelchair, translator, stretcher, etc.
Binding: SpecialArrangements (preferred)
.... destination 0..1Reference(Location)Location to which the patient is discharged
.... dischargeDisposition S0..1CodeableConceptCategory or kind of location after discharge
Binding: DischargeDisposition (example)
... location I0..*BackboneElementList of locations where the patient has been
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... location 1..1Reference(Location)Location the encounter takes place
.... status 0..1codeplanned | active | reserved | completed
Binding: EncounterLocationStatus (required)
.... period 0..1PeriodTime period during which the patient was present at the location
... serviceProvider S0..1Reference(Organization)The custodian organization of this Encounter record
... partOf 0..1Reference(Encounter)Another Encounter this encounter is part of

doco Documentation for this format

 

D.4.1.2 Terminology Bindings

Terminology Bindings

PathNameConformanceValueSet
Encounter.languageCommon LanguagesextensibleCommon Languages
Encounter.statusEncounterStatusrequiredEncounterStatus
Encounter.statusHistory.statusEncounterStatusrequiredEncounterStatus
Encounter.classActEncounterCodepreferredActEncounterCode
Encounter.classHistory.classActEncounterCodeextensibleActEncounterCode
Encounter.typeEncounterTypeexampleEncounterType
Encounter.prioritySNOMED CT Priorities CodespreferredSNOMED CT Priorities Codes
Encounter.participant.typeParticipantTypeextensibleParticipantType
Encounter.reasonEncounter Reason CodespreferredEncounter Reason Codes
Encounter.diagnosis.roleDiagnosisRolepreferredDiagnosisRole
Encounter.hospitalization.admitSourceAdmitSourcepreferredAdmitSource
Encounter.hospitalization.reAdmissionv2 Re-Admission Indicatorexamplev2 Re-Admission Indicator
Encounter.hospitalization.dietPreferenceDietexampleDiet
Encounter.hospitalization.specialCourtesySpecialCourtesypreferredSpecialCourtesy
Encounter.hospitalization.specialArrangementSpecialArrangementspreferredSpecialArrangements
Encounter.hospitalization.dischargeDispositionDischargeDispositionexampleDischargeDisposition
Encounter.location.statusEncounterLocationStatusrequiredEncounterLocationStatus

D.4.1.3 Constraints

Constraints

IdPathDetailsRequirements
dom-2EncounterIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-1EncounterIf the resource is contained in another resource, it SHALL NOT contain any narrative
: contained.text.empty()
dom-4EncounterIf 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-3EncounterIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
: contained.where(('#'+id in %resource.descendants().reference).not()).empty()
ele-1Encounter.extensionAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ext-1Encounter.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Encounter.extensionAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ext-1Encounter.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Encounter.statusHistoryAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1Encounter.classHistoryAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1Encounter.participantAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1Encounter.diagnosisAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1Encounter.hospitalizationAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1Encounter.locationAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())