US Core Implementation Guide
7.0.0-ballot - Ballot United States of America flag

This page is part of the US Core (v7.0.0-ballot: STU7 Ballot 1) based on FHIR (HL7® FHIR® Standard) R4. The current version which supersedes this version is 6.1.0. For a full list of available versions, see the Directory of published versions

Resource Profile: US Core Encounter Profile

Official URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-encounter Version: 7.0.0-ballot
Standards status: Trial-use Maturity Level: 3 Computable Name: USCoreEncounterProfile

Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License

This profile sets minimum expectations for the Encounter resource to record, search, and fetch basic encounter information for an individual patient to promote interoperability and adoption through common implementation. It identifies which core elements, extensions, vocabularies, and value sets SHALL be present in the resource and constrains the way the elements are used when using this profile. It provides the floor for standards development for specific use cases.

Example Usage Scenarios:

The following are example usage scenarios for this profile:

  • Query for a specific patient encounter
  • Query for recent patient encounters
  • Record or update an encounter

Mandatory and Must Support Data Elements

The following data-elements must always be present (Mandatory definition) or must be supported if the data is present in the sending system (Must Support definition). They are presented below in a simple human-readable explanation. Profile specific guidance and examples are provided as well. The Formal Views below provides the formal summary, definitions, and terminology requirements.

Each Encounter Must Have:

  1. A status
  2. An classification such as inpatient, outpatient or emergency
  3. An encounter type
  4. A patient

Each Encounter Must Support:

  1. An encounter identifier
  2. Providers involved in the encounter
  3. When the encounter occurred
  4. Reason for the visit
  5. The discharge disposition
  6. Where the encounter occurred

Profile Specific Implementation Guidance:

  • To search for an encounter diagnosis, query for Condition resources that reference the Encounter of interest and have a category of encounter-diagnosis. An example search is shown in the Condition Quick Start section.
  • The Encounter resource can represent a reason using either a code with Encounter.reasonCode, or a reference with Encounter.reasonReference to Condition or other resource.
    • Although both are marked as Must Support, servers are not required to support both a code and a reference, but they SHALL support at least one of these elements.
    • The client application SHALL support both elements.
    • If Encounter.reasonReference references an Observation, it SHOULD conform to a US Core Observation if applicable. For example, a laboratory result SHOULD conform to the US Core Laboratory Result Observation Profile.
  • This profile supports where the encounter occurred. The location address can be represented by the Location referenced by Encounter.location.location or indirectly through the Organization referenced by Encounter.serviceProvider.
    • Although both are marked as Must Support, servers are not required to support both Encounter.location.location and Encounter.serviceProvider, but they SHALL support at least one of these elements.
    • The client application SHALL support both elements.

* If using Encounter.location.location it SHOULD conform to US Core Location. However, as a result of implementation feedback, it MAY reference the base FHIR Location resource. See this guidance on Referencing US Core Profiles.</div>

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
... identifier S0..*IdentifierIdentifier(s) by which this encounter is known
.... system S1..1uriThe namespace for the identifier value
.... value S1..1stringThe value that is unique
... status S1..1codeplanned | arrived | triaged | in-progress | onleave | finished | cancelled +
... class S1..1CodingClassification of patient encounter
... type S1..*CodeableConceptSpecific type of encounter
Binding: US Core Encounter Type (extensible): Valueset to describe the Encounter Type

