ProvenanceAuthorParticipation
type: StructureDefinition
node role: treeRoot
id:
  v: ProvenanceAuthorParticipation
text:
  status:
    v: extensions
  div:
    v: Generated Narrative: StructureDefinition ProvenanceAuthorParticipation Name Flags Card. Type Description & Constraints<img src="[binary]" alt="doco" style="background-color: inherit"/> Author Author XML Namespace: urn:hl7-org:v3 Instance of this type are validated by templateId Logical Container: ClinicalDocument (CDA Class) #xD; Slices for templateId 1..* II Slice: Unordered, Open by value:root, value:extension #xD; templateId:provenance-author 1..1 II #xD; @root 1..1 oid, uuid, ruid Required Pattern: 2.16.840.1.113883.10.20.22.5.6 #xD; @extension 1..1 st Required Pattern: 2019-10-01 #xD; time 1..1 TS 헨?헦?헖?헗?헜?: Author Time Stamp #xD; assignedAuthor <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 ( author-details, 4515-64, should-code )">C 1..1 AssignedAuthor Constraints: author-details, 4515-64, should-code #xD; Slices for id 1..* II Slice: Unordered, Open by value:root #xD; id:npi 1..1 II #xD; @nullFlavor 0..1 cs If NPI is unknown, set @nullFlavor to UNK #xD; @root 1..1 oid, uuid, ruid Required Pattern: 2.16.840.1.113883.4.6 #xD; @extension 0..1 st #xD; code 0..1 CE 헨?헦?헖?헗?헜?: Author Role - When the author is a person who is not acting in the role of a clinician, this code encodes the personal or legal relationship between author and the patient. Binding: CDARoleCode (example): See additional bindings Additional Bindings Purpose Documentation Healthcare Provider Taxonomy Preferred Providers Personal And Legal Relationship Role Type Preferred Non-clinicians #xD; sdtcSpecialty 0..* CE Binding: PracticeSettingCodeValueSet (preferred) #xD; addr 0..* USRealmAddress Required on at least one instance of this author in the document #xD; t…
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: author
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/ProvenanceAuthorParticipation
  l: ProvenanceAuthorParticipation
identifier:
  system:
    v: urn:ietf:rfc:3986
    l: 3986
  value:
    v: urn:hl7ii:2.16.840.1.113883.10.20.22.5.6:2019-10-01
version:
  v: 5.0.0
name:
  v: ProvenanceAuthorParticipation
title:
  v: Provenance - Author Participation
status:
  v: draft
date:
  v: 2026-06-13T01:56:42+10: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 template represents the key information to record Provenance in an Author Participation. This Participation is appropriate at any place CDA allows an author. For example, at the CDA Header, CDA Section, CDA Entry, or within a CDA entry (e.g. Organizer and contained Observation(s)). This template is consistent with the C-CDA Author Participation, however, it doesnt use a formal conforms to relationship. All constraints for conformance are defined in this template which specializes the Author Participation (2.16.840.1.113883.10.20.22.4.119). This template is used to identify primary authorship for an entry. An entry may have many authors, but recipients need a single authoritative point of contact for resolving issues. This is typically the last provider to make substantive changes to the entry If two providers are simultaneously involved in that activity, the implementer must choose one, ideally in a repeatable way. The `assignedAuthor/id` may be set equal to (a pointer to) an id on a participant elsewhere in the document (header or entries) or a new author participant can be described here. Note: The Provenance template title includes a version 2 to support moving from the 'Basic Provenance' guide to the this Companion Guide, so the templateId has not changed.
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/Author
  l: Author
base definition:
  v: http://hl7.org/cda/stds/core/StructureDefinition/Author
  l: Author
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.3-sd
  element:
    id:
      v: Author
    path:
      v: Author
    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: Author.nullFlavor
    path:
      v: Author.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
  element:
    id:
      v: Author.realmCode
    path:
      v: Author.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
  element:
    id:
      v: Author.typeId
    path:
      v: Author.typeId

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.

v: 0

v: 1

path:
  v: InfrastructureRoot.typeId
min:
  v: 0
max:
  v: 1

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: Author.typeId.nullFlavor
path:
  v: Author.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: Author.typeId.assigningAuthorityName
path:
  v: Author.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: Author.typeId.displayable
path:
  v: Author.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: Author.typeId.root
path:
  v: Author.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: Author.typeId.extension
path:
  v: Author.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: Author.templateId
path:
  v: Author.templateId
slicing:
  discriminator:
    type:
      v: value
    path:
      v: root
  discriminator:
    type:
      v: value
    path:
      v: extension
  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: Author.templateId:provenance-author
path:
  v: Author.templateId
slice name:
  v: provenance-author
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: Author.templateId:provenance-author.nullFlavor
path:
  v: Author.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: Author.templateId:provenance-author.assigningAuthorityName
path:
  v: Author.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: Author.templateId:provenance-author.displayable
path:
  v: Author.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: Author.templateId:provenance-author.root
path:
  v: Author.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.5.6

id:
  v: Author.templateId:provenance-author.extension
path:
  v: Author.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: 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
pattern: String
  v: 2019-10-01

id:
  v: Author.typeCode
path:
  v: Author.typeCode
representation:
  v: xmlAttr
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Author.typeCode
  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: AUT
binding:
  strength:
    v: required
  value set:
    v: http://hl7.org/cda/stds/core/ValueSet/CDAParticipationType
    l: CDAParticipationType

id:
  v: Author.contextControlCode
path:
  v: Author.contextControlCode
representation:
  v: xmlAttr
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Author.contextControlCode
  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: OP
binding:
  strength:
    v: required
  value set:
    v: http://hl7.org/cda/stds/core/ValueSet/CDAContextControl
    l: CDAContextControl

id:
  v: Author.functionCode
path:
  v: Author.functionCode
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Author.functionCode
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/CE
    l: CE

id:
  v: Author.time
extension:
  url:
    v: http://hl7.org/fhir/us/core/StructureDefinition/uscdi-requirement
    l: uscdi-requirement
  value: Boolean
    v: true
path:
  v: Author.time
