ServiceEvent
type: StructureDefinition
node role: treeRoot
id:
  v: ServiceEvent
text:
  status:
    v: generated
  div: This class represents the main Act, such as a colonoscopy or an appendectomy, being documented. In some cases, the ServiceEvent is inherent in the ClinicalDocument.code, such as where ClinicalDocument.code is "History and Physical Report" and the procedure being documented is a "History and Physical" act. A ServiceEvent can further specialize the act inherent in the ClinicalDocument.code, such as where the ClinicalDocument.code is simply "Procedure Report" and the procedure was a "colonoscopy". If ServiceEvent is included, it must be equivalent to or further specialize the value inherent in the ClinicalDocument.code, and shall not conflict with the value inherent in the ClinicalDocument.code, as such a conflict would constitute an ambiguous situation. ServiceEvent.effectiveTime can be used to indicate the time the actual event (as opposed to the encounter surrounding the event) took place.
extension:
  url:
    v: http://hl7.org/fhir/tools/StructureDefinition/logical-target
  value: boolean
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/data-absent-reason
      value: code
        v: not-applicable
extension:
  url:
    v: http://hl7.org/fhir/tools/StructureDefinition/xml-namespace
  value: uri
    v: urn:hl7-org:v3
extension:
  url:
    v: http://hl7.org/fhir/tools/StructureDefinition/xml-name
  value: string
    v: serviceEvent
extension:
  url:
    v: http://hl7.org/fhir/tools/StructureDefinition/logical-container
  value: uri
    v: http://hl7.org/cda/stds/core/StructureDefinition/ClinicalDocument
extension:
  url:
    v: http://hl7.org/fhir/tools/StructureDefinition/type-profile-style
  value: code
    v: cda
url:
  v: http://hl7.org/cda/stds/core/StructureDefinition/ServiceEvent
version:
  v: 1.0.1
name:
  v: ServiceEvent
title:
  v: ServiceEvent (CDA Class)
status:
  v: active
experimental:
  v: false
date:
  v: 2025-10-10T09:58:30+10:00
publisher:
  v: HL7
description:
  v: This class represents the main Act, such as a colonoscopy or an appendectomy, being documented. In some cases, the ServiceEvent is inherent in the ClinicalDocument.code, such as where ClinicalDocument.code is "History and Physical Report" and the procedure being documented is a "History and Physical" act. A ServiceEvent can further specialize the act inherent in the ClinicalDocument.code, such as where the ClinicalDocument.code is simply "Procedure Report" and the procedure was a "colonoscopy". If ServiceEvent is included, it must be equivalent to or further specialize the value inherent in the ClinicalDocument.code, and shall not conflict with the value inherent in the ClinicalDocument.code, as such a conflict would constitute an ambiguous situation. ServiceEvent.effectiveTime can be used to indicate the time the actual event (as opposed to the encounter surrounding the event) took place.
fhir version:
  v: 5.0.0
mapping:
  identity:
    v: rim
  uri:
    v: http://hl7.org/v3
  name:
    v: RIM Mapping
kind:
  v: logical
abstract:
  v: false
type:
  v: http://hl7.org/cda/stds/core/StructureDefinition/ServiceEvent
base definition:
  v: http://hl7.org/cda/stds/core/StructureDefinition/InfrastructureRoot
  link: http://hl7.org/cda/stds/core/StructureDefinition/InfrastructureRoot
derivation:
  v: specialization
snapshot:
  extension:
    url:
      v: http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version
    value: string
      v: 1.0.1
  element:
    id:
      v: ServiceEvent
    path:
      v: ServiceEvent
    short:
      v: Base for all types and resources
    definition:
      v: Defines the basic properties of every data value. This is an abstract type, meaning that no value can be just a data value without belonging to any concrete type. Every concrete type is a specialization of this general abstract DataValue type.
    min:
      v: 1
    max:
      v: 1
    base:
      path:
        v: Base
      min:
        v: 0
      max:
        v: *
    is modifier:
      v: false
    mapping:
      identity:
        v: rim
      map:
        v: n/a
  element:
    id:
      v: ServiceEvent.nullFlavor
    path:
      v: ServiceEvent.nullFlavor
    representation:
      v: xmlAttr
    label:
      v: Exceptional Value Detail
    definition:
      v: If a value is an exceptional value (NULL-value), this specifies in what way and why proper information is missing.
    min:
      v: 0
    max:
      v: 1
    base:
      path:
        v: ANY.nullFlavor
      min:
        v: 0
      max:
        v: 1
    type:
      code:
        v: code
      profile:
        v: http://hl7.org/cda/stds/core/StructureDefinition/cs-simple
        link: http://hl7.org/cda/stds/core/StructureDefinition/cs-simple
    binding:
      strength:
        v: required
      value set:
        v: http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor
        link: http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor
  element:
    id:
      v: ServiceEvent.realmCode
    path:
      v: ServiceEvent.realmCode
    definition:
      v: When valued in an instance, this attribute signals the imposition of realm-specific constraints. The value of this attribute identifies the realm in question
    min:
      v: 0
    max:
      v: *
    base:
      path:
        v: InfrastructureRoot.realmCode
      min:
        v: 0
      max:
        v: *
    type:
      code:
        v: http://hl7.org/cda/stds/core/StructureDefinition/CS
  element:
    id:
      v: ServiceEvent.typeId
    path:
      v: ServiceEvent.typeId
    definition:
      v: When valued in an instance, this attribute signals the imposition of constraints defined in an HL7-specified message type. This might be a common type (also known as CMET in the messaging communication environment), or content included within a wrapper. The value of this attribute provides a unique identifier for the type in question.
    min:
      v: 0
    max:
      v: 1
    base:
      path:
        v: InfrastructureRoot.typeId
      min:
        v: 0
      max:
        v: 1
    type:
      code:
        v: http://hl7.org/cda/stds/core/StructureDefinition/II
    constraint:
      key:
        v: II-1
      severity:
        v: error
      human:
        v: An II instance must have either a root or an nullFlavor.
      expression:
        v: root.exists() or nullFlavor.exists()
      source:
        v: http://hl7.org/cda/stds/core/StructureDefinition/InfrastructureRoot
        link: http://hl7.org/cda/stds/core/StructureDefinition/InfrastructureRoot
  element:
    id:
      v: ServiceEvent.typeId.nullFlavor
    path:
      v: ServiceEvent.typeId.nullFlavor
    representation:
      v: xmlAttr

v: Exceptional Value Detail

v: If a value is an exceptional value (NULL-value), this specifies in what way and why proper information is missing.

v: 0

v: 1

path:
  v: ANY.nullFlavor
min:
  v: 0
max:
  v: 1

code:
  v: code
profile:
  v: http://hl7.org/cda/stds/core/StructureDefinition/cs-simple
  link: http://hl7.org/cda/stds/core/StructureDefinition/cs-simple

strength:
  v: required
value set:
  v: http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor
  link: http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor

id:
  v: ServiceEvent.typeId.assigningAuthorityName
path:
  v: ServiceEvent.typeId.assigningAuthorityName
representation:
  v: xmlAttr
label:
  v: Assigning Authority Name
definition:
  v: A human readable name or mnemonic for the assigning authority. The Assigning Authority Name has no computational value. The purpose of a Assigning Authority Name is to assist an unaided human interpreter of an II value to interpret the authority. Note: no automated processing must depend on the assigning authority name to be present in any form.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: II.assigningAuthorityName
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/st-simple
    link: http://hl7.org/cda/stds/core/StructureDefinition/st-simple

id:
  v: ServiceEvent.typeId.displayable
path:
  v: ServiceEvent.typeId.displayable
representation:
  v: xmlAttr
label:
  v: Displayable
definition:
  v: Specifies if the identifier is intended for human display and data entry (displayable = true) as opposed to pure machine interoperation (displayable = false).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: II.displayable
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: boolean
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/bl-simple
    link: http://hl7.org/cda/stds/core/StructureDefinition/bl-simple

id:
  v: ServiceEvent.typeId.root
path:
  v: ServiceEvent.typeId.root
representation:
  v: xmlAttr
label:
  v: Root
definition:
  v: Identifies the type as an HL7 Registered model
min:
  v: 1
max:
  v: 1
base:
  path:
    v: II.root
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/oid
    link: http://hl7.org/cda/stds/core/StructureDefinition/oid
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/uuid
    link: http://hl7.org/cda/stds/core/StructureDefinition/uuid
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/ruid
    link: http://hl7.org/cda/stds/core/StructureDefinition/ruid
fixed: string
  v: 2.16.840.1.113883.1.3

id:
  v: ServiceEvent.typeId.extension
path:
  v: ServiceEvent.typeId.extension
representation:
  v: xmlAttr
label:
  v: Extension
definition:
  v: A character string as a unique identifier within the scope of the identifier root.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: II.extension
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/st-simple
    link: http://hl7.org/cda/stds/core/StructureDefinition/st-simple

id:
  v: ServiceEvent.templateId
path:
  v: ServiceEvent.templateId
definition:
  v: When valued in an instance, this attribute signals the imposition of a set of template-defined constraints. The value of this attribute provides a unique identifier for the templates in question
min:
  v: 0
max:
  v: *
base:
  path:
    v: InfrastructureRoot.templateId
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/II

id:
  v: ServiceEvent.classCode
path:
  v: ServiceEvent.classCode
representation:
  v: xmlAttr
min:
  v: 0
max:
  v: 1
base:
  path:
    v: ServiceEvent.classCode
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: code
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/cs-simple
    link: http://hl7.org/cda/stds/core/StructureDefinition/cs-simple
default value: code
  v: ACT
binding:
  strength:
    v: required
  value set:
    v: http://hl7.org/cda/stds/core/ValueSet/CDAActClass
    link: http://hl7.org/cda/stds/core/ValueSet/CDAActClass

id:
  v: ServiceEvent.moodCode
path:
  v: ServiceEvent.moodCode
representation:
  v: xmlAttr
min:
  v: 0
max:
  v: 1
base:
  path:
    v: ServiceEvent.moodCode
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: code
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/cs-simple
    link: http://hl7.org/cda/stds/core/StructureDefinition/cs-simple
fixed: code
  v: EVN
binding:
  strength:
    v: required
  value set:
    v: http://hl7.org/cda/stds/core/ValueSet/CDAActMood
    link: http://hl7.org/cda/stds/core/ValueSet/CDAActMood

id:
  v: ServiceEvent.id
path:
  v: ServiceEvent.id
min:
  v: 0
max:
  v: *
base:
  path:
    v: ServiceEvent.id
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/II

id:
  v: ServiceEvent.code
path:
  v: ServiceEvent.code
definition:
  v: Drawn from concept domain ActCode
min:
  v: 0
max:
  v: 1
base:
  path:
    v: ServiceEvent.code
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/CE

id:
  v: ServiceEvent.effectiveTime
path:
  v: ServiceEvent.effectiveTime
min:
  v: 0
max:
  v: 1
base:
  path:
    v: ServiceEvent.effectiveTime
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/IVL-TS

id:
  v: ServiceEvent.performer
path:
  v: ServiceEvent.performer
min:
  v: 0
max:
  v: *
base:
  path:
    v: ServiceEvent.performer
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/Performer1

element:
  id:
    v: ServiceEvent
  path:
    v: ServiceEvent
  min:
    v: 1
  max:
    v: 1
element:
  id:
    v: ServiceEvent.classCode
  path:
    v: ServiceEvent.classCode
  representation:
    v: xmlAttr
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: code
    profile:
      v: http://hl7.org/cda/stds/core/StructureDefinition/cs-simple
      link: http://hl7.org/cda/stds/core/StructureDefinition/cs-simple
  default value: code
    v: ACT
  binding:
    strength:
      v: required
    value set:
      v: http://hl7.org/cda/stds/core/ValueSet/CDAActClass
      link: http://hl7.org/cda/stds/core/ValueSet/CDAActClass
element:
  id:
    v: ServiceEvent.moodCode
  path:
    v: ServiceEvent.moodCode
  representation:
    v: xmlAttr
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: code
    profile:
      v: http://hl7.org/cda/stds/core/StructureDefinition/cs-simple
      link: http://hl7.org/cda/stds/core/StructureDefinition/cs-simple
  fixed: code
    v: EVN
  binding:
    strength:
      v: required
    value set:
      v: http://hl7.org/cda/stds/core/ValueSet/CDAActMood
      link: http://hl7.org/cda/stds/core/ValueSet/CDAActMood
element:
  id:
    v: ServiceEvent.id
  path:
    v: ServiceEvent.id
  min:
    v: 0
  max:
    v: *
  type:
    code:
      v: http://hl7.org/cda/stds/core/StructureDefinition/II
element:
  id:
    v: ServiceEvent.code
  path:
    v: ServiceEvent.code
  definition:
    v: Drawn from concept domain ActCode
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: http://hl7.org/cda/stds/core/StructureDefinition/CE
element:
  id:
    v: ServiceEvent.effectiveTime
  path:
    v: ServiceEvent.effectiveTime
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: http://hl7.org/cda/stds/core/StructureDefinition/IVL-TS
element:
  id:
    v: ServiceEvent.performer
  path:
    v: ServiceEvent.performer
  min:
    v: 0
  max:
    v: *
  type:
    code:
      v: http://hl7.org/cda/stds/core/StructureDefinition/Performer1