ServiceDeliveryLocation
type: StructureDefinition
node role: treeRoot
id:
  v: ServiceDeliveryLocation
text:
  status:
    v: extensions
  div:
    v: Generated Narrative: StructureDefinition ServiceDeliveryLocation Name Flags Card. Type Description & Constraints<img src="[binary]" alt="doco" style="background-color: inherit"/> ParticipantRole <a style="padding-left: 3px; padding-right: 3px; border: 1px maroon solid; font-weight: bold; color: #301212; background-color: #fdf4f4;; padding-left: 3px; padding-right: 3px; border: 1px maroon solid; font-weight: bold; color: #301212; background-color: #fdf4f4;" href="http://hl7.org/fhir/R5/conformance-rules.html#constraints" title="This element has or is affected by constraints ( should-addr, should-telecom )">C 1..1 ParticipantRole XML Namespace: urn:hl7-org:v3 Base for all types and resources Instance of this type are validated by templateId Logical Container: ClinicalDocument (CDA Class) Constraints: should-addr, should-telecom #xD; Slices for templateId 1..* II Slice: Unordered, Open by value:root #xD; templateId:service-delivery-loc 1..1 II #xD; @root 1..1 oid, uuid, ruid Required Pattern: 2.16.840.1.113883.10.20.22.4.32 #xD; @extension 0..0 #xD; @classCode 1..1 cs Fixed Value: SDLOC #xD; Slices for id 0..* II 헨?헦?헖?헗?헜?: Facility Identifier Slice: Unordered, Open by value:root #xD; id:NPI 0..* II #xD; @root 1..1 oid, uuid, ruid Required Pattern: 2.16.840.1.113883.4.6 #xD; id:CLIA 0..* II #xD; @root 1..1 oid, uuid, ruid Required Pattern: 2.16.840.1.113883.4.7 #xD; id:NAIC 0..* II #xD; @root 1..1 oid, uuid, ruid Required Pattern: 2.16.840.1.113883.6.300 #xD; code <a style="padding-left: 3px; padding-right: 3px; border: 1px maroon solid; font-weight: bold; color: #301212; background-color: #fdf4f4;; padding-left: 3px; padding-right: 3px; border: 1px maroon solid; font-weight: bold; color: #301212; background-color: #fdf4f4;" href="http://hl7.org/fhir/R5/conformance-rules.html#constraints" title="This element has or is affected by constraints ( shall-use-one-binding )">C 1..1 CE Binding: Healthcare Service Location Type Combined (preferred): 헨?헦?헖?헗?헜?: Facility Type A…
extension:
  url:
    v: http://hl7.org/fhir/tools/StructureDefinition/logical-target
    l: logical-target
  value: Boolean
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/data-absent-reason
        l: data-absent-reason
      value: Code
        v: not-applicable
extension:
  url:
    v: http://hl7.org/fhir/tools/StructureDefinition/xml-namespace
    l: xml-namespace
  value: Uri
    v: urn:hl7-org:v3
    l: v3
extension:
  url:
    v: http://hl7.org/fhir/tools/StructureDefinition/xml-name
    l: xml-name
  value: String
    v: participantRole
extension:
  url:
    v: http://hl7.org/fhir/tools/StructureDefinition/logical-container
    l: logical-container
  value: Uri
    v: http://hl7.org/cda/stds/core/StructureDefinition/ClinicalDocument
    l: ClinicalDocument
extension:
  url:
    v: http://hl7.org/fhir/tools/StructureDefinition/type-profile-style
    l: type-profile-style
  value: Code
    v: cda
url:
  v: http://hl7.org/cda/us/ccda/StructureDefinition/ServiceDeliveryLocation
  l: ServiceDeliveryLocation
identifier:
  system:
    v: urn:ietf:rfc:3986
    l: 3986
  value:
    v: urn:oid:2.16.840.1.113883.10.20.22.4.32
version:
  v: 4.0.0
name:
  v: ServiceDeliveryLocation
title:
  v: Service Delivery Location
status:
  v: draft