short:
  v: 𝗨𝗦𝗖𝗗𝗜: Author Time Stamp
comment:
  v: SHALL contain exactly one [1..1] time (CONF:4515-32983).
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Author.time
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/TS
    l: TS

id:
  v: Author.assignedAuthor
path:
  v: Author.assignedAuthor
comment:
  v: SHALL contain exactly one [1..1] assignedAuthor (CONF:4515-32975).
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Author.assignedAuthor
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/AssignedAuthor
    l: AssignedAuthor
constraint:
  key:
    v: author-details
  severity:
    v: error
  human:
    v: Authors require addr, telecom, and either assignedPerson/name or assignedAuthoringDevice/manufacturerModelName. These may be present on this author or on another instance of an Author Participation in the document that has an id that matches the first id of this author.
  expression:
    v: nullFlavor.exists() or (addr.exists() and telecom.exists() and (assignedPerson.name.exists() or assignedAuthoringDevice.manufacturerModelName.exists())) or (%resource.descendants().ofType(CDA.AssignedAuthor).where(id.exists($this.root = %context.id.first().root and $this.extension ~ %context.id.first().extension) and addr.exists() and telecom.exists() and (assignedPerson.name.exists() or assignedAuthoringDevice.manufacturerModelName.exists())))
  source:
    v: http://hl7.org/cda/us/ccda/StructureDefinition/ProvenanceAuthorParticipation
    l: ProvenanceAuthorParticipation
constraint:
  key:
    v: 4515-64
  severity:
    v: error
  human:
    v: If the assignedAuthor/id is not referencing a Provenance Author described elsewhere in the document with a representedOrganization populated, this assignedAuthor SHALL contain exactly one [1..1] representedOrganization (CONF:4515-64).
  expression:
    v: representedOrganization.exists() or (%resource.descendants().ofType(CDA.Author).where(templateId.exists($this.root = '2.16.840.1.113883.10.20.22.5.6' and $this.extension = '2019-10-01') and assignedAuthor.representedOrganization.exists() and assignedAuthor.id.exists($this.root = %context.id.first().root and $this.extension ~ %context.id.first().extension)))
  source:
    v: http://hl7.org/cda/us/ccda/StructureDefinition/ProvenanceAuthorParticipation
    l: ProvenanceAuthorParticipation
constraint:
  key:
    v: should-code
  severity:
    v: warning
  human:
    v: SHOULD contain code
  expression:
    v: code.exists()
  source:
    v: http://hl7.org/cda/us/ccda/StructureDefinition/ProvenanceAuthorParticipation
    l: ProvenanceAuthorParticipation

id:
  v: Author.assignedAuthor.nullFlavor
path:
  v: Author.assignedAuthor.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: Author.assignedAuthor.realmCode
path:
  v: Author.assignedAuthor.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: Author.assignedAuthor.typeId
path:
  v: Author.assignedAuthor.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: Author.assignedAuthor.typeId.nullFlavor
path:
  v: Author.assignedAuthor.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: Author.assignedAuthor.typeId.assigningAuthorityName
path:
  v: Author.assignedAuthor.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: Author.assignedAuthor.typeId.displayable
path:
  v: Author.assignedAuthor.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: Author.assignedAuthor.typeId.root
path:
  v: Author.assignedAuthor.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: Author.assignedAuthor.typeId.extension
path:
  v: Author.assignedAuthor.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: Author.assignedAuthor.templateId
path:
  v: Author.assignedAuthor.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: Author.assignedAuthor.classCode
path:
  v: Author.assignedAuthor.classCode
representation:
  v: xmlAttr
min:
  v: 0
max:
  v: 1
base:
  path:
    v: AssignedAuthor.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
fixed: Code
  v: ASSIGNED
binding:
  strength:
    v: required
  value set:
    v: http://terminology.hl7.org/ValueSet/v3-RoleClassAssignedEntity
    l: v3-RoleClassAssignedEntity

id:
  v: Author.assignedAuthor.id
path:
  v: Author.assignedAuthor.id
slicing:
  discriminator:
    type:
      v: value
    path:
      v: root
  rules:
    v: open
comment:
  v: This assignedAuthor SHALL contain exactly one [1..1] id (CONF:4515-20) such that. it This assignedAuthor SHALL contain at least one [1..*] id (CONF:4515-2).
min:
  v: 1
max:
  v: *
base:
  path:
    v: AssignedAuthor.id
  min:
    v: 1
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/II
    l: II

id:
  v: Author.assignedAuthor.id:npi
path:
  v: Author.assignedAuthor.id
slice name:
  v: npi
comment:
  v: This assignedAuthor SHALL contain exactly one [1..1] id (CONF:4515-20) such that it
min:
  v: 1
max:
  v: 1
base:
  path:
    v: AssignedAuthor.id
  min:
    v: 1
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/II
    l: II

id:
  v: Author.assignedAuthor.id:npi.nullFlavor
path:
  v: Author.assignedAuthor.id.nullFlavor
representation:
  v: xmlAttr
label:
  v: Exceptional Value Detail
short:
  v: If NPI is unknown, set @nullFlavor to UNK
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: Author.assignedAuthor.id:npi.assigningAuthorityName
path:
  v: Author.assignedAuthor.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: Author.assignedAuthor.id:npi.displayable
path:
  v: Author.assignedAuthor.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: Author.assignedAuthor.id:npi.root
path:
  v: Author.assignedAuthor.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.
comment:
  v: SHALL contain exactly one [1..1] @root="2.16.840.1.113883.4.6" National Provider Identifier (CONF:4515-22).
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: Author.assignedAuthor.id:npi.extension
path:
  v: Author.assignedAuthor.id.extension
representation:
  v: xmlAttr
label:
  v: Extension
definition:
  v: A character string as a unique identifier within the scope of the identifier root.
comment:
  v: SHOULD contain zero or one [0..1] @extension (CONF:4515-23).
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: Author.assignedAuthor.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: Author.assignedAuthor.sdtcIdentifiedBy
min:
  v: 0
max:
  v: *
base:
  path:
    v: AssignedAuthor.sdtcIdentifiedBy
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/IdentifiedBy
    l: IdentifiedBy

