DSTU2 Ballot Source

This page is part of the FHIR Specification (v0.5.0: DSTU 2 Ballot 2). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2

1.12 FHIR Life Cycle Page

1.12.1 Introduction

Many FHIR resources have a status element that represents the lifecycle state of the resource or the clinical process represented by the resource. Work groups can specify status values appropriate to the individual resource. Although consistency between resources is not the primary objective, it is helpful to users and developers to have well-crafted value sets that cover all possible states (since the value sets are typically required and non-extensible).

To understand existing status elements, and to help create extensions and resources involving resource states, we note that status value sets follow one of the following patterns:

  • Clinical workflow process pattern
  • Request/Order pattern
  • Entity status pattern
  • Clinical status pattern

1.12.2 Clinical Workflow Process Pattern

Describes the lifecycle states of complex activities common in healthcare. Typically, these states follow a chronological pattern that leads from initiation to the conclusion of the action. A characteristic set of states for the clinical workflow process pattern include:

  • planned – resources for the activity are being allocated but the activity has not begun
  • cancelled – the planned activity will not take place
  • in-progress – the activity has begun
  • on-hold (suspended) – the activity has been temporarily interrupted
  • stopped (aborted, failed) – the activity has not been completed but no future action is planned
  • completed (finished) – the activity has been completed

Examples of the clinical workflow pattern:

  • Communication.status: in-progress | completed | suspended | rejected | failed
  • Encounter.status: planned | arrived | in-progress | onleave | finished | cancelled
  • Goal.status: proposed | planned | in-progress | achieved | sustaining | cancelled | accepted | rejected
  • MedicationAdministration.status: in-progress | on-hold | completed | entered-in-error | stopped
  • MedicationDispense.status: in-progress | on-hold | completed | entered-in-error | stopped
  • Procedure.status: in-progress | aborted | completed | entered-in-error

1.12.3 Request/Order Pattern

Some resources in FHIR that represent orders or requests. The request lifecycle can be generalized in terms of four stages: creating the request, sending the request, receiving acceptance or refusal of the request, and fulfillment of the request. A characteristic set of states for the clinical workflow process pattern include:

  • proposed: An actor (e.g. a clinical decision support system) has proposed an action to be requested
  • draft: The request is in preliminary form, prior to being requested
  • requested: The request has been been made
  • rejected: The request receiver has declined the request
  • accepted: The request receiver has accepted the request
  • in-progress: Work to fulfill the request has begun
  • on-hold (suspended): Work on the request has been interrupted
  • stopped (aborted): The activity has not been completed but no future action is planned
  • completed: Work on the requested task has been completed, and no further action is required
  • cancelled: The request has been withdrawn

Examples of the request/order pattern:

  • CommunicationRequest.status: proposed | planned | requested | received | accepted | in-progress | completed | suspended | rejected | failed
  • DeviceUseRequest: proposed | planned | requested | received | accepted | in-progress | completed | suspended | rejected | aborted
  • DiagnosticOrder.status: proposed | draft | planned | requested | received | accepted | in-progress | review | completed | cancelled | suspended | rejected | failed
  • MedicationPrescription.status: active | on-hold | completed | entered-in-error | stopped | superceded | draft
  • ProcedureRequest.status: proposed | draft | requested | received | accepted | in-progress | completed | suspended | rejected | aborted
  • ReferralRequest.status: draft | sent | active | cancelled | rejected | completed

1.12.4 Entity Availability Pattern

The entity availability pattern indicates if the resource, or the entity described by the resource, is ready for use, not yet ready for use, or has been retired from use. A characteristic set of states for the clinical workflow process pattern include:

  • draft: The entity is being prepared but is not yet in use
  • active: The entity is in use
  • suspended: The entity is not in use at the moment, but may return to active status
  • amended: The entity has undergone a revision but is still active
  • retired (superseded): The entity is no longer in use.

Examples of the entity availability pattern:

  • DiagnosticReport.status: registered | partial | final | corrected | appended | cancelled | entered-in-error
  • MedicationStatement.status: in-progress* | completed* | entered-in-error
  • DocumentManifest.status: current | superceded | entered-in-error
  • Conformance.status: draft | active | retired
  • StructureDefinition.status: draft | active | retired
  • DataElement: draft | active | retired
  • Questionnaire.status: draft | published | retired
  • DocumentReference.status: preliminary | final | appended | amended | entered-in-error
  • QuestionnaireResponse.status: in-progress | completed | amended
  • Alert.status: active | inactive | entered-in-error
  • Location.status: active | suspended | inactive
  • Organization.active: true/false
  • Patient.active: true/false

*states reflecting the administration of the medication

1.12.5 Clinical Status Pattern

Clinical status is somewhat different that the previous status values, since it does not deal with workflow or lifecycle. Instead, it indicates how evidence is affecting a clinical interpretation. Here are two examples:

  • AllergyIntolerance.status: unconfirmed | confirmed | resolved | refuted
  • Condition.clinicalStatus: provisional | working | confirmed | refuted

1.12.6 Entered In Error Summary

The entered-in-error state indicates the resource was created accidentally, and should be ignored. This state can apply to resources created by manual entry. It is usually not associated with the Clinical Workflow Process pattern, but can be associated with the Request/Order and the Entity Availability patterns.

This table summarises what is expected to happen for each resource in the case that the data it contains is subsequently found to be an erroneous entry.

ResourceStatus
AllergyIntoleranceUnknown - not stated by committee
AppointmentUnknown - not stated by committee
AppointmentResponseUnknown - not stated by committee
AuditEventUnknown - not stated by committee
BasicUnknown - not stated by committee
Binaryn/a (This would be handled where the binary is linked from)
BodySiteUnknown - not stated by committee
BundleDepends on the type: document - see for Composition; message - see for MessageHeader; transaction / transaction-response / history / searchset - not expected to be stored; collection: just delete it if it's stored, and in error
CarePlanUnknown - not stated by committee
ClaimUnknown - not stated by committee
ClaimResponseUnknown - not stated by committee
ClinicalImpressionUnknown - not stated by committee
CommunicationUnknown - not stated by committee
CommunicationRequestUnknown - not stated by committee
Composition.status = entered-in-error
ConceptMap.status = retired
ConditionUnknown - not stated by committee
Conformance.status = retired
ContractUnknown - not stated by committee
ContraindicationUnknown - not stated by committee
CoverageUnknown - not stated by committee
DataElement.status = retired
DeviceUnknown - not stated by committee
DeviceComponentUnknown - not stated by committee
DeviceMetricUnknown - not stated by committee
DeviceUseRequestUnknown - not stated by committee
DeviceUseStatementUnknown - not stated by committee
DiagnosticOrderUnknown - not stated by committee
DiagnosticReportUnknown - not stated by committee
DocumentManifestUnknown - not stated by committee
DocumentReferenceUnknown - not stated by committee
EligibilityRequestUnknown - not stated by committee
EligibilityResponseUnknown - not stated by committee
EncounterUnknown - not stated by committee
EnrollmentRequestUnknown - not stated by committee
EnrollmentResponseUnknown - not stated by committee
EpisodeOfCareUnknown - not stated by committee
ExplanationOfBenefitUnknown - not stated by committee
FamilyMemberHistoryUnknown - not stated by committee
FlagUnknown - not stated by committee
GoalUnknown - not stated by committee
GroupUnknown - not stated by committee
HealthcareServiceUnknown - not stated by committee
ImagingObjectSelectionUnknown - not stated by committee
ImagingStudyUnknown - not stated by committee
ImmunizationUnknown - not stated by committee
ImmunizationRecommendationUnknown - not stated by committee
ListUnknown - not stated by committee
LocationUnknown - not stated by committee
Median/a - this would be handled whereever the media is linked from
MedicationUnknown - not stated by committee
MedicationAdministrationUnknown - not stated by committee
MedicationDispenseUnknown - not stated by committee
MedicationPrescriptionUnknown - not stated by committee
MedicationStatementUnknown - not stated by committee
MessageHeadermostly n/a, but in the cases where messages are stored in error, they would simply be deleted
NamingSystem.status = retired
NutritionOrderUnknown - not stated by committee
Observation.status = entered-in-error
OperationDefinition.status = retired
OperationOutcomen/a - this resource is not expected to be stored
OrderUnknown - not stated by committee
OrderResponseUnknown - not stated by committee
OrganizationUnknown - not stated by committee
PatientUnknown - not stated by committee
PaymentNoticeUnknown - not stated by committee
PaymentReconciliationUnknown - not stated by committee
PersonUnknown - not stated by committee
PractitionerUnknown - not stated by committee
ProcedureUnknown - not stated by committee
ProcedureRequestUnknown - not stated by committee
ProcessRequestUnknown - not stated by committee
ProcessResponseUnknown - not stated by committee
ProvenanceUnknown - not stated by committee
QuestionnaireUnknown - not stated by committee
QuestionnaireAnswersUnknown - not stated by committee
ReferralRequestUnknown - not stated by committee
RelatedPersonUnknown - not stated by committee
RiskAssessmentUnknown - not stated by committee
ScheduleUnknown - not stated by committee
SearchParameter.status = retired
SlotUnknown - not stated by committee
SpecimenUnknown - not stated by committee
StructureDefinition.status = retired
Subscription.status = off (just turn it off, maybe update the error message)
SubstanceUnknown - not stated by committee
SupplyUnknown - not stated by committee
ValueSet.status = retired
VisionPrescriptionUnknown - not stated by committee