date:
  v: 2025-10-31T15:59:49+00:00
publisher:
  v: Health Level Seven
contact:
  name:
    v: HL7 International - Structured Documents
  telecom:
    system:
      v: url
    value:
      v: http://www.hl7.org/Special/committees/structure
description:
  v: This clinical statement represents the physical place of available services or resources. It is the location of a service event where an act, observation or procedure took or can place. The ASTP/ONC U.S. Core Data for Interoperability (USCDI) specifies that Encounter Location must be represented using either the National Healthcare Safety Network (NHSN) Healthcare Facility Patient Care Location (HSLOC) codes or SNOMED CT location type codes. The HealthcareServiceLocation value set, bound to ParticipantRole.code, includes concepts from HSLOC, SNOMED CT, and CMS Place of Service (POS) codes to support a variety of implementation contexts. To conform with USCDI requirements, certifying systems shall support either HSLOC codes or SNOMED CT codes. Inclusion of CMS POS codes is optional and may be used to meet billing or administrative needs.
jurisdiction:
  coding:
    system:
      v: urn:iso:std:iso:3166
      l: 3166
    code:
      v: US
fhir version:
  v: 5.0.0
mapping:
  identity:
    v: rim
  uri:
    v: http://hl7.org/v3
    l: v3
  name:
    v: RIM Mapping
kind:
  v: logical
abstract:
  v: false
type:
  v: http://hl7.org/cda/stds/core/StructureDefinition/ParticipantRole
  l: ParticipantRole
base definition:
  v: http://hl7.org/cda/stds/core/StructureDefinition/ParticipantRole
  l: ParticipantRole
derivation:
  v: constraint
snapshot:
  extension:
    url:
      v: http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version
      l: snapshot-base-version
    value: String
      v: 2.0.1-sd
  element:
    id:
      v: ParticipantRole
    path:
      v: ParticipantRole
    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: *
    constraint:
      key:
        v: role-choice
      severity:
        v: error
      human:
        v: playingDevice and playingEntity are mutually exclusive
      expression:
        v: (playingDevice | playingEntity).count() <= 1
      source:
        v: http://hl7.org/cda/stds/core/StructureDefinition/ParticipantRole
        l: ParticipantRole
    constraint:
      key:
        v: should-addr
      severity:
        v: warning
      human:
        v: SHOULD contain addr
      expression:
        v: addr.exists()
      source:
        v: http://hl7.org/cda/us/ccda/StructureDefinition/ServiceDeliveryLocation
        l: ServiceDeliveryLocation
    constraint:
      key:
        v: should-telecom
      severity:
        v: warning
      human:
        v: SHOULD contain telecom
      expression:
        v: telecom.exists()
      source:
        v: http://hl7.org/cda/us/ccda/StructureDefinition/ServiceDeliveryLocation
        l: ServiceDeliveryLocation
    is modifier:
      v: false
    mapping:
      identity:
        v: rim
      map:
        v: n/a
  element:
    id:
      v: ParticipantRole.nullFlavor
    path:
      v: ParticipantRole.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
        l: code
      profile:
        v: http://hl7.org/cda/stds/core/StructureDefinition/cs-simple
        l: cs-simple

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

id:
  v: ParticipantRole.realmCode
path:
  v: ParticipantRole.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
    l: CS

id:
  v: ParticipantRole.typeId
path:
  v: ParticipantRole.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
    l: 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
    l: InfrastructureRoot

id:
  v: ParticipantRole.typeId.nullFlavor
path:
  v: ParticipantRole.typeId.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
    l: code
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/cs-simple
    l: cs-simple
binding:
  strength:
    v: required
  value set:
    v: http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor
    l: CDANullFlavor

id:
  v: ParticipantRole.typeId.assigningAuthorityName
path:
  v: ParticipantRole.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
    l: string
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/st-simple
    l: st-simple

id:
  v: ParticipantRole.typeId.displayable
path:
  v: ParticipantRole.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
    l: boolean
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/bl-simple
    l: bl-simple