id:
  v: Author.assignedAuthor.code
extension:
  url:
    v: http://hl7.org/fhir/us/core/StructureDefinition/uscdi-requirement
    l: uscdi-requirement
  value: Boolean
    v: true
path:
  v: Author.assignedAuthor.code
short:
  v: 𝗨𝗦𝗖𝗗𝗜: Author Role - When the author is a person who is not acting in the role of a clinician, this code encodes the personal or legal relationship between author and the patient.
comment:
  v: This assignedAuthor SHOULD contain zero or one [0..1] code (CONF:4515-32979).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: AssignedAuthor.code
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/CE
    l: CE
binding:
  strength:
    v: example
  description:
    v: See additional bindings
  value set:
    v: http://hl7.org/cda/stds/core/ValueSet/CDARoleCode
    l: CDARoleCode
  additional:
    purpose:
      v: preferred
    value set:
      v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.1066
      l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.1066
    documentation:
      v: If the content is provider authored, the code SHOULD be selected from ValueSet Healthcare Provider Taxonomy urn:oid:2.16.840.1.114222.4.11.1066 DYNAMIC (CONF:4515-56).
    short doco:
      v: Providers
  additional:
    purpose:
      v: preferred
    value set:
      v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.11.20.12.1
      l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.11.20.12.1
    documentation:
      v: If the author is a person who is not acting in the role of a clinician, the code SHOULD be selected from ValueSet Personal And Legal Relationship Role Type urn:oid:2.16.840.1.113883.11.20.12.1 DYNAMIC (CONF:4515-57).
    short doco:
      v: Non-clinicians

id:
  v: Author.assignedAuthor.sdtcSpecialty
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: specialty
path:
  v: Author.assignedAuthor.sdtcSpecialty
min:
  v: 0
max:
  v: *
base:
  path:
    v: AssignedAuthor.sdtcSpecialty
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/CE
    l: CE
binding:
  strength:
    v: preferred
  value set:
    v: http://hl7.org/fhir/ValueSet/c80-practice-codes
    l: c80-practice-codes

id:
  v: Author.assignedAuthor.addr
path:
  v: Author.assignedAuthor.addr
short:
  v: Required on at least one instance of this author in the document
min:
  v: 0
max:
  v: *
base:
  path:
    v: AssignedAuthor.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: Author.assignedAuthor.telecom
path:
  v: Author.assignedAuthor.telecom
short:
  v: Required on at least one instance of this author in the document
min:
  v: 0
max:
  v: *
base:
  path:
    v: AssignedAuthor.telecom
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/TEL
    l: TEL

id:
  v: Author.assignedAuthor.assignedPerson
extension:
  url:
    v: http://hl7.org/fhir/us/core/StructureDefinition/uscdi-requirement
    l: uscdi-requirement
  value: Boolean
    v: true
path:
  v: Author.assignedAuthor.assignedPerson
short:
  v: 𝗨𝗦𝗖𝗗𝗜: Author - assignedPerson/name or assignedAuthoringDevice/manufacturerModelName is required on at least one instance of this author in the document
min:
  v: 0
max:
  v: 1
base:
  path:
    v: AssignedAuthor.assignedPerson
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/Person
    l: Person

id:
  v: Author.assignedAuthor.assignedPerson.nullFlavor
path:
  v: Author.assignedAuthor.assignedPerson.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: Author.assignedAuthor.assignedPerson.realmCode
path:
  v: Author.assignedAuthor.assignedPerson.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: Author.assignedAuthor.assignedPerson.typeId
path:
  v: Author.assignedAuthor.assignedPerson.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: Author.assignedAuthor.assignedPerson.typeId.nullFlavor
path:
  v: Author.assignedAuthor.assignedPerson.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: Author.assignedAuthor.assignedPerson.typeId.assigningAuthorityName
path:
  v: Author.assignedAuthor.assignedPerson.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: Author.assignedAuthor.assignedPerson.typeId.displayable
path:
  v: Author.assignedAuthor.assignedPerson.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: Author.assignedAuthor.assignedPerson.typeId.root
path:
  v: Author.assignedAuthor.assignedPerson.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: Author.assignedAuthor.assignedPerson.typeId.extension
path:
  v: Author.assignedAuthor.assignedPerson.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: Author.assignedAuthor.assignedPerson.templateId
path:
  v: Author.assignedAuthor.assignedPerson.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: Author.assignedAuthor.assignedPerson.classCode
path:
  v: Author.assignedAuthor.assignedPerson.classCode
representation:
  v: xmlAttr
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Person.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
fixed: Code
  v: PSN
binding:
  strength:
    v: required
  value set:
    v: http://terminology.hl7.org/ValueSet/v3-EntityClassLivingSubject
    l: v3-EntityClassLivingSubject

id:
  v: Author.assignedAuthor.assignedPerson.determinerCode
path:
  v: Author.assignedAuthor.assignedPerson.determinerCode
representation:
  v: xmlAttr
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Person.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: Author.assignedAuthor.assignedPerson.name
path:
  v: Author.assignedAuthor.assignedPerson.name
comment:
  v: The assignedPerson, if present, SHALL contain at least one [1..*] name (CONF:4515-32977).
min:
  v: 1
max:
  v: *
base:
  path:
    v: Person.name
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/PN
    l: PN
constraint:
  key:
    v: shall-family
  severity:
    v: error
  human:
    v: SHALL contain exactly one [1..1] family (CONF:81-7159).
  expression:
    v: nullFlavor.exists() or item.family.count() = 1
  source:
    v: http://hl7.org/cda/us/ccda/StructureDefinition/ProvenanceAuthorParticipation
    l: ProvenanceAuthorParticipation
constraint:
  key:
    v: should-given
  severity:
    v: warning
  human:
    v: SHOULD contain given
  expression:
    v: item.given.exists()
  source:
    v: http://hl7.org/cda/us/ccda/StructureDefinition/ProvenanceAuthorParticipation
    l: ProvenanceAuthorParticipation

id:
  v: Author.assignedAuthor.assignedPerson.name.nullFlavor
