QI-Core Implementation Guide: STU 3.2 (v3.2.0 for FHIR 3.0.1)

This page is part of the Quality Improvement Core Framework (v3.2.0: STU 3) based on FHIR R3. The current version which supercedes this version is 4.1.1. For a full list of available versions, see the Directory of published versions

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

Profile of Encounter for decision support/quality metrics. Defines the core set of elements and extensions for quality rule and measure authors.

This profile builds on US Core Encounter Profile.

This profile was published on Wed Aug 22 00:00:00 AEST 2018 as a draft by Health Level Seven, Inc. - CQI WG.

Description of Profiles, Differentials, and Snapshots.

NameFlagsCard.TypeDescription & Constraintsdoco
.. Encounter I0..*US Core Encounter Profile
... 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)
Max Binding: All Languages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... encounter-reasonCancelled I0..1CodeableConceptExplanation for cancellation
URL: http://hl7.org/fhir/StructureDefinition/encounter-reasonCancelled
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier SΣ0..*IdentifierIdentifier(s) by which this encounter is known
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ0..1codeusual | official | temp | secondary (If known)
Binding: IdentifierUse (required)
.... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible)
.... system SΣ1..1uriThe namespace for the identifier value
Example General': http://www.acme.com/identifiers/patient or urn:ietf:rfc:3986 if the Identifier.value itself is a full uri
.... value SΣ1..1stringThe value that is unique
Example General': 123456
.... period Σ0..1PeriodTime period when id is/was valid for use
.... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
... status ?!Σ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Σ1..1Codinginpatient | outpatient | ambulatory | emergency +
Binding: ActEncounterCode (extensible)
... 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Σ1..*CodeableConceptSpecific type of encounter
Binding: US Core Encounter Type (extensible)
... priority 0..1CodeableConceptIndicates the urgency of the encounter
Binding: SNOMED CT Priorities Codes (preferred)
... subject SΣ1..1Reference(QICore-Patient)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 SΣ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 SΣ0..*CodeableConceptRole of participant in encounter
Binding: ParticipantType (extensible)
.... period S0..1PeriodPeriod of time during the encounter that the participant participated
.... individual SΣ0..1Reference(QICore-Practitioner | QICore-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 SΣ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 S1..1Reference(QICore-Condition | QICore-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 SI0..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(QICore-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 SI0..*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 S1..1Reference(QICore-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(QICore-Organization)The custodian organization of this Encounter record
... partOf 0..1Reference(QICore-Encounter)Another Encounter this encounter is part of

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Encounter I0..*US Core Encounter Profile
... 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)
Max Binding: All Languages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... encounter-reasonCancelled I0..1CodeableConceptExplanation for cancellation
URL: http://hl7.org/fhir/StructureDefinition/encounter-reasonCancelled
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier SΣ0..*IdentifierIdentifier(s) by which this encounter is known
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ0..1codeusual | official | temp | secondary (If known)
Binding: IdentifierUse (required)
.... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible)
.... system SΣ1..1uriThe namespace for the identifier value
Example General': http://www.acme.com/identifiers/patient or urn:ietf:rfc:3986 if the Identifier.value itself is a full uri
.... value SΣ1..1stringThe value that is unique
Example General': 123456
.... period Σ0..1PeriodTime period when id is/was valid for use
.... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
... status ?!Σ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Σ1..1Codinginpatient | outpatient | ambulatory | emergency +
Binding: ActEncounterCode (extensible)
... 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Σ1..*CodeableConceptSpecific type of encounter
Binding: US Core Encounter Type (extensible)
... priority 0..1CodeableConceptIndicates the urgency of the encounter
Binding: SNOMED CT Priorities Codes (preferred)
... subject SΣ1..1Reference(QICore-Patient)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 SΣ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 SΣ0..*CodeableConceptRole of participant in encounter
Binding: ParticipantType (extensible)
.... period S0..1PeriodPeriod of time during the encounter that the participant participated
.... individual SΣ0..1Reference(QICore-Practitioner | QICore-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 SΣ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 S1..1Reference(QICore-Condition | QICore-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 SI0..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(QICore-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 SI0..*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 S1..1Reference(QICore-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(QICore-Organization)The custodian organization of this Encounter record
... partOf 0..1Reference(QICore-Encounter)Another Encounter this encounter is part of

doco Documentation for this format

 

D.4.1.2 Terminology Bindings

Terminology Bindings

PathConformanceValueSet
Encounter.classextensibleActEncounterCode
Encounter.typeextensibleUS Core Encounter Type
Encounter.participant.typeextensibleParticipantType
Encounter.reasonpreferredEncounter Reason Codes
Encounter.hospitalization.admitSourcepreferredAdmitSource
Encounter.hospitalization.reAdmissionexamplev2 Re-Admission Indicator
Encounter.hospitalization.dischargeDispositionexampleDischargeDisposition

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