id:
  v: ParticipantRole.typeId.root
path:
  v: ParticipantRole.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
    l: string
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/oid
    l: oid
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/uuid
    l: uuid
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/ruid
    l: ruid
fixed: String
  v: 2.16.840.1.113883.1.3

id:
  v: ParticipantRole.typeId.extension
path:
  v: ParticipantRole.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
    l: string
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/st-simple
    l: st-simple

id:
  v: ParticipantRole.templateId
path:
  v: ParticipantRole.templateId
slicing:
  discriminator:
    type:
      v: value
    path:
      v: root
  rules:
    v: open
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: 1
max:
  v: *
base:
  path:
    v: InfrastructureRoot.templateId
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/II
    l: II

id:
  v: ParticipantRole.templateId:service-delivery-loc
path:
  v: ParticipantRole.templateId
slice name:
  v: service-delivery-loc
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: 1
max:
  v: 1
base:
  path:
    v: InfrastructureRoot.templateId
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/II
    l: II

id:
  v: ParticipantRole.templateId:service-delivery-loc.nullFlavor
path:
  v: ParticipantRole.templateId.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
    l: code
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/cs-simple
    l: cs-simple
binding:
  strength:
    v: required
  value set:
    v: http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor
    l: CDANullFlavor

id:
  v: ParticipantRole.templateId:service-delivery-loc.assigningAuthorityName
path:
  v: ParticipantRole.templateId.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
    l: string
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/st-simple
    l: st-simple

id:
  v: ParticipantRole.templateId:service-delivery-loc.displayable
path:
  v: ParticipantRole.templateId.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
    l: boolean
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/bl-simple
    l: bl-simple

id:
  v: ParticipantRole.templateId:service-delivery-loc.root
path:
  v: ParticipantRole.templateId.root
representation:
  v: xmlAttr
label:
  v: Root
definition:
  v: A unique identifier that guarantees the global uniqueness of the instance identifier. The root alone may be the entire instance identifier.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: II.root
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/oid
    l: oid
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/uuid
    l: uuid
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/ruid
    l: ruid
pattern: String
  v: 2.16.840.1.113883.10.20.22.4.32

id:
  v: ParticipantRole.templateId:service-delivery-loc.extension
path:
  v: ParticipantRole.templateId.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: 0
max:
  v: 0
base:
  path:
    v: II.extension
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/st-simple
    l: st-simple

id:
  v: ParticipantRole.classCode
path:
  v: ParticipantRole.classCode
representation:
  v: xmlAttr
comment:
  v: SHALL contain exactly one [1..1] @classCode="SDLOC" (CodeSystem: HL7RoleCode urn:oid:2.16.840.1.113883.5.111 STATIC) (CONF:81-7758).
min:
  v: 1
max:
  v: 1
base:
  path:
    v: ParticipantRole.classCode
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: code
    l: code
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/cs-simple
    l: cs-simple
default value: Code
  v: ROL
fixed: Code
  v: SDLOC
binding:
  strength:
    v: required
  value set:
    v: http://hl7.org/cda/stds/core/ValueSet/CDARoleClassRoot
    l: CDARoleClassRoot

id:
  v: ParticipantRole.id
extension:
  url:
    v: http://hl7.org/fhir/us/core/StructureDefinition/uscdi-requirement
    l: uscdi-requirement
  value: Boolean
    v: true
path:
  v: ParticipantRole.id
slicing:
  discriminator:
    type:
      v: value
    path:
      v: root
  rules:
    v: open
short:
  v: 𝗨𝗦𝗖𝗗𝗜: Facility Identifier
comment:
  v: Systems SHALL support National Provider Identifier (NPI) for organizations and SHOULD support Clinical Laboratory Improvement Amendments (CLIA) for laboratories and the National Association of Insurance Commissioners NAIC Company code (sometimes called “NAIC Number” or “cocode”) for payers.
min:
  v: 0
max:
  v: *
base:
  path:
    v: ParticipantRole.id
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/II
    l: II

id:
  v: ParticipantRole.id:NPI