path:
  v: Author.assignedAuthor.assignedPerson.name.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: Author.assignedAuthor.assignedPerson.name.use
path:
  v: Author.assignedAuthor.assignedPerson.name.use
representation:
  v: xmlAttr
label:
  v: Use Code
definition:
  v: A set of codes advising a system or user which name in a set of like names to select for a given purpose. A name without specific use code might be a default name useful for any purpose, but a name with a specific use code would be preferred for that respective purpose
min:
  v: 0
max:
  v: *
base:
  path:
    v: EN.use
  min:
    v: 0
  max:
    v: *
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/CDAEntityNameUse
    l: CDAEntityNameUse

id:
  v: Author.assignedAuthor.assignedPerson.name.item
extension:
  url:
    v: http://hl7.org/fhir/tools/StructureDefinition/xml-choice-group
    l: xml-choice-group
  value: Boolean
    v: true
path:
  v: Author.assignedAuthor.assignedPerson.name.item
definition:
  v: A series of items that constitute the name.
min:
  v: 0
max:
  v: *
base:
  path:
    v: EN.item
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: http://hl7.org/fhir/StructureDefinition/Base
    l: Base
constraint:
  key:
    v: EN-1
  severity:
    v: error
  human:
    v: Can only have only one of the possible item elements in each choice
  expression:
    v: (delimiter | family | given | prefix | suffix | xmlText).count() = 1
  source:
    v: http://hl7.org/cda/stds/core/StructureDefinition/EN
    l: EN

id:
  v: Author.assignedAuthor.assignedPerson.name.item.delimiter
path:
  v: Author.assignedAuthor.assignedPerson.name.item.delimiter
min:
  v: 0
max:
  v: *
base:
  path:
    v: EN.item.delimiter
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/ENXP
    l: ENXP

id:
  v: Author.assignedAuthor.assignedPerson.name.item.family
path:
  v: Author.assignedAuthor.assignedPerson.name.item.family
short:
  v: Family required
comment:
  v: Such names SHALL contain exactly one [1..1] family (CONF:4515-17).
min:
  v: 0
max:
  v: *
base:
  path:
    v: EN.item.family
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/ENXP
    l: ENXP

id:
  v: Author.assignedAuthor.assignedPerson.name.item.given
path:
  v: Author.assignedAuthor.assignedPerson.name.item.given
short:
  v: SHOULD contain given
comment:
  v: Such names SHOULD contain zero or more [0..*] given (CONF:4515-18).
min:
  v: 0
max:
  v: *
base:
  path:
    v: EN.item.given
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/ENXP
    l: ENXP

id:
  v: Author.assignedAuthor.assignedPerson.name.item.prefix
path:
  v: Author.assignedAuthor.assignedPerson.name.item.prefix
min:
  v: 0
max:
  v: *
base:
  path:
    v: EN.item.prefix
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/ENXP
    l: ENXP

id:
  v: Author.assignedAuthor.assignedPerson.name.item.suffix
path:
  v: Author.assignedAuthor.assignedPerson.name.item.suffix
min:
  v: 0
max:
  v: *
base:
  path:
    v: EN.item.suffix
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/ENXP
    l: ENXP

id:
  v: Author.assignedAuthor.assignedPerson.name.item.xmlText
path:
  v: Author.assignedAuthor.assignedPerson.name.item.xmlText
representation:
  v: xmlText
short:
  v: Allows for mixed text content
comment:
  v: This element is represented in XML as textual content. The actual name "xmlText" will not appear in a CDA instance.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EN.item.xmlText
  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: Author.assignedAuthor.assignedPerson.name.validTime
path:
  v: Author.assignedAuthor.assignedPerson.name.validTime
label:
  v: Valid Time
definition:
  v: An interval of time specifying the time during which the name is or was used for the entity. This accomodates the fact that people change names for people, places and things.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: EN.validTime
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/IVL-TS
    l: IVL-TS

id:
  v: Author.assignedAuthor.assignedPerson.sdtcDesc
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: desc
path:
  v: Author.assignedAuthor.assignedPerson.sdtcDesc
definition:
  v: The desc extension allows multimedia depictions of patients, healthcare providers, or other individuals to be included in a CDA document.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Person.sdtcDesc
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/ED
    l: ED

id:
  v: Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship
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: asPatientRelationship
path:
  v: Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship
definition:
  v: Each participant role other than an informant/relatedEntity may have zero or more relationship roles with the patient. Each of these roles can be expressed with an asPatientRelationship element which further describes the type of role using a code element.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Person.sdtcAsPatientRelationship
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/InfrastructureRoot
    l: InfrastructureRoot

id:
  v: Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.nullFlavor
path:
  v: Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.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: Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.realmCode
path:
  v: Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.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: Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.typeId
path:
  v: Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.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/Author
    l: Author

id:
  v: Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.typeId.nullFlavor
path:
  v: Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.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: Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.typeId.assigningAuthorityName
path:
  v: Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.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: Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.typeId.displayable
path:
  v: Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.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: Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.typeId.root
path:
  v: Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.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: Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.typeId.extension
path:
  v: Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.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: Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.templateId
path:
  v: Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.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: Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.classCode
path:
  v: Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.classCode
representation:
  v: xmlAttr
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Person.sdtcAsPatientRelationship.classCode
  min:
    v: 1
  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: PRS

id:
  v: Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.determinerCode
path:
  v: Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.determinerCode
representation:
  v: xmlAttr
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Person.sdtcAsPatientRelationship.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

id:
  v: Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.code
extension:
  url:
    v: http://hl7.org/fhir/tools/StructureDefinition/xml-namespace
    l: xml-namespace
  value: Uri
    v: urn:hl7-org:sdtc
    l: sdtc
path:
  v: Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.code
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Person.sdtcAsPatientRelationship.code
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/CE
    l: CE

id:
  v: Author.assignedAuthor.assignedAuthoringDevice
path:
  v: Author.assignedAuthor.assignedAuthoringDevice
comment:
  v: This assignedAuthor MAY contain zero or one [0..1] assignedAuthoringDevice (CONF:4515-32).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: AssignedAuthor.assignedAuthoringDevice
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/AuthoringDevice
    l: AuthoringDevice

id:
  v: Author.assignedAuthor.representedOrganization
extension:
  url:
    v: http://hl7.org/fhir/us/core/StructureDefinition/uscdi-requirement
    l: uscdi-requirement
  value: Boolean
    v: true
path:
  v: Author.assignedAuthor.representedOrganization
short:
  v: 𝗨𝗦𝗖𝗗𝗜: Author Organization
comment:
  v: If the assignedAuthor/id is not referencing a Provenance Author described elsewhere in the document with a representedOrganization populated, this assignedAuthor SHALL contain exactly one [1..1] representedOrganization (See - CONF:4440-64). This assignedAuthor MAY contain zero or one [0..1] representedOrganization (CONF:4515-32978).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: AssignedAuthor.representedOrganization
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/Organization
    l: Organization
condition:
  v: 4515-64
constraint:
  key:
    v: provenance-org-details
  severity:
    v: error
  human:
    v: If the author is not a clinician, set nullFlavor='NA'. Otherwise, the taxId, npi, and name are required.
  expression:
    v: nullFlavor = 'NA' or (id.where(root='2.16.840.1.113883.4.2').exists() and id.where(root='2.16.840.1.113883.4.6').exists() and name.exists())
  source:
    v: http://hl7.org/cda/us/ccda/StructureDefinition/ProvenanceAuthorParticipation
    l: ProvenanceAuthorParticipation
constraint:
  key:
    v: provenance-should-telecom
  severity:
    v: warning
  human:
    v: If the author is not a clinician, set nullFlavor='NA'. Otherwise, the telecom is required.
  expression:
    v: nullFlavor = 'NA' or telecom.exists()
  source:
    v: http://hl7.org/cda/us/ccda/StructureDefinition/ProvenanceAuthorParticipation
    l: ProvenanceAuthorParticipation

id:
  v: Author.assignedAuthor.representedOrganization.nullFlavor
path:
  v: Author.assignedAuthor.representedOrganization.nullFlavor
representation:
  v: xmlAttr
label:
  v: Exceptional Value Detail
short:
  v: A nullFlavor of "NA" is allowed If the assignedAuthor is not a clinician
definition:
  v: If a value is an exceptional value (NULL-value), this specifies in what way and why proper information is missing.
comment:
  v: The representedOrganization, if present, MAY contain zero or one [0..1] @nullFlavor (CONF:4515-35).
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: Author.assignedAuthor.representedOrganization.realmCode
path:
  v: Author.assignedAuthor.representedOrganization.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: Author.assignedAuthor.representedOrganization.typeId
path:
  v: Author.assignedAuthor.representedOrganization.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: Author.assignedAuthor.representedOrganization.typeId.nullFlavor
path:
  v: Author.assignedAuthor.representedOrganization.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: Author.assignedAuthor.representedOrganization.typeId.assigningAuthorityName
path:
  v: Author.assignedAuthor.representedOrganization.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: Author.assignedAuthor.representedOrganization.typeId.displayable
path:
  v: Author.assignedAuthor.representedOrganization.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: Author.assignedAuthor.representedOrganization.typeId.root
path:
  v: Author.assignedAuthor.representedOrganization.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: Author.assignedAuthor.representedOrganization.typeId.extension
path:
  v: Author.assignedAuthor.representedOrganization.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: Author.assignedAuthor.representedOrganization.templateId
path:
  v: Author.assignedAuthor.representedOrganization.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: Author.assignedAuthor.representedOrganization.classCode
path:
  v: Author.assignedAuthor.representedOrganization.classCode
representation:
  v: xmlAttr
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Organization.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
fixed: Code
  v: ORG
binding:
  strength:
    v: required
  value set:
    v: http://terminology.hl7.org/ValueSet/v3-EntityClassOrganization
    l: v3-EntityClassOrganization

id:
  v: Author.assignedAuthor.representedOrganization.determinerCode
path:
  v: Author.assignedAuthor.representedOrganization.determinerCode
representation:
  v: xmlAttr
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Organization.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: Author.assignedAuthor.representedOrganization.id
path:
  v: Author.assignedAuthor.representedOrganization.id
slicing:
  discriminator:
    type:
      v: value
    path:
      v: root
  rules:
    v: open
comment:
  v: The representedOrganization, if present, SHALL contain exactly one [1..1] id (CONF:4515-28) such that it. The representedOrganization, if present, SHALL contain at least one [1..*] id (CONF:4515-32981).
min:
  v: 0
max:
  v: *
base:
  path:
    v: Organization.id
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/II
    l: II

id:
  v: Author.assignedAuthor.representedOrganization.id:taxId
path:
  v: Author.assignedAuthor.representedOrganization.id
slice name:
  v: taxId
comment:
  v: The representedOrganization, if present, SHALL contain exactly one [1..1] id (CONF:4515-24) such that it
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Organization.id
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/II
    l: II

id:
  v: Author.assignedAuthor.representedOrganization.id:taxId.nullFlavor
path:
  v: Author.assignedAuthor.representedOrganization.id.nullFlavor
representation:
  v: xmlAttr
label:
  v: Exceptional Value Detail
short:
  v: If Tax ID Number is unknown, set @nullFlavor to UNK
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: Author.assignedAuthor.representedOrganization.id:taxId.assigningAuthorityName
path:
  v: Author.assignedAuthor.representedOrganization.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: Author.assignedAuthor.representedOrganization.id:taxId.displayable
path:
  v: Author.assignedAuthor.representedOrganization.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: Author.assignedAuthor.representedOrganization.id:taxId.root
path:
  v: Author.assignedAuthor.representedOrganization.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.
comment:
  v: SHALL contain exactly one [1..1] @root="2.16.840.1.113883.4.2" Tax ID Number (CONF:4515-26).
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.2

id:
  v: Author.assignedAuthor.representedOrganization.id:taxId.extension
path:
  v: Author.assignedAuthor.representedOrganization.id.extension
representation:
  v: xmlAttr
label:
  v: Extension
definition:
  v: A character string as a unique identifier within the scope of the identifier root.
comment:
  v: SHOULD contain zero or one [0..1] @extension (CONF:4515-32982).
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: Author.assignedAuthor.representedOrganization.id:npi
path:
  v: Author.assignedAuthor.representedOrganization.id
slice name:
  v: npi
comment:
  v: The representedOrganization, if present, SHALL contain exactly one [1..1] id (CONF:4515-28) such that it
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Organization.id
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/II
    l: II

id:
  v: Author.assignedAuthor.representedOrganization.id:npi.nullFlavor
path:
  v: Author.assignedAuthor.representedOrganization.id.nullFlavor
representation:
  v: xmlAttr
label:
  v: Exceptional Value Detail
short:
  v: If NPI is unknown, set @nullFlavor to UNK
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: Author.assignedAuthor.representedOrganization.id:npi.assigningAuthorityName
path:
  v: Author.assignedAuthor.representedOrganization.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: Author.assignedAuthor.representedOrganization.id:npi.displayable
path:
  v: Author.assignedAuthor.representedOrganization.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: Author.assignedAuthor.representedOrganization.id:npi.root
path:
  v: Author.assignedAuthor.representedOrganization.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.
comment:
  v: SHALL contain exactly one [1..1] @root="2.16.840.1.113883.4.6" National Provider Identifier (CONF:4515-30).
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: Author.assignedAuthor.representedOrganization.id:npi.extension
path:
  v: Author.assignedAuthor.representedOrganization.id.extension
representation:
  v: xmlAttr
label:
  v: Extension
definition:
  v: A character string as a unique identifier within the scope of the identifier root.
comment:
  v: SHOULD contain zero or one [0..1] @extension (CONF:4515-31).
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: Author.assignedAuthor.representedOrganization.name
path:
  v: Author.assignedAuthor.representedOrganization.name
comment:
  v: The representedOrganization, if present, SHALL contain exactly one [1..1] name (CONF:4515-11).
min:
  v: 0
max:
  v: *
base:
  path:
    v: Organization.name
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/ON
    l: ON

id:
  v: Author.assignedAuthor.representedOrganization.telecom
path:
  v: Author.assignedAuthor.representedOrganization.telecom
comment:
  v: The representedOrganization, if present, SHOULD contain zero or more [0..*] telecom (CONF:4515-12).
min:
  v: 0
max:
  v: *
base:
  path:
    v: Organization.telecom
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/TEL
    l: TEL

id:
  v: Author.assignedAuthor.representedOrganization.addr
path:
  v: Author.assignedAuthor.representedOrganization.addr
min:
  v: 0
max:
  v: *
base:
  path:
    v: Organization.addr
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/AD
    l: AD

id:
  v: Author.assignedAuthor.representedOrganization.standardIndustryClassCode
path:
  v: Author.assignedAuthor.representedOrganization.standardIndustryClassCode
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Organization.standardIndustryClassCode
  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://terminology.hl7.org/ValueSet/v3-OrganizationIndustryClassNAICS
    l: v3-OrganizationIndustryClassNAICS

id:
  v: Author.assignedAuthor.representedOrganization.asOrganizationPartOf
path:
  v: Author.assignedAuthor.representedOrganization.asOrganizationPartOf
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Organization.asOrganizationPartOf
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: http://hl7.org/cda/stds/core/StructureDefinition/OrganizationPartOf
    l: OrganizationPartOf

element:
  id:
    v: Author.templateId
  path:
    v: Author.templateId
  slicing:
    discriminator:
      type:
        v: value
      path:
        v: root
    discriminator:
      type:
        v: value
      path:
        v: extension
    rules:
      v: open
  min:
    v: 1
element:
  id:
    v: Author.templateId:provenance-author
  path:
    v: Author.templateId
  slice name:
    v: provenance-author
  min:
    v: 1
  max:
    v: 1
element:
  id:
    v: Author.templateId:provenance-author.root
  path:
    v: Author.templateId.root
  min:
    v: 1
  pattern: String
    v: 2.16.840.1.113883.10.20.22.5.6
element:
  id:
    v: Author.templateId:provenance-author.extension
  path:
    v: Author.templateId.extension
  min:
    v: 1
  pattern: String
    v: 2019-10-01
element:
  id:
    v: Author.time
  extension:
    url:
      v: http://hl7.org/fhir/us/core/StructureDefinition/uscdi-requirement
      l: uscdi-requirement
    value: Boolean
      v: true
  path:
    v: Author.time
  short:
    v: 𝗨𝗦𝗖𝗗𝗜: Author Time Stamp
  comment:
    v: SHALL contain exactly one [1..1] time (CONF:4515-32983).
element:
  id:
    v: Author.assignedAuthor
  path:
    v: Author.assignedAuthor
  comment:
    v: SHALL contain exactly one [1..1] assignedAuthor (CONF:4515-32975).
  constraint:
    key:
      v: author-details
    severity:
      v: error
    human:
      v: Authors require addr, telecom, and either assignedPerson/name or assignedAuthoringDevice/manufacturerModelName. These may be present on this author or on another instance of an Author Participation in the document that has an id that matches the first id of this author.
    expression:
      v: nullFlavor.exists() or (addr.exists() and telecom.exists() and (assignedPerson.name.exists() or assignedAuthoringDevice.manufacturerModelName.exists())) or (%resource.descendants().ofType(CDA.AssignedAuthor).where(id.exists($this.root = %context.id.first().root and $this.extension ~ %context.id.first().extension) and addr.exists() and telecom.exists() and (assignedPerson.name.exists() or assignedAuthoringDevice.manufacturerModelName.exists())))
    source:
      v: http://hl7.org/cda/us/ccda/StructureDefinition/ProvenanceAuthorParticipation
      l: ProvenanceAuthorParticipation
  constraint:
    key:
      v: 4515-64
    severity:
      v: error
    human:
      v: If the assignedAuthor/id is not referencing a Provenance Author described elsewhere in the document with a representedOrganization populated, this assignedAuthor SHALL contain exactly one [1..1] representedOrganization (CONF:4515-64).
    expression:
      v: representedOrganization.exists() or (%resource.descendants().ofType(CDA.Author).where(templateId.exists($this.root = '2.16.840.1.113883.10.20.22.5.6' and $this.extension = '2019-10-01') and assignedAuthor.representedOrganization.exists() and assignedAuthor.id.exists($this.root = %context.id.first().root and $this.extension ~ %context.id.first().extension)))
    source:
      v: http://hl7.org/cda/us/ccda/StructureDefinition/ProvenanceAuthorParticipation
      l: ProvenanceAuthorParticipation
  constraint:
    key:
      v: should-code
    severity:
      v: warning
    human:
      v: SHOULD contain code
    expression:
      v: code.exists()
    source:
      v: http://hl7.org/cda/us/ccda/StructureDefinition/ProvenanceAuthorParticipation
      l: ProvenanceAuthorParticipation
element:
  id:
    v: Author.assignedAuthor.id
  path:
    v: Author.assignedAuthor.id
  slicing:
    discriminator:
      type:
        v: value
      path:
        v: root
    rules:
      v: open
  comment:
    v: This assignedAuthor SHALL contain exactly one [1..1] id (CONF:4515-20) such that. it This assignedAuthor SHALL contain at least one [1..*] id (CONF:4515-2).
element:
  id:
    v: Author.assignedAuthor.id:npi
  path:
    v: Author.assignedAuthor.id
  slice name:
    v: npi
  comment:
    v: This assignedAuthor SHALL contain exactly one [1..1] id (CONF:4515-20) such that it
  min:
    v: 1
  max:
    v: 1
element:
  id:
    v: Author.assignedAuthor.id:npi.nullFlavor
  path:
    v: Author.assignedAuthor.id.nullFlavor
  short:
    v: If NPI is unknown, set @nullFlavor to UNK
element:
  id:
    v: Author.assignedAuthor.id:npi.root
  path:
    v: Author.assignedAuthor.id.root
  comment:
    v: SHALL contain exactly one [1..1] @root="2.16.840.1.113883.4.6" National Provider Identifier (CONF:4515-22).
  min:
    v: 1
  pattern: String
    v: 2.16.840.1.113883.4.6
element:
  id:
    v: Author.assignedAuthor.id:npi.extension
  path:
    v: Author.assignedAuthor.id.extension
  comment:
    v: SHOULD contain zero or one [0..1] @extension (CONF:4515-23).
element:
  id:
    v: Author.assignedAuthor.code
  extension:
    url:
      v: http://hl7.org/fhir/us/core/StructureDefinition/uscdi-requirement
      l: uscdi-requirement
    value: Boolean
      v: true
  path:
    v: Author.assignedAuthor.code
  short:
    v: 𝗨𝗦𝗖𝗗𝗜: Author Role - When the author is a person who is not acting in the role of a clinician, this code encodes the personal or legal relationship between author and the patient.
  comment:
    v: This assignedAuthor SHOULD contain zero or one [0..1] code (CONF:4515-32979).
  binding:
    strength:
      v: example
    description:
      v: See additional bindings
    value set:
      v: http://hl7.org/cda/stds/core/ValueSet/CDARoleCode
      l: CDARoleCode
    additional:
      purpose:
        v: preferred
      value set:
        v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.1066
        l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.1066
      documentation:
        v: If the content is provider authored, the code SHOULD be selected from ValueSet Healthcare Provider Taxonomy urn:oid:2.16.840.1.114222.4.11.1066 DYNAMIC (CONF:4515-56).
      short doco:
        v: Providers
    additional:
      purpose:
        v: preferred
      value set:
        v: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.11.20.12.1
        l: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.11.20.12.1
      documentation:
        v: If the author is a person who is not acting in the role of a clinician, the code SHOULD be selected from ValueSet Personal And Legal Relationship Role Type urn:oid:2.16.840.1.113883.11.20.12.1 DYNAMIC (CONF:4515-57).
      short doco:
        v: Non-clinicians

id:
  v: Author.assignedAuthor.sdtcSpecialty
path:
  v: Author.assignedAuthor.sdtcSpecialty
binding:
  strength:
    v: preferred
  value set:
    v: http://hl7.org/fhir/ValueSet/c80-practice-codes
    l: c80-practice-codes

id:
  v: Author.assignedAuthor.addr
path:
  v: Author.assignedAuthor.addr
short:
  v: Required on at least one instance of this author in the document
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: Author.assignedAuthor.telecom
path:
  v: Author.assignedAuthor.telecom
short:
  v: Required on at least one instance of this author in the document

id:
  v: Author.assignedAuthor.assignedPerson
extension:
  url:
    v: http://hl7.org/fhir/us/core/StructureDefinition/uscdi-requirement
    l: uscdi-requirement
  value: Boolean
    v: true
path:
  v: Author.assignedAuthor.assignedPerson
short:
  v: 𝗨𝗦𝗖𝗗𝗜: Author - assignedPerson/name or assignedAuthoringDevice/manufacturerModelName is required on at least one instance of this author in the document

id:
  v: Author.assignedAuthor.assignedPerson.name
path:
  v: Author.assignedAuthor.assignedPerson.name
comment:
  v: The assignedPerson, if present, SHALL contain at least one [1..*] name (CONF:4515-32977).
min:
  v: 1
constraint:
  key:
    v: shall-family
  severity:
    v: error
  human:
    v: SHALL contain exactly one [1..1] family (CONF:81-7159).
  expression:
    v: nullFlavor.exists() or item.family.count() = 1
  source:
    v: http://hl7.org/cda/us/ccda/StructureDefinition/ProvenanceAuthorParticipation
    l: ProvenanceAuthorParticipation
constraint:
  key:
    v: should-given
  severity:
    v: warning
  human:
    v: SHOULD contain given
  expression:
    v: item.given.exists()
  source:
    v: http://hl7.org/cda/us/ccda/StructureDefinition/ProvenanceAuthorParticipation
    l: ProvenanceAuthorParticipation

id:
  v: Author.assignedAuthor.assignedPerson.name.item.family
path:
  v: Author.assignedAuthor.assignedPerson.name.item.family
short:
  v: Family required
comment:
  v: Such names SHALL contain exactly one [1..1] family (CONF:4515-17).

id:
  v: Author.assignedAuthor.assignedPerson.name.item.given
path:
  v: Author.assignedAuthor.assignedPerson.name.item.given
short:
  v: SHOULD contain given
comment:
  v: Such names SHOULD contain zero or more [0..*] given (CONF:4515-18).

id:
  v: Author.assignedAuthor.assignedAuthoringDevice
path:
  v: Author.assignedAuthor.assignedAuthoringDevice
comment:
  v: This assignedAuthor MAY contain zero or one [0..1] assignedAuthoringDevice (CONF:4515-32).

id:
  v: Author.assignedAuthor.representedOrganization
extension:
  url:
    v: http://hl7.org/fhir/us/core/StructureDefinition/uscdi-requirement
    l: uscdi-requirement
  value: Boolean
    v: true
path:
  v: Author.assignedAuthor.representedOrganization
short:
  v: 𝗨𝗦𝗖𝗗𝗜: Author Organization
comment:
  v: If the assignedAuthor/id is not referencing a Provenance Author described elsewhere in the document with a representedOrganization populated, this assignedAuthor SHALL contain exactly one [1..1] representedOrganization (See - CONF:4440-64). This assignedAuthor MAY contain zero or one [0..1] representedOrganization (CONF:4515-32978).
condition:
  v: 4515-64
constraint:
  key:
    v: provenance-org-details
  severity:
    v: error
  human:
    v: If the author is not a clinician, set nullFlavor='NA'. Otherwise, the taxId, npi, and name are required.
  expression:
    v: nullFlavor = 'NA' or (id.where(root='2.16.840.1.113883.4.2').exists() and id.where(root='2.16.840.1.113883.4.6').exists() and name.exists())
  source:
    v: http://hl7.org/cda/us/ccda/StructureDefinition/ProvenanceAuthorParticipation
    l: ProvenanceAuthorParticipation
constraint:
  key:
    v: provenance-should-telecom
  severity:
    v: warning
  human:
    v: If the author is not a clinician, set nullFlavor='NA'. Otherwise, the telecom is required.
  expression:
    v: nullFlavor = 'NA' or telecom.exists()
  source:
    v: http://hl7.org/cda/us/ccda/StructureDefinition/ProvenanceAuthorParticipation
    l: ProvenanceAuthorParticipation

id:
  v: Author.assignedAuthor.representedOrganization.nullFlavor
path:
  v: Author.assignedAuthor.representedOrganization.nullFlavor
short:
  v: A nullFlavor of "NA" is allowed If the assignedAuthor is not a clinician
comment:
  v: The representedOrganization, if present, MAY contain zero or one [0..1] @nullFlavor (CONF:4515-35).

id:
  v: Author.assignedAuthor.representedOrganization.id
path:
  v: Author.assignedAuthor.representedOrganization.id
slicing:
  discriminator:
    type:
      v: value
    path:
      v: root
  rules:
    v: open
comment:
  v: The representedOrganization, if present, SHALL contain exactly one [1..1] id (CONF:4515-28) such that it. The representedOrganization, if present, SHALL contain at least one [1..*] id (CONF:4515-32981).

id:
  v: Author.assignedAuthor.representedOrganization.id:taxId
path:
  v: Author.assignedAuthor.representedOrganization.id
slice name:
  v: taxId
comment:
  v: The representedOrganization, if present, SHALL contain exactly one [1..1] id (CONF:4515-24) such that it
min:
  v: 0
max:
  v: 1

id:
  v: Author.assignedAuthor.representedOrganization.id:taxId.nullFlavor
path:
  v: Author.assignedAuthor.representedOrganization.id.nullFlavor
short:
  v: If Tax ID Number is unknown, set @nullFlavor to UNK

id:
  v: Author.assignedAuthor.representedOrganization.id:taxId.root
path:
  v: Author.assignedAuthor.representedOrganization.id.root
comment:
  v: SHALL contain exactly one [1..1] @root="2.16.840.1.113883.4.2" Tax ID Number (CONF:4515-26).
min:
  v: 1
pattern: String
  v: 2.16.840.1.113883.4.2

id:
  v: Author.assignedAuthor.representedOrganization.id:taxId.extension
path:
  v: Author.assignedAuthor.representedOrganization.id.extension
comment:
  v: SHOULD contain zero or one [0..1] @extension (CONF:4515-32982).

id:
  v: Author.assignedAuthor.representedOrganization.id:npi
path:
  v: Author.assignedAuthor.representedOrganization.id
slice name:
  v: npi
comment:
  v: The representedOrganization, if present, SHALL contain exactly one [1..1] id (CONF:4515-28) such that it
min:
  v: 0
max:
  v: 1

id:
  v: Author.assignedAuthor.representedOrganization.id:npi.nullFlavor
path:
  v: Author.assignedAuthor.representedOrganization.id.nullFlavor
short:
  v: If NPI is unknown, set @nullFlavor to UNK

id:
  v: Author.assignedAuthor.representedOrganization.id:npi.root
path:
  v: Author.assignedAuthor.representedOrganization.id.root
comment:
  v: SHALL contain exactly one [1..1] @root="2.16.840.1.113883.4.6" National Provider Identifier (CONF:4515-30).
min:
  v: 1
pattern: String
  v: 2.16.840.1.113883.4.6

id:
  v: Author.assignedAuthor.representedOrganization.id:npi.extension
path:
  v: Author.assignedAuthor.representedOrganization.id.extension
comment:
  v: SHOULD contain zero or one [0..1] @extension (CONF:4515-31).

id:
  v: Author.assignedAuthor.representedOrganization.name
path:
  v: Author.assignedAuthor.representedOrganization.name
comment:
  v: The representedOrganization, if present, SHALL contain exactly one [1..1] name (CONF:4515-11).

id:
  v: Author.assignedAuthor.representedOrganization.telecom
path:
  v: Author.assignedAuthor.representedOrganization.telecom
comment:
  v: The representedOrganization, if present, SHOULD contain zero or more [0..*] telecom (CONF:4515-12).