... subject S1..1Reference(US Core Patient Profile S | Group)The patient or group present at the encounter
... participant S0..*BackboneElementList of participants involved in the encounter
.... type S0..*CodeableConceptRole of participant in encounter
.... period S0..1PeriodPeriod of time during the encounter that the participant participated
.... individual S0..1Reference(US Core Practitioner Profile S | US Core PractitionerRole Profile | US Core RelatedPerson Profile)Persons involved in the encounter other than the patient
... period S0..1PeriodThe start and end time of the encounter
... reasonCode S0..*CodeableConceptCoded reason the encounter takes place
... reasonReference S0..*Reference(US Core Condition Problems and Health Concerns Profile S | US Core Condition Encounter Diagnosis Profile S | US Core Procedure Profile | Observation | ImmunizationRecommendation)Reason the encounter takes place (reference)
... hospitalization S0..1BackboneElementDetails about the admission to a healthcare service
.... dischargeDisposition S0..1CodeableConceptCategory or kind of location after discharge
Binding: US Core Discharge Disposition (preferred): National Uniform Billing Committee, manual UB-04, UB form locator 17

... location S0..*BackboneElementList of locations where the patient has been
.... location S1..1Reference(US Core Location Profile)Location the encounter takes place
... serviceProvider S0..1Reference(US Core Organization Profile)The organization (facility) responsible for this encounter

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Encounter.typeextensibleUSCoreEncounterType
Encounter.hospitalization.dischargeDispositionpreferredUSCoreDischargeDisposition (a valid code from http://www.nubc.org/patient-discharge)
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
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier SΣ0..*IdentifierIdentifier(s) by which this encounter is known
.... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... system SΣ1..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value SΣ1..1stringThe value that is unique
Example General: 123456
... status ?!SΣ1..1codeplanned | arrived | triaged | in-progress | onleave | finished | cancelled +
Binding: EncounterStatus (required): Current state of the encounter.

... class SΣ1..1CodingClassification of patient encounter
Binding: ActEncounterCode (extensible): Classification of the encounter.

... type SΣ1..*CodeableConceptSpecific type of encounter
Binding: US Core Encounter Type (extensible): Valueset to describe the Encounter Type


... subject SΣ1..1Reference(US Core Patient Profile)The patient or group present at the encounter
... participant SΣ0..*BackboneElementList of participants involved in the encounter
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... type SΣ0..*CodeableConceptRole of participant in encounter
Binding: ParticipantType (extensible): Role of participant in encounter.


.... period S0..1PeriodPeriod of time during the encounter that the participant participated
.... individual SΣ0..1Reference(US Core Practitioner Profile)Persons involved in the encounter other than the patient
... period S0..1PeriodThe start and end time of the encounter
... reasonCode SΣ0..*CodeableConceptCoded reason the encounter takes place
Binding: EncounterReasonCodes (preferred): Reason why the encounter takes place.


... reasonReference SΣ0..*Reference(US Core Condition Problems and Health Concerns Profile | US Core Condition Encounter Diagnosis Profile)Reason the encounter takes place (reference)
... hospitalization S0..1BackboneElementDetails about the admission to a healthcare service
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... dischargeDisposition S0..1CodeableConceptCategory or kind of location after discharge
Binding: US Core Discharge Disposition (preferred): National Uniform Billing Committee, manual UB-04, UB form locator 17

... location S0..*BackboneElementList of locations where the patient has been
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... location S1..1Reference(US Core Location Profile)Location the encounter takes place
... serviceProvider S0..1Reference(US Core Organization Profile)The organization (facility) responsible for this encounter

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Encounter.identifier.userequiredIdentifierUse
Encounter.statusrequiredEncounterStatus
Encounter.classextensibleActEncounterCode
Encounter.typeextensibleUSCoreEncounterType
Encounter.participant.typeextensibleParticipantType
Encounter.reasonCodepreferredEncounterReasonCodes
Encounter.hospitalization.dischargeDispositionpreferredUSCoreDischargeDisposition (a valid code from http://www.nubc.org/patient-discharge)

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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
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: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... 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 SΣ0..*IdentifierIdentifier(s) by which this encounter is known
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

.... system SΣ1..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... 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 ?!SΣ1..1codeplanned | arrived | triaged | in-progress | onleave | finished | cancelled +
Binding: EncounterStatus (required): Current state of the encounter.

... statusHistory 0..*BackboneElementList of past encounter statuses
.... 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
.... status 1..1codeplanned | arrived | triaged | in-progress | onleave | finished | cancelled +
Binding: EncounterStatus (required): Current state of the encounter.

.... period 1..1PeriodThe time that the episode was in the specified status
... class SΣ1..1CodingClassification of patient encounter
Binding: ActEncounterCode (extensible): Classification of the encounter.

... classHistory 0..*BackboneElementList of past encounter classes
.... 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
.... class 1..1Codinginpatient | outpatient | ambulatory | emergency +
Binding: ActEncounterCode (extensible): Classification of the encounter.

.... 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): Valueset to describe the Encounter Type


... serviceType Σ0..1CodeableConceptSpecific type of service
Binding: ServiceType (example): Broad categorization of the service that is to be provided.

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

... subject SΣ1..1Reference(US Core Patient Profile S | Group)The patient or group present at the encounter
... episodeOfCare Σ0..*Reference(EpisodeOfCare)Episode(s) of care that this encounter should be recorded against
... basedOn 0..*Reference(ServiceRequest)The ServiceRequest that initiated this encounter
... participant SΣ0..*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 SΣ0..*CodeableConceptRole of participant in encounter
Binding: ParticipantType (extensible): Role of participant in encounter.


.... period S0..1PeriodPeriod of time during the encounter that the participant participated
.... individual SΣ0..1Reference(US Core Practitioner Profile S | US Core PractitionerRole Profile | US Core RelatedPerson Profile)Persons involved in the encounter other than the patient
... appointment Σ0..*Reference(Appointment)The appointment that scheduled this encounter
... period S0..1PeriodThe start and end time of the encounter
... length 0..1DurationQuantity of time the encounter lasted (less time absent)
... reasonCode SΣ0..*CodeableConceptCoded reason the encounter takes place
Binding: EncounterReasonCodes (preferred): Reason why the encounter takes place.


... reasonReference SΣ0..*Reference(US Core Condition Problems and Health Concerns Profile S | US Core Condition Encounter Diagnosis Profile S | US Core Procedure Profile | Observation | ImmunizationRecommendation)Reason the encounter takes place (reference)
... 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 Σ1..1Reference(Condition | Procedure)The diagnosis or procedure relevant to the encounter
.... use 0..1CodeableConceptRole that this diagnosis has within the encounter (e.g. admission, billing, discharge …)
Binding: DiagnosisRole (preferred): The type of diagnosis this condition represents.

.... 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 S0..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..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: hl7VS-re-admissionIndicator (example): The reason for re-admission of this hospitalization encounter.

.... dietPreference 0..*CodeableConceptDiet preferences reported by the patient
Binding: Diet (example): Medical, cultural or ethical food preferences to help with catering requirements.


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


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


.... destination 0..1Reference(Location | Organization)Location/organization to which the patient is discharged
.... dischargeDisposition S0..1CodeableConceptCategory or kind of location after discharge
Binding: US Core Discharge Disposition (preferred): National Uniform Billing Committee, manual UB-04, UB form locator 17

... location S0..*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 S1..1Reference(US Core Location Profile)Location the encounter takes place
.... status 0..1codeplanned | active | reserved | completed
Binding: EncounterLocationStatus (required): The status of the location.

.... physicalType 0..1CodeableConceptThe physical type of the location (usually the level in the location hierachy - bed room ward etc.)
Binding: LocationType (example): Physical form of the location.

.... period 0..1PeriodTime period during which the patient was present at the location
... serviceProvider S0..1Reference(US Core Organization Profile)The organization (facility) responsible for this encounter
... partOf 0..1Reference(Encounter)Another Encounter this encounter is part of

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Encounter.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Encounter.identifier.userequiredIdentifierUse
Encounter.identifier.typeextensibleIdentifier Type Codes
Encounter.statusrequiredEncounterStatus
Encounter.statusHistory.statusrequiredEncounterStatus
Encounter.classextensibleActEncounterCode
Encounter.classHistory.classextensibleActEncounterCode
Encounter.typeextensibleUSCoreEncounterType
Encounter.serviceTypeexampleServiceType
Encounter.priorityexampleActPriority
Encounter.participant.typeextensibleParticipantType
Encounter.reasonCodepreferredEncounterReasonCodes
Encounter.diagnosis.usepreferredDiagnosisRole
Encounter.hospitalization.admitSourcepreferredAdmitSource
Encounter.hospitalization.reAdmissionexampleHl7VSReAdmissionIndicator
Encounter.hospitalization.dietPreferenceexampleDiet
Encounter.hospitalization.specialCourtesypreferredSpecialCourtesy
Encounter.hospitalization.specialArrangementpreferredSpecialArrangements
Encounter.hospitalization.dischargeDispositionpreferredUSCoreDischargeDisposition (a valid code from http://www.nubc.org/patient-discharge)
Encounter.location.statusrequiredEncounterLocationStatus
Encounter.location.physicalTypeexampleLocationType

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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
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()

Differential View

This structure is derived from Encounter

NameFlagsCard.TypeDescription & Constraintsdoco
.. Encounter 0..*EncounterAn interaction during which services are provided to the patient
... identifier S0..*IdentifierIdentifier(s) by which this encounter is known
.... system S1..1uriThe namespace for the identifier value
.... value S1..1stringThe value that is unique
... status S1..1codeplanned | arrived | triaged | in-progress | onleave | finished | cancelled +
... class S1..1CodingClassification of patient encounter
... type S1..*CodeableConceptSpecific type of encounter
Binding: US Core Encounter Type (extensible): Valueset to describe the Encounter Type

... subject S1..1Reference(US Core Patient Profile S | Group)The patient or group present at the encounter
... participant S0..*BackboneElementList of participants involved in the encounter
.... type S0..*CodeableConceptRole of participant in encounter
.... period S0..1PeriodPeriod of time during the encounter that the participant participated
.... individual S0..1Reference(US Core Practitioner Profile S | US Core PractitionerRole Profile | US Core RelatedPerson Profile)Persons involved in the encounter other than the patient
... period S0..1PeriodThe start and end time of the encounter
... reasonCode S0..*CodeableConceptCoded reason the encounter takes place
... reasonReference S0..*Reference(US Core Condition Problems and Health Concerns Profile S | US Core Condition Encounter Diagnosis Profile S | US Core Procedure Profile | Observation | ImmunizationRecommendation)Reason the encounter takes place (reference)
... hospitalization S0..1BackboneElementDetails about the admission to a healthcare service
.... dischargeDisposition S0..1CodeableConceptCategory or kind of location after discharge
Binding: US Core Discharge Disposition (preferred): National Uniform Billing Committee, manual UB-04, UB form locator 17

... location S0..*BackboneElementList of locations where the patient has been
.... location S1..1Reference(US Core Location Profile)Location the encounter takes place
... serviceProvider S0..1Reference(US Core Organization Profile)The organization (facility) responsible for this encounter

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Encounter.typeextensibleUSCoreEncounterType
Encounter.hospitalization.dischargeDispositionpreferredUSCoreDischargeDisposition (a valid code from http://www.nubc.org/patient-discharge)

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
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier SΣ0..*IdentifierIdentifier(s) by which this encounter is known
.... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... system SΣ1..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value SΣ1..1stringThe value that is unique
Example General: 123456
... status ?!SΣ1..1codeplanned | arrived | triaged | in-progress | onleave | finished | cancelled +
Binding: EncounterStatus (required): Current state of the encounter.

... class SΣ1..1CodingClassification of patient encounter
Binding: ActEncounterCode (extensible): Classification of the encounter.

... type SΣ1..*CodeableConceptSpecific type of encounter
Binding: US Core Encounter Type (extensible): Valueset to describe the Encounter Type


... subject SΣ1..1Reference(US Core Patient Profile)The patient or group present at the encounter
... participant SΣ0..*BackboneElementList of participants involved in the encounter
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... type SΣ0..*CodeableConceptRole of participant in encounter
Binding: ParticipantType (extensible): Role of participant in encounter.


.... period S0..1PeriodPeriod of time during the encounter that the participant participated
.... individual SΣ0..1Reference(US Core Practitioner Profile)Persons involved in the encounter other than the patient
... period S0..1PeriodThe start and end time of the encounter
... reasonCode SΣ0..*CodeableConceptCoded reason the encounter takes place
Binding: EncounterReasonCodes (preferred): Reason why the encounter takes place.


... reasonReference SΣ0..*Reference(US Core Condition Problems and Health Concerns Profile | US Core Condition Encounter Diagnosis Profile)Reason the encounter takes place (reference)
... hospitalization S0..1BackboneElementDetails about the admission to a healthcare service
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... dischargeDisposition S0..1CodeableConceptCategory or kind of location after discharge
Binding: US Core Discharge Disposition (preferred): National Uniform Billing Committee, manual UB-04, UB form locator 17

... location S0..*BackboneElementList of locations where the patient has been
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... location S1..1Reference(US Core Location Profile)Location the encounter takes place
... serviceProvider S0..1Reference(US Core Organization Profile)The organization (facility) responsible for this encounter

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Encounter.identifier.userequiredIdentifierUse
Encounter.statusrequiredEncounterStatus
Encounter.classextensibleActEncounterCode
Encounter.typeextensibleUSCoreEncounterType
Encounter.participant.typeextensibleParticipantType
Encounter.reasonCodepreferredEncounterReasonCodes
Encounter.hospitalization.dischargeDispositionpreferredUSCoreDischargeDisposition (a valid code from http://www.nubc.org/patient-discharge)

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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
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: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... 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 SΣ0..*IdentifierIdentifier(s) by which this encounter is known
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

.... system SΣ1..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... 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 ?!SΣ1..1codeplanned | arrived | triaged | in-progress | onleave | finished | cancelled +
Binding: EncounterStatus (required): Current state of the encounter.

... statusHistory 0..*BackboneElementList of past encounter statuses
.... 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
.... status 1..1codeplanned | arrived | triaged | in-progress | onleave | finished | cancelled +
Binding: EncounterStatus (required): Current state of the encounter.

.... period 1..1PeriodThe time that the episode was in the specified status
... class SΣ1..1CodingClassification of patient encounter
Binding: ActEncounterCode (extensible): Classification of the encounter.

... classHistory 0..*BackboneElementList of past encounter classes
.... 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
.... class 1..1Codinginpatient | outpatient | ambulatory | emergency +
Binding: ActEncounterCode (extensible): Classification of the encounter.

.... 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): Valueset to describe the Encounter Type


... serviceType Σ0..1CodeableConceptSpecific type of service
Binding: ServiceType (example): Broad categorization of the service that is to be provided.

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

... subject SΣ1..1Reference(US Core Patient Profile S | Group)The patient or group present at the encounter
... episodeOfCare Σ0..*Reference(EpisodeOfCare)Episode(s) of care that this encounter should be recorded against
... basedOn 0..*Reference(ServiceRequest)The ServiceRequest that initiated this encounter
... participant SΣ0..*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 SΣ0..*CodeableConceptRole of participant in encounter
Binding: ParticipantType (extensible): Role of participant in encounter.


.... period S0..1PeriodPeriod of time during the encounter that the participant participated
.... individual SΣ0..1Reference(US Core Practitioner Profile S | US Core PractitionerRole Profile | US Core RelatedPerson Profile)Persons involved in the encounter other than the patient
... appointment Σ0..*Reference(Appointment)The appointment that scheduled this encounter
... period S0..1PeriodThe start and end time of the encounter
... length 0..1DurationQuantity of time the encounter lasted (less time absent)
... reasonCode SΣ0..*CodeableConceptCoded reason the encounter takes place
Binding: EncounterReasonCodes (preferred): Reason why the encounter takes place.


... reasonReference SΣ0..*Reference(US Core Condition Problems and Health Concerns Profile S | US Core Condition Encounter Diagnosis Profile S | US Core Procedure Profile | Observation | ImmunizationRecommendation)Reason the encounter takes place (reference)
... 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 Σ1..1Reference(Condition | Procedure)The diagnosis or procedure relevant to the encounter
.... use 0..1CodeableConceptRole that this diagnosis has within the encounter (e.g. admission, billing, discharge …)
Binding: DiagnosisRole (preferred): The type of diagnosis this condition represents.

.... 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 S0..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..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: hl7VS-re-admissionIndicator (example): The reason for re-admission of this hospitalization encounter.

.... dietPreference 0..*CodeableConceptDiet preferences reported by the patient
Binding: Diet (example): Medical, cultural or ethical food preferences to help with catering requirements.


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


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


.... destination 0..1Reference(Location | Organization)Location/organization to which the patient is discharged
.... dischargeDisposition S0..1CodeableConceptCategory or kind of location after discharge
Binding: US Core Discharge Disposition (preferred): National Uniform Billing Committee, manual UB-04, UB form locator 17

... location S0..*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 S1..1Reference(US Core Location Profile)Location the encounter takes place
.... status 0..1codeplanned | active | reserved | completed
Binding: EncounterLocationStatus (required): The status of the location.

.... physicalType 0..1CodeableConceptThe physical type of the location (usually the level in the location hierachy - bed room ward etc.)
Binding: LocationType (example): Physical form of the location.

.... period 0..1PeriodTime period during which the patient was present at the location
... serviceProvider S0..1Reference(US Core Organization Profile)The organization (facility) responsible for this encounter
... partOf 0..1Reference(Encounter)Another Encounter this encounter is part of

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Encounter.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Encounter.identifier.userequiredIdentifierUse
Encounter.identifier.typeextensibleIdentifier Type Codes
Encounter.statusrequiredEncounterStatus
Encounter.statusHistory.statusrequiredEncounterStatus
Encounter.classextensibleActEncounterCode
Encounter.classHistory.classextensibleActEncounterCode
Encounter.typeextensibleUSCoreEncounterType
Encounter.serviceTypeexampleServiceType
Encounter.priorityexampleActPriority
Encounter.participant.typeextensibleParticipantType
Encounter.reasonCodepreferredEncounterReasonCodes
Encounter.diagnosis.usepreferredDiagnosisRole
Encounter.hospitalization.admitSourcepreferredAdmitSource
Encounter.hospitalization.reAdmissionexampleHl7VSReAdmissionIndicator
Encounter.hospitalization.dietPreferenceexampleDiet
Encounter.hospitalization.specialCourtesypreferredSpecialCourtesy
Encounter.hospitalization.specialArrangementpreferredSpecialArrangements
Encounter.hospitalization.dischargeDispositionpreferredUSCoreDischargeDisposition (a valid code from http://www.nubc.org/patient-discharge)
Encounter.location.statusrequiredEncounterLocationStatus
Encounter.location.physicalTypeexampleLocationType

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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
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()

 

Other representations of profile: CSV, Excel, Schematron

Notes:


Quick Start


Below is an overview of the required Server RESTful FHIR interactions for this profile - for example, search and read operations - when supporting the US Core interactions to access this profile’s information (Profile Support + Interaction Support). Note that systems that support only US Core Profiles (Profile Only Support) are not required to support these interactions. See the US Core Server CapabilityStatement for a complete list of supported RESTful interactions for this IG.

  • The syntax used to describe the interactions is described here.
  • See the General Requirements section for additional rules and expectations when a server requires status parameters.
  • See the General Guidance section for additional guidance on searching for multiple patients.

US Core Scopes

Servers providing access to encounter data SHALL support these US Core SMART Scopes:

Mandatory Search Parameters:

The following search parameters and search parameter combinations SHALL be supported:

  1. SHALL support both read Encounter by id AND Encounter search using the _id search parameter:

    GET [base]/Encounter/[id] or GET [base]/Encounter?_id=[id]

    Example:

    1. GET [base]/Encounter/12354
    2. GET [base]/Encounter?_id=12354

    Implementation Notes: Fetches a single Encounter (how to search by the logical id of the resource)

  2. SHALL support searching for all encounters for a patient using the patient search parameter:

    GET [base]/Encounter?patient={Type/}[id]

    Example:

    1. GET [base]/Encounter?patient=1137192

    Implementation Notes: Fetches a bundle of all Encounter resources for the specified patient (how to search by reference)

  3. SHALL support searching using the combination of the date and patient search parameters:

    • including support for these date comparators: gt,lt,ge,le
    • including optional support for AND search on date (e.g.date=[date]&date=[date]]&...)

    GET [base]/Encounter?date={gt|lt|ge|le}[date]{&date={gt|lt|ge|le}[date]&...}&patient={Type/}[id]

    Example:

    1. GET [base]/Encounter?patient=example1&date=ge2019-01-01T00:00:00Z

    Implementation Notes: Fetches a bundle of all Encounter resources matching the specified date and patient (how to search by date and how to search by reference)

Optional Search Parameters:

The following search parameter combinations SHOULD be supported:

  1. SHOULD support searching for an encounter by an identifier using the identifier search parameter:

    GET [base]/Encounter?identifier={system|}[code]

    Example:

    1. GET [base]/Encounter?identifier=http://hospital.smarthealthit.org|1032702

    Implementation Notes: Fetches a bundle containing any Encounter resources matching the identifier (how to search by token)

  2. SHOULD support searching using the combination of the class and patient search parameters:

    GET [base]/Encounter?class={system|}[code]&patient={Type/}[id]

    Example:

    1. GET [base]/Encounter?patient=example1&class= http://terminology.hl7.org/CodeSystem/v3-ActCode code|AMB

    Implementation Notes: Fetches a bundle of all Encounter resources matching the specified class and patient (how to search by reference and how to search by token)

  3. SHOULD support searching using the combination of the patient and type search parameters:

    GET [base]/Encounter?patient={Type/}[id]&type={system|}[code]

    Example:

    1. GET [base]/Encounter?patient=1137192&type=http://www.ama-assn.org/go/cpt code|99211

    Implementation Notes: Fetches a bundle of all Encounter resources matching the specified patient and type (how to search by reference and how to search by token)

  4. SHOULD support searching using the combination of the patient and location search parameters:

    GET [base]/Encounter?patient={Type/}[id]&location={Type/}[id]

    Example:

    1. GET [base]/Encounter?patient=1137192&location=Location/hospital

    Implementation Notes: Fetches a bundle of all Encounter resources matching the specified patient and location (how to search by reference)

  5. SHOULD support searching using the combination of the patient and status search parameters:

    GET [base]/Encounter?patient={Type/}[id]&status={system|}[code]

    Example:

    1. GET [base]/Encounter?patient=example1&status=finished

    Implementation Notes: Fetches a bundle of all Encounter resources matching the specified patient and status (how to search by reference and how to search by token)

  6. SHOULD support searching using the combination of the patient and discharge-disposition search parameters:

    GET [base]/Encounter?patient={Type/}[id]&discharge-disposition={system|}[code]

    Example:

    1. GET [base]/Encounter?patient=example1&discharge-disposition=01

    Implementation Notes: Fetches a bundle of all Encounter resources matching the specified patient and discharge-disposition (how to search by reference and how to search by token)