path:
  v: ParticipantRole.id
slice name:
  v: NPI
min:
  v: 0
max:
  v: *
base:
  path:
    v: ParticipantRole.id
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/II
    l: II

id:
  v: ParticipantRole.id:NPI.nullFlavor
path:
  v: ParticipantRole.id.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
    l: code
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/cs-simple
    l: cs-simple
binding:
  strength:
    v: required
  value set:
    v: http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor
    l: CDANullFlavor

id:
  v: ParticipantRole.id:NPI.assigningAuthorityName
path:
  v: ParticipantRole.id.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
    l: string
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/st-simple
    l: st-simple

id:
  v: ParticipantRole.id:NPI.displayable
path:
  v: ParticipantRole.id.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
    l: boolean
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/bl-simple
    l: bl-simple

id:
  v: ParticipantRole.id:NPI.root
path:
  v: ParticipantRole.id.root
representation:
  v: xmlAttr
label:
  v: Root
definition:
  v: A unique identifier that guarantees the global uniqueness of the instance identifier. The root alone may be the entire instance identifier.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: II.root
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/oid
    l: oid
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/uuid
    l: uuid
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/ruid
    l: ruid
pattern: String
  v: 2.16.840.1.113883.4.6

id:
  v: ParticipantRole.id:NPI.extension
path:
  v: ParticipantRole.id.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: 0
max:
  v: 1
base:
  path:
    v: II.extension
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/st-simple
    l: st-simple

id:
  v: ParticipantRole.id:CLIA
path:
  v: ParticipantRole.id
slice name:
  v: CLIA
min:
  v: 0
max:
  v: *
base:
  path:
    v: ParticipantRole.id
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/II
    l: II

id:
  v: ParticipantRole.id:CLIA.nullFlavor
path:
  v: ParticipantRole.id.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
    l: code
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/cs-simple
    l: cs-simple
binding:
  strength:
    v: required
  value set:
    v: http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor
    l: CDANullFlavor

id:
  v: ParticipantRole.id:CLIA.assigningAuthorityName
path:
  v: ParticipantRole.id.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
    l: string
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/st-simple
    l: st-simple

id:
  v: ParticipantRole.id:CLIA.displayable
path:
  v: ParticipantRole.id.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
    l: boolean
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/bl-simple
    l: bl-simple

id:
  v: ParticipantRole.id:CLIA.root
path:
  v: ParticipantRole.id.root
representation:
  v: xmlAttr
label:
  v: Root
definition:
  v: A unique identifier that guarantees the global uniqueness of the instance identifier. The root alone may be the entire instance identifier.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: II.root
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/oid
    l: oid
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/uuid
    l: uuid
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/ruid
    l: ruid
pattern: String
  v: 2.16.840.1.113883.4.7

id:
  v: ParticipantRole.id:CLIA.extension
path:
  v: ParticipantRole.id.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: 0
max:
  v: 1
base:
  path:
    v: II.extension
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/st-simple
    l: st-simple

id:
  v: ParticipantRole.id:NAIC
path:
  v: ParticipantRole.id
slice name:
  v: NAIC
min:
  v: 0
max:
  v: *
base:
  path:
    v: ParticipantRole.id
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/II
    l: II

id:
  v: ParticipantRole.id:NAIC.nullFlavor
path:
  v: ParticipantRole.id.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
    l: code
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/cs-simple
    l: cs-simple
binding:
  strength:
    v: required
  value set:
    v: http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor
    l: CDANullFlavor

id:
  v: ParticipantRole.id:NAIC.assigningAuthorityName
path:
  v: ParticipantRole.id.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
    l: string
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/st-simple
    l: st-simple

id:
  v: ParticipantRole.id:NAIC.displayable
path:
  v: ParticipantRole.id.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
    l: boolean
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/bl-simple
    l: bl-simple

id:
  v: ParticipantRole.id:NAIC.root
path:
  v: ParticipantRole.id.root
representation:
  v: xmlAttr
label:
  v: Root
definition:
  v: A unique identifier that guarantees the global uniqueness of the instance identifier. The root alone may be the entire instance identifier.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: II.root
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/oid
    l: oid
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/uuid
    l: uuid
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/ruid
    l: ruid
pattern: String
  v: 2.16.840.1.113883.6.300

id:
  v: ParticipantRole.id:NAIC.extension
path:
  v: ParticipantRole.id.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: 0
max:
  v: 1
base:
  path:
    v: II.extension
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/st-simple
    l: st-simple

id:
  v: ParticipantRole.sdtcIdentifiedBy
extension:
  url:
    v: http://hl7.org/fhir/tools/StructureDefinition/xml-namespace
    l: xml-namespace
  value: Uri
    v: urn:hl7-org:sdtc
    l: sdtc
extension:
  url:
    v: http://hl7.org/fhir/tools/StructureDefinition/xml-name
    l: xml-name
  value: String
    v: identifiedBy
path:
  v: ParticipantRole.sdtcIdentifiedBy
min:
  v: 0
max:
  v: *
base:
  path:
    v: ParticipantRole.sdtcIdentifiedBy
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/IdentifiedBy
    l: IdentifiedBy

id:
  v: ParticipantRole.code
extension:
  url:
    v: http://hl7.org/fhir/us/core/StructureDefinition/uscdi-requirement
    l: uscdi-requirement
  value: Boolean
    v: true
path:
  v: ParticipantRole.code
min:
  v: 1
max:
  v: 1
base:
  path:
    v: ParticipantRole.code
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/CE
    l: CE
constraint:
  key:
    v: shall-use-one-binding
  severity:
    v: error
  human:
    v: The code shall belong to one of the value sets.
  expression:
    v: code.exists() implies (code.memberOf('http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.1.11.20275') or code.memberOf('http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1267.26') or code.memberOf('http://hl7.org/cda/us/ccda/ValueSet/CMSPlaceOfServiceCodes'))
  source:
    v: http://hl7.org/cda/us/ccda/StructureDefinition/ServiceDeliveryLocation
    l: ServiceDeliveryLocation
binding:
  strength:
    v: preferred
  description:
    v: 𝗨𝗦𝗖𝗗𝗜: Facility Type
  value set:
    v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1267.31
    l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1267.31
  additional:
    purpose:
      v: preferred
    value set:
      v: http://terminology.hl7.org/ValueSet/CMSPlaceOfServiceCodes
      l: CMSPlaceOfServiceCodes
    documentation:
      v: Not required for USCDI certification
    short doco:
      v: CMS Place of Service

id:
  v: ParticipantRole.addr
path:
  v: ParticipantRole.addr
min:
  v: 0
max:
  v: 1
base:
  path:
    v: ParticipantRole.addr
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/AD
    l: AD
  profile:
    v: http://hl7.org/cda/us/ccda/StructureDefinition/USRealmAddress
    l: USRealmAddress

id:
  v: ParticipantRole.telecom
path:
  v: ParticipantRole.telecom
comment:
  v: SHOULD contain zero or more [0..*] telecom (CONF:81-7761).
min:
  v: 0
max:
  v: *
base:
  path:
    v: ParticipantRole.telecom
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/TEL
    l: TEL

id:
  v: ParticipantRole.playingDevice
path:
  v: ParticipantRole.playingDevice
min:
  v: 0
max:
  v: 1
base:
  path:
    v: ParticipantRole.playingDevice
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/Device
    l: Device

id:
  v: ParticipantRole.playingEntity
path:
  v: ParticipantRole.playingEntity
comment:
  v: MAY contain zero or one [0..1] playingEntity (CONF:81-7762).
min:
  v: 1
max:
  v: 1
base:
  path:
    v: ParticipantRole.playingEntity
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/PlayingEntity
    l: PlayingEntity

id:
  v: ParticipantRole.playingEntity.nullFlavor
path:
  v: ParticipantRole.playingEntity.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
    l: code
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/cs-simple
    l: cs-simple
binding:
  strength:
    v: required
  value set:
    v: http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor
    l: CDANullFlavor

id:
  v: ParticipantRole.playingEntity.realmCode
path:
  v: ParticipantRole.playingEntity.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
    l: CS

id:
  v: ParticipantRole.playingEntity.typeId
path:
  v: ParticipantRole.playingEntity.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
    l: 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
    l: InfrastructureRoot

id:
  v: ParticipantRole.playingEntity.typeId.nullFlavor
path:
  v: ParticipantRole.playingEntity.typeId.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
    l: code
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/cs-simple
    l: cs-simple
binding:
  strength:
    v: required
  value set:
    v: http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor
    l: CDANullFlavor

id:
  v: ParticipantRole.playingEntity.typeId.assigningAuthorityName
path:
  v: ParticipantRole.playingEntity.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
    l: string
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/st-simple
    l: st-simple

id:
  v: ParticipantRole.playingEntity.typeId.displayable
path:
  v: ParticipantRole.playingEntity.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
    l: boolean
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/bl-simple
    l: bl-simple

id:
  v: ParticipantRole.playingEntity.typeId.root
path:
  v: ParticipantRole.playingEntity.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
    l: string
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/oid
    l: oid
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/uuid
    l: uuid
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/ruid
    l: ruid
fixed: String
  v: 2.16.840.1.113883.1.3

id:
  v: ParticipantRole.playingEntity.typeId.extension
path:
  v: ParticipantRole.playingEntity.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
    l: string
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/st-simple
    l: st-simple

id:
  v: ParticipantRole.playingEntity.templateId
path:
  v: ParticipantRole.playingEntity.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
    l: II

id:
  v: ParticipantRole.playingEntity.classCode
path:
  v: ParticipantRole.playingEntity.classCode
representation:
  v: xmlAttr
comment:
  v: The playingEntity, if present, SHALL contain exactly one [1..1] @classCode="PLC" (CodeSystem: HL7EntityClass urn:oid:2.16.840.1.113883.5.41 STATIC) (CONF:81-7763).
min:
  v: 1
max:
  v: 1
base:
  path:
    v: PlayingEntity.classCode
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: code
    l: code
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/cs-simple
    l: cs-simple
default value: Code
  v: ENT
fixed: Code
  v: PLC
binding:
  strength:
    v: required
  value set:
    v: http://terminology.hl7.org/ValueSet/v3-EntityClassRoot
    l: v3-EntityClassRoot

id:
  v: ParticipantRole.playingEntity.determinerCode
path:
  v: ParticipantRole.playingEntity.determinerCode
representation:
  v: xmlAttr
min:
  v: 0
max:
  v: 1
base:
  path:
    v: PlayingEntity.determinerCode
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: code
    l: code
  profile:
    v: http://hl7.org/cda/stds/core/StructureDefinition/cs-simple
    l: cs-simple
fixed: Code
  v: INSTANCE
binding:
  strength:
    v: required
  value set:
    v: http://terminology.hl7.org/ValueSet/v3-EntityDeterminer
    l: v3-EntityDeterminer

id:
  v: ParticipantRole.playingEntity.code
path:
  v: ParticipantRole.playingEntity.code
min:
  v: 0
max:
  v: 1
base:
  path:
    v: PlayingEntity.code
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/CE
    l: CE
binding:
  strength:
    v: example
  value set:
    v: http://hl7.org/cda/stds/core/ValueSet/CDAEntityCode
    l: CDAEntityCode

id:
  v: ParticipantRole.playingEntity.quantity
path:
  v: ParticipantRole.playingEntity.quantity
min:
  v: 0
max:
  v: *
base:
  path:
    v: PlayingEntity.quantity
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/PQ
    l: PQ

id:
  v: ParticipantRole.playingEntity.name
extension:
  url:
    v: http://hl7.org/fhir/us/core/StructureDefinition/uscdi-requirement
    l: uscdi-requirement
  value: Boolean
    v: true
path:
  v: ParticipantRole.playingEntity.name
short:
  v: 𝗨𝗦𝗖𝗗𝗜: Facility Name
min:
  v: 1
max:
  v: 1
base:
  path:
    v: PlayingEntity.name
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/PN
    l: PN

id:
  v: ParticipantRole.playingEntity.sdtcBirthTime
extension:
  url:
    v: http://hl7.org/fhir/tools/StructureDefinition/xml-namespace
    l: xml-namespace
  value: Uri
    v: urn:hl7-org:sdtc
    l: sdtc
extension:
  url:
    v: http://hl7.org/fhir/tools/StructureDefinition/xml-name
    l: xml-name
  value: String
    v: birthTime
path:
  v: ParticipantRole.playingEntity.sdtcBirthTime
definition:
  v: The purpose of this extension is to allow the recording of the subscriber or member of a health plan in cases where the health plan eligibility system has different information on file than the provider does for the patient.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: PlayingEntity.sdtcBirthTime
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/TS
    l: TS

id:
  v: ParticipantRole.playingEntity.desc
path:
  v: ParticipantRole.playingEntity.desc
min:
  v: 0
max:
  v: 1
base:
  path:
    v: PlayingEntity.desc
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/ED
    l: ED

id:
  v: ParticipantRole.scopingEntity
path:
  v: ParticipantRole.scopingEntity
min:
  v: 0
max:
  v: 1
base:
  path:
    v: ParticipantRole.scopingEntity
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/Entity
    l: Entity

element:
  id:
    v: ParticipantRole
  path:
    v: ParticipantRole
  constraint:
    key:
      v: should-addr
    severity:
      v: warning
    human:
      v: SHOULD contain addr
    expression:
      v: addr.exists()
    source:
      v: http://hl7.org/cda/us/ccda/StructureDefinition/ServiceDeliveryLocation
      l: ServiceDeliveryLocation
  constraint:
    key:
      v: should-telecom
    severity:
      v: warning
    human:
      v: SHOULD contain telecom
    expression:
      v: telecom.exists()
    source:
      v: http://hl7.org/cda/us/ccda/StructureDefinition/ServiceDeliveryLocation
      l: ServiceDeliveryLocation
element:
  id:
    v: ParticipantRole.templateId
  path:
    v: ParticipantRole.templateId
  slicing:
    discriminator:
      type:
        v: value
      path:
        v: root
    rules:
      v: open
  min:
    v: 1
element:
  id:
    v: ParticipantRole.templateId:service-delivery-loc
  path:
    v: ParticipantRole.templateId
  slice name:
    v: service-delivery-loc
  min:
    v: 1
  max:
    v: 1
element:
  id:
    v: ParticipantRole.templateId:service-delivery-loc.root
  path:
    v: ParticipantRole.templateId.root
  min:
    v: 1
  pattern: String
    v: 2.16.840.1.113883.10.20.22.4.32
element:
  id:
    v: ParticipantRole.templateId:service-delivery-loc.extension
  path:
    v: ParticipantRole.templateId.extension
  max:
    v: 0
element:
  id:
    v: ParticipantRole.classCode
  path:
    v: ParticipantRole.classCode
  comment:
    v: SHALL contain exactly one [1..1] @classCode="SDLOC" (CodeSystem: HL7RoleCode urn:oid:2.16.840.1.113883.5.111 STATIC) (CONF:81-7758).
  min:
    v: 1
  fixed: Code
    v: SDLOC
element:
  id:
    v: ParticipantRole.id
  extension:
    url:
      v: http://hl7.org/fhir/us/core/StructureDefinition/uscdi-requirement
      l: uscdi-requirement
    value: Boolean
      v: true
  path:
    v: ParticipantRole.id
  slicing:
    discriminator:
      type:
        v: value
      path:
        v: root
    rules:
      v: open
  short:
    v: 𝗨𝗦𝗖𝗗𝗜: Facility Identifier
  comment:
    v: Systems SHALL support National Provider Identifier (NPI) for organizations and SHOULD support Clinical Laboratory Improvement Amendments (CLIA) for laboratories and the National Association of Insurance Commissioners NAIC Company code (sometimes called “NAIC Number” or “cocode”) for payers.
element:
  id:
    v: ParticipantRole.id:NPI
  path:
    v: ParticipantRole.id
  slice name:
    v: NPI
  min:
    v: 0
  max:
    v: *
element:
  id:
    v: ParticipantRole.id:NPI.root
  path:
    v: ParticipantRole.id.root
  min:
    v: 1
  pattern: String
    v: 2.16.840.1.113883.4.6
element:
  id:
    v: ParticipantRole.id:CLIA
  path:
    v: ParticipantRole.id
  slice name:
    v: CLIA
  min:
    v: 0
  max:
    v: *
element:
  id:
    v: ParticipantRole.id:CLIA.root
  path:
    v: ParticipantRole.id.root
  min:
    v: 1
  pattern: String
    v: 2.16.840.1.113883.4.7
element:
  id:
    v: ParticipantRole.id:NAIC
  path:
    v: ParticipantRole.id
  slice name:
    v: NAIC
  min:
    v: 0
  max:
    v: *
element:
  id:
    v: ParticipantRole.id:NAIC.root
  path:
    v: ParticipantRole.id.root
  min:
    v: 1
  pattern: String
    v: 2.16.840.1.113883.6.300
element:
  id:
    v: ParticipantRole.code
  extension:
    url:
      v: http://hl7.org/fhir/us/core/StructureDefinition/uscdi-requirement
      l: uscdi-requirement
    value: Boolean
      v: true
  path:
    v: ParticipantRole.code
  min:
    v: 1
  constraint:
    key:
      v: shall-use-one-binding
    severity:
      v: error
    human:
      v: The code shall belong to one of the value sets.
    expression:
      v: code.exists() implies (code.memberOf('http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.1.11.20275') or code.memberOf('http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1267.26') or code.memberOf('http://hl7.org/cda/us/ccda/ValueSet/CMSPlaceOfServiceCodes'))
    source:
      v: http://hl7.org/cda/us/ccda/StructureDefinition/ServiceDeliveryLocation
      l: ServiceDeliveryLocation
  binding:
    strength:
      v: preferred
    description:
      v: 𝗨𝗦𝗖𝗗𝗜: Facility Type
    value set:
      v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1267.31
      l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1267.31
    additional:
      purpose:
        v: preferred
      value set:
        v: http://terminology.hl7.org/ValueSet/CMSPlaceOfServiceCodes
        l: CMSPlaceOfServiceCodes

v: Not required for USCDI certification

v: CMS Place of Service

id:
  v: ParticipantRole.addr
path:
  v: ParticipantRole.addr
max:
  v: 1
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/AD
    l: AD
  profile:
    v: http://hl7.org/cda/us/ccda/StructureDefinition/USRealmAddress
    l: USRealmAddress

id:
  v: ParticipantRole.telecom
path:
  v: ParticipantRole.telecom
comment:
  v: SHOULD contain zero or more [0..*] telecom (CONF:81-7761).

id:
  v: ParticipantRole.playingEntity
path:
  v: ParticipantRole.playingEntity
comment:
  v: MAY contain zero or one [0..1] playingEntity (CONF:81-7762).
min:
  v: 1

id:
  v: ParticipantRole.playingEntity.classCode
path:
  v: ParticipantRole.playingEntity.classCode
comment:
  v: The playingEntity, if present, SHALL contain exactly one [1..1] @classCode="PLC" (CodeSystem: HL7EntityClass urn:oid:2.16.840.1.113883.5.41 STATIC) (CONF:81-7763).
min:
  v: 1
fixed: Code
  v: PLC

id:
  v: ParticipantRole.playingEntity.name
extension:
  url:
    v: http://hl7.org/fhir/us/core/StructureDefinition/uscdi-requirement
    l: uscdi-requirement
  value: Boolean
    v: true
path:
  v: ParticipantRole.playingEntity.name
short:
  v: 𝗨𝗦𝗖𝗗𝗜: Facility Name
min:
  v: 1
max:
  v: 1