FHIR © HL7.org  |  Server Home  |  XIG Home  |  Server Source  |  FHIR  

FHIR IG Statistics: StructureDefinition/AuthorParticipation

Packagehl7.cda.us.ccda
TypeStructureDefinition
IdAuthorParticipation
FHIR VersionR5
Sourcehttp://hl7.org/cda/us/ccda/https://build.fhir.org/ig/HL7/CDA-ccda/StructureDefinition-AuthorParticipation.html
URLhttp://hl7.org/cda/us/ccda/StructureDefinition/AuthorParticipation
Version4.0.0
Statusdraft
Date2025-06-26T21:09:45+00:00
NameAuthorParticipation
TitleAuthor Participation
Realmus
Authorityhl7
DescriptionThis template represents the Author Participation (including the author timestamp). CDA R2 requires that Author and Author timestamp be asserted in the document header. From there, authorship propagates to contained sections and contained entries, unless explicitly overridden. The Author Participation template was added to those templates in scope for analysis in R2. Although it is not explicitly stated in all templates the Author Participation template can be used in any template.
Typehttp://hl7.org/cda/stds/core/StructureDefinition/Author
Kindlogical

Resources that use this resource

StructureDefinition
AdvanceDirectiveObservationAdvance Directive Observation
AdvanceDirectiveOrganizerAdvance Directive Organizer (deprecated)
AllergyConcernActAllergy Concern Act
AverageBloodPressureOrganizerAverage Blood Pressure Organizer
CareTeamOrganizerCare Team Organizer
CommentActivityComment Activity
DisabilityStatusObservationDisability Status Observation
FunctionalStatusObservationFunctional Status Observation
FunctionalStatusOrganizerFunctional Status Organizer
GoalObservationGoal Observation
HandoffCommunicationParticipantsHandoff Communication Participants
HealthConcernActHealth Concern Act
ImmunizationActivityImmunization Activity
InterventionActIntervention Act
MedicationActivityMedication Activity
MentalStatusObservationMental Status Observation
NoteActivityNote Activity
NutritionAssessmentNutrition Assessment
OutcomeObservationOutcome Observation
PlannedCoveragePlanned Coverage
PlannedEncounterPlanned Encounter
PlannedImmunizationActivityPlanned Immunization Activity
PlannedInterventionActPlanned Intervention Act
PlannedMedicationActivityPlanned Medication Activity
PlannedProcedurePlanned Procedure
PlannedSupplyPlanned Supply
PriorityPreferencePriority Preference
ProblemConcernActProblem Concern Act
ProblemObservationProblem Observation
ProcedureActivityProcedureProcedure Activity Procedure
ReferralActReferral Act
ResultObservationResult Observation
ResultOrganizerResult Organizer
RiskConcernActRisk Concern Act
SelfCareActivitiesADLandIADLSelf-Care Activities (ADL and IADL)
SensoryStatusSensory Status
SmokingStatusMeaningfulUseSmoking Status - Meaningful Use (Deprecated)
SocialHistoryObservationSocial History Observation
SubstanceOrDeviceAllergyIntoleranceObservationSubstance or Device Allergy - Intolerance Observation
TobaccoUseTobacco Use (Deprecated)
VitalSignObservationVital Sign Observation
VitalSignsOrganizerVital Signs Organizer

Resources that this resource uses

StructureDefinition
ADAD: PostalAddress (V3 Data Type)
AuthorAuthor (CDA Class)
USRealmAddressUS Realm Address
ValueSet
2.16.840.1.113883.11.20.12.1Personal And Legal Relationship Role Type
2.16.840.1.114222.4.11.1066Healthcare Provider Taxonomy

Narrative

Note: links and images are rebased to the (stated) source

Generated Narrative: StructureDefinition AuthorParticipation

NameFlagsCard.TypeDescription & Constraintsdoco
.. Author AuthorXML Namespace: urn:hl7-org:v3
Elements defined in Ancestors:@nullFlavor, realmCode, typeId, templateId, @typeCode, @contextControlCode, functionCode, time, assignedAuthor
Instance of this type are validated by templateId
Logical Container: ClinicalDocument (CDA Class)
... Slices for templateId 1..*IISlice: Unordered, Open by value:root
.... templateId:author 1..1II
..... @root 1..1oid, uuid, ruidRequired Pattern: 2.16.840.1.113883.10.20.22.4.119
..... @extension 0..0
... time 1..1TS
... assignedAuthor C1..1AssignedAuthorConstraints: author-details
.... id 1..*IIThe first 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. If the id is pointing to a participant already described elsewhere in the document, assignedAuthor/id is sufficient to identify this participant and none of the remaining details of assignedAuthor are required to be set. Application Software must be responsible for resolving the identifier back to its original object and then rendering the information in the correct place in the containing section's narrative text. This id must be a pointer to another author participant.
.... code 0..1CEBinding: Healthcare Provider Taxonomy . (preferred)
Additional BindingsPurposeDocumentation
Personal And Legal Relationship Role Type .Preferred
Patient-authored content
.... addr 0..*USRealmAddressRequired on at least one instance of this author in the document
.... telecom 0..*TELRequired on at least one instance of this author in the document
.... assignedPerson 0..1PersonassignedPerson/name or assignedAuthoringDevice/manufacturerModelName is required on at least one instance of this author in the document
..... name 0..*PN
.... representedOrganization 0..1OrganizationassignedPerson/name or representedOrganization/name is required on at least one instance of this author in the document
..... id 0..*II
..... name 0..*ON
..... telecom 0..*TEL
..... addr 0..*USRealmAddress

doco Documentation for this format

Source

{
  "resourceType": "StructureDefinition",
  "id": "AuthorParticipation",
  "text": {
    "status": "extensions",
    "div": "<!-- snip (see above) -->"
  },
  "extension": [
    {
      "url": "http://hl7.org/fhir/tools/StructureDefinition/logical-target",
      "_valueBoolean": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/data-absent-reason",
            "valueCode": "not-applicable"
          }
        ]
      }
    },
    {
      "url": "http://hl7.org/fhir/tools/StructureDefinition/xml-namespace",
      "valueUri": "urn:hl7-org:v3"
    },
    {
      "url": "http://hl7.org/fhir/tools/StructureDefinition/xml-name",
      "valueString": "author"
    },
    {
      "url": "http://hl7.org/fhir/tools/StructureDefinition/logical-container",
      "valueUri": "http://hl7.org/cda/stds/core/StructureDefinition/ClinicalDocument"
    },
    {
      "url": "http://hl7.org/fhir/tools/StructureDefinition/type-profile-style",
      "valueCode": "cda"
    }
  ],
  "url": "http://hl7.org/cda/us/ccda/StructureDefinition/AuthorParticipation",
  "identifier": [
    {
      "system": "urn:ietf:rfc:3986",
      "value": "urn:oid:2.16.840.1.113883.10.20.22.4.119"
    }
  ],
  "version": "4.0.0",
  "name": "AuthorParticipation",
  "title": "Author Participation",
  "status": "draft",
  "date": "2025-06-26T21:09:45+00:00",
  "publisher": "Health Level Seven",
  "contact": [
    {
      "name": "HL7 International - Structured Documents",
      "telecom": [
        {
          "system": "url",
          "value": "http://www.hl7.org/Special/committees/structure"
        }
      ]
    }
  ],
  "description": "This template represents the Author Participation (including the author timestamp). CDA R2 requires that Author and Author timestamp be asserted in the document header. From there, authorship propagates to contained sections and contained entries, unless explicitly overridden.\n\nThe Author Participation template was added to those templates in scope for analysis in R2. Although it is not explicitly stated in all templates the Author Participation template can be used in any template.",
  "jurisdiction": [
    {
      "coding": [
        {
          "system": "urn:iso:std:iso:3166",
          "code": "US"
        }
      ]
    }
  ],
  "fhirVersion": "5.0.0",
  "mapping": [
    {
      "identity": "rim",
      "uri": "http://hl7.org/v3",
      "name": "RIM Mapping"
    }
  ],
  "kind": "logical",
  "abstract": false,
  "type": "http://hl7.org/cda/stds/core/StructureDefinition/Author",
  "baseDefinition": "http://hl7.org/cda/stds/core/StructureDefinition/Author",
  "derivation": "constraint",
  "snapshot": {
    "extension": [
      {
        "url": "http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version",
        "valueString": "2.0.1-sd"
      }
    ],
    "element": [
      {
        "id": "Author",
        "path": "Author",
        "short": "Base for all types and resources",
        "definition": "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": 1,
        "max": "1",
        "base": {
          "path": "Base",
          "min": 0,
          "max": "*"
        },
        "isModifier": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Author.nullFlavor",
        "path": "Author.nullFlavor",
        "representation": [
          "xmlAttr"
        ],
        "label": "Exceptional Value Detail",
        "definition": "If a value is an exceptional value (NULL-value), this specifies in what way and why proper information is missing.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "ANY.nullFlavor",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor"
        }
      },
      {
        "id": "Author.realmCode",
        "path": "Author.realmCode",
        "definition": "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": 0,
        "max": "*",
        "base": {
          "path": "InfrastructureRoot.realmCode",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/CS"
          }
        ]
      },
      {
        "id": "Author.typeId",
        "path": "Author.typeId",
        "definition": "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": 0,
        "max": "1",
        "base": {
          "path": "InfrastructureRoot.typeId",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/II"
          }
        ],
        "constraint": [
          {
            "key": "II-1",
            "severity": "error",
            "human": "An II instance must have either a root or an nullFlavor.",
            "expression": "root.exists() or nullFlavor.exists()",
            "source": "http://hl7.org/cda/stds/core/StructureDefinition/InfrastructureRoot"
          }
        ]
      },
      {
        "id": "Author.typeId.nullFlavor",
        "path": "Author.typeId.nullFlavor",
        "representation": [
          "xmlAttr"
        ],
        "label": "Exceptional Value Detail",
        "definition": "If a value is an exceptional value (NULL-value), this specifies in what way and why proper information is missing.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "ANY.nullFlavor",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor"
        }
      },
      {
        "id": "Author.typeId.assigningAuthorityName",
        "path": "Author.typeId.assigningAuthorityName",
        "representation": [
          "xmlAttr"
        ],
        "label": "Assigning Authority Name",
        "definition": "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": 0,
        "max": "1",
        "base": {
          "path": "II.assigningAuthorityName",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/st-simple"
            ]
          }
        ]
      },
      {
        "id": "Author.typeId.displayable",
        "path": "Author.typeId.displayable",
        "representation": [
          "xmlAttr"
        ],
        "label": "Displayable",
        "definition": "Specifies if the identifier is intended for human display and data entry (displayable = true) as opposed to pure machine interoperation (displayable = false).",
        "min": 0,
        "max": "1",
        "base": {
          "path": "II.displayable",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "boolean",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/bl-simple"
            ]
          }
        ]
      },
      {
        "id": "Author.typeId.root",
        "path": "Author.typeId.root",
        "representation": [
          "xmlAttr"
        ],
        "label": "Root",
        "definition": "Identifies the type as an HL7 Registered model",
        "min": 1,
        "max": "1",
        "base": {
          "path": "II.root",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/oid",
              "http://hl7.org/cda/stds/core/StructureDefinition/uuid",
              "http://hl7.org/cda/stds/core/StructureDefinition/ruid"
            ]
          }
        ],
        "fixedString": "2.16.840.1.113883.1.3"
      },
      {
        "id": "Author.typeId.extension",
        "path": "Author.typeId.extension",
        "representation": [
          "xmlAttr"
        ],
        "label": "Extension",
        "definition": "A character string as a unique identifier within the scope of the identifier root.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "II.extension",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/st-simple"
            ]
          }
        ]
      },
      {
        "id": "Author.templateId",
        "path": "Author.templateId",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "root"
            }
          ],
          "rules": "open"
        },
        "definition": "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": 1,
        "max": "*",
        "base": {
          "path": "InfrastructureRoot.templateId",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/II"
          }
        ]
      },
      {
        "id": "Author.templateId:author",
        "path": "Author.templateId",
        "sliceName": "author",
        "definition": "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": 1,
        "max": "1",
        "base": {
          "path": "InfrastructureRoot.templateId",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/II"
          }
        ]
      },
      {
        "id": "Author.templateId:author.nullFlavor",
        "path": "Author.templateId.nullFlavor",
        "representation": [
          "xmlAttr"
        ],
        "label": "Exceptional Value Detail",
        "definition": "If a value is an exceptional value (NULL-value), this specifies in what way and why proper information is missing.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "ANY.nullFlavor",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor"
        }
      },
      {
        "id": "Author.templateId:author.assigningAuthorityName",
        "path": "Author.templateId.assigningAuthorityName",
        "representation": [
          "xmlAttr"
        ],
        "label": "Assigning Authority Name",
        "definition": "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": 0,
        "max": "1",
        "base": {
          "path": "II.assigningAuthorityName",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/st-simple"
            ]
          }
        ]
      },
      {
        "id": "Author.templateId:author.displayable",
        "path": "Author.templateId.displayable",
        "representation": [
          "xmlAttr"
        ],
        "label": "Displayable",
        "definition": "Specifies if the identifier is intended for human display and data entry (displayable = true) as opposed to pure machine interoperation (displayable = false).",
        "min": 0,
        "max": "1",
        "base": {
          "path": "II.displayable",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "boolean",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/bl-simple"
            ]
          }
        ]
      },
      {
        "id": "Author.templateId:author.root",
        "path": "Author.templateId.root",
        "representation": [
          "xmlAttr"
        ],
        "label": "Root",
        "definition": "A unique identifier that guarantees the global uniqueness of the instance identifier. The root alone may be the entire instance identifier.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "II.root",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/oid",
              "http://hl7.org/cda/stds/core/StructureDefinition/uuid",
              "http://hl7.org/cda/stds/core/StructureDefinition/ruid"
            ]
          }
        ],
        "patternString": "2.16.840.1.113883.10.20.22.4.119"
      },
      {
        "id": "Author.templateId:author.extension",
        "path": "Author.templateId.extension",
        "representation": [
          "xmlAttr"
        ],
        "label": "Extension",
        "definition": "A character string as a unique identifier within the scope of the identifier root.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "II.extension",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/st-simple"
            ]
          }
        ]
      },
      {
        "id": "Author.typeCode",
        "path": "Author.typeCode",
        "representation": [
          "xmlAttr"
        ],
        "min": 0,
        "max": "1",
        "base": {
          "path": "Author.typeCode",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "fixedCode": "AUT",
        "binding": {
          "strength": "required",
          "valueSet": "http://hl7.org/cda/stds/core/ValueSet/CDAParticipationType"
        }
      },
      {
        "id": "Author.contextControlCode",
        "path": "Author.contextControlCode",
        "representation": [
          "xmlAttr"
        ],
        "min": 0,
        "max": "1",
        "base": {
          "path": "Author.contextControlCode",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "fixedCode": "OP",
        "binding": {
          "strength": "required",
          "valueSet": "http://hl7.org/cda/stds/core/ValueSet/CDAContextControl"
        }
      },
      {
        "id": "Author.functionCode",
        "path": "Author.functionCode",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Author.functionCode",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/CE"
          }
        ]
      },
      {
        "id": "Author.time",
        "path": "Author.time",
        "comment": "SHALL contain exactly one [1..1] time (CONF:1098-31471).",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Author.time",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/TS"
          }
        ]
      },
      {
        "id": "Author.assignedAuthor",
        "path": "Author.assignedAuthor",
        "comment": "SHALL contain exactly one [1..1] assignedAuthor (CONF:1098-31472).",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Author.assignedAuthor",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/AssignedAuthor"
          }
        ],
        "constraint": [
          {
            "key": "author-details",
            "severity": "error",
            "human": "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": "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": "http://hl7.org/cda/us/ccda/StructureDefinition/AuthorParticipation"
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.nullFlavor",
        "path": "Author.assignedAuthor.nullFlavor",
        "representation": [
          "xmlAttr"
        ],
        "label": "Exceptional Value Detail",
        "definition": "If a value is an exceptional value (NULL-value), this specifies in what way and why proper information is missing.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "ANY.nullFlavor",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor"
        }
      },
      {
        "id": "Author.assignedAuthor.realmCode",
        "path": "Author.assignedAuthor.realmCode",
        "definition": "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": 0,
        "max": "*",
        "base": {
          "path": "InfrastructureRoot.realmCode",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/CS"
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.typeId",
        "path": "Author.assignedAuthor.typeId",
        "definition": "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": 0,
        "max": "1",
        "base": {
          "path": "InfrastructureRoot.typeId",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/II"
          }
        ],
        "constraint": [
          {
            "key": "II-1",
            "severity": "error",
            "human": "An II instance must have either a root or an nullFlavor.",
            "expression": "root.exists() or nullFlavor.exists()",
            "source": "http://hl7.org/cda/stds/core/StructureDefinition/InfrastructureRoot"
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.typeId.nullFlavor",
        "path": "Author.assignedAuthor.typeId.nullFlavor",
        "representation": [
          "xmlAttr"
        ],
        "label": "Exceptional Value Detail",
        "definition": "If a value is an exceptional value (NULL-value), this specifies in what way and why proper information is missing.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "ANY.nullFlavor",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor"
        }
      },
      {
        "id": "Author.assignedAuthor.typeId.assigningAuthorityName",
        "path": "Author.assignedAuthor.typeId.assigningAuthorityName",
        "representation": [
          "xmlAttr"
        ],
        "label": "Assigning Authority Name",
        "definition": "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": 0,
        "max": "1",
        "base": {
          "path": "II.assigningAuthorityName",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/st-simple"
            ]
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.typeId.displayable",
        "path": "Author.assignedAuthor.typeId.displayable",
        "representation": [
          "xmlAttr"
        ],
        "label": "Displayable",
        "definition": "Specifies if the identifier is intended for human display and data entry (displayable = true) as opposed to pure machine interoperation (displayable = false).",
        "min": 0,
        "max": "1",
        "base": {
          "path": "II.displayable",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "boolean",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/bl-simple"
            ]
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.typeId.root",
        "path": "Author.assignedAuthor.typeId.root",
        "representation": [
          "xmlAttr"
        ],
        "label": "Root",
        "definition": "Identifies the type as an HL7 Registered model",
        "min": 1,
        "max": "1",
        "base": {
          "path": "II.root",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/oid",
              "http://hl7.org/cda/stds/core/StructureDefinition/uuid",
              "http://hl7.org/cda/stds/core/StructureDefinition/ruid"
            ]
          }
        ],
        "fixedString": "2.16.840.1.113883.1.3"
      },
      {
        "id": "Author.assignedAuthor.typeId.extension",
        "path": "Author.assignedAuthor.typeId.extension",
        "representation": [
          "xmlAttr"
        ],
        "label": "Extension",
        "definition": "A character string as a unique identifier within the scope of the identifier root.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "II.extension",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/st-simple"
            ]
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.templateId",
        "path": "Author.assignedAuthor.templateId",
        "definition": "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": 0,
        "max": "*",
        "base": {
          "path": "InfrastructureRoot.templateId",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/II"
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.classCode",
        "path": "Author.assignedAuthor.classCode",
        "representation": [
          "xmlAttr"
        ],
        "min": 0,
        "max": "1",
        "base": {
          "path": "AssignedAuthor.classCode",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "fixedCode": "ASSIGNED",
        "binding": {
          "strength": "required",
          "valueSet": "http://terminology.hl7.org/ValueSet/v3-RoleClassAssignedEntity"
        }
      },
      {
        "id": "Author.assignedAuthor.id",
        "path": "Author.assignedAuthor.id",
        "short": "The first 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. If the id is pointing to a participant already described elsewhere in the document, assignedAuthor/id is sufficient to identify this participant and none of the remaining details of assignedAuthor are required to be set. Application Software must be responsible for resolving the identifier back to its original object and then rendering the information in the correct place in the containing section's narrative text. This id must be a pointer to another author participant.",
        "comment": "This assignedAuthor SHALL contain at least one [1..*] id (CONF:1098-31473).",
        "min": 1,
        "max": "*",
        "base": {
          "path": "AssignedAuthor.id",
          "min": 1,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/II"
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.sdtcIdentifiedBy",
        "extension": [
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/xml-namespace",
            "valueUri": "urn:hl7-org:sdtc"
          },
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/xml-name",
            "valueString": "identifiedBy"
          }
        ],
        "path": "Author.assignedAuthor.sdtcIdentifiedBy",
        "min": 0,
        "max": "*",
        "base": {
          "path": "AssignedAuthor.sdtcIdentifiedBy",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/IdentifiedBy"
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.code",
        "path": "Author.assignedAuthor.code",
        "comment": "This assignedAuthor SHOULD contain zero or one [0..1] code, which SHOULD be selected from ValueSet Healthcare Provider Taxonomy urn:oid:2.16.840.1.114222.4.11.1066 DYNAMIC (CONF:1098-31671).",
        "min": 0,
        "max": "1",
        "base": {
          "path": "AssignedAuthor.code",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/CE"
          }
        ],
        "binding": {
          "strength": "preferred",
          "valueSet": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.1066",
          "additional": [
            {
              "purpose": "preferred",
              "valueSet": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.11.20.12.1",
              "documentation": "If the content is patient authored the code **SHOULD** be selected from Personal And Legal Relationship Role Type (2.16.840.1.113883.11.20.12.1) (CONF:1098-32315).",
              "shortDoco": "Patient-authored content"
            }
          ]
        }
      },
      {
        "id": "Author.assignedAuthor.addr",
        "path": "Author.assignedAuthor.addr",
        "short": "Required on at least one instance of this author in the document",
        "min": 0,
        "max": "*",
        "base": {
          "path": "AssignedAuthor.addr",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/AD",
            "profile": [
              "http://hl7.org/cda/us/ccda/StructureDefinition/USRealmAddress"
            ]
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.telecom",
        "path": "Author.assignedAuthor.telecom",
        "short": "Required on at least one instance of this author in the document",
        "min": 0,
        "max": "*",
        "base": {
          "path": "AssignedAuthor.telecom",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/TEL"
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.assignedPerson",
        "path": "Author.assignedAuthor.assignedPerson",
        "short": "assignedPerson/name or assignedAuthoringDevice/manufacturerModelName is required on at least one instance of this author in the document",
        "comment": "This assignedAuthor MAY contain zero or one [0..1] assignedPerson (CONF:1098-31474).",
        "min": 0,
        "max": "1",
        "base": {
          "path": "AssignedAuthor.assignedPerson",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Person"
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.assignedPerson.nullFlavor",
        "path": "Author.assignedAuthor.assignedPerson.nullFlavor",
        "representation": [
          "xmlAttr"
        ],
        "label": "Exceptional Value Detail",
        "definition": "If a value is an exceptional value (NULL-value), this specifies in what way and why proper information is missing.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "ANY.nullFlavor",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor"
        }
      },
      {
        "id": "Author.assignedAuthor.assignedPerson.realmCode",
        "path": "Author.assignedAuthor.assignedPerson.realmCode",
        "definition": "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": 0,
        "max": "*",
        "base": {
          "path": "InfrastructureRoot.realmCode",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/CS"
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.assignedPerson.typeId",
        "path": "Author.assignedAuthor.assignedPerson.typeId",
        "definition": "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": 0,
        "max": "1",
        "base": {
          "path": "InfrastructureRoot.typeId",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/II"
          }
        ],
        "constraint": [
          {
            "key": "II-1",
            "severity": "error",
            "human": "An II instance must have either a root or an nullFlavor.",
            "expression": "root.exists() or nullFlavor.exists()",
            "source": "http://hl7.org/cda/stds/core/StructureDefinition/InfrastructureRoot"
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.assignedPerson.typeId.nullFlavor",
        "path": "Author.assignedAuthor.assignedPerson.typeId.nullFlavor",
        "representation": [
          "xmlAttr"
        ],
        "label": "Exceptional Value Detail",
        "definition": "If a value is an exceptional value (NULL-value), this specifies in what way and why proper information is missing.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "ANY.nullFlavor",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor"
        }
      },
      {
        "id": "Author.assignedAuthor.assignedPerson.typeId.assigningAuthorityName",
        "path": "Author.assignedAuthor.assignedPerson.typeId.assigningAuthorityName",
        "representation": [
          "xmlAttr"
        ],
        "label": "Assigning Authority Name",
        "definition": "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": 0,
        "max": "1",
        "base": {
          "path": "II.assigningAuthorityName",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/st-simple"
            ]
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.assignedPerson.typeId.displayable",
        "path": "Author.assignedAuthor.assignedPerson.typeId.displayable",
        "representation": [
          "xmlAttr"
        ],
        "label": "Displayable",
        "definition": "Specifies if the identifier is intended for human display and data entry (displayable = true) as opposed to pure machine interoperation (displayable = false).",
        "min": 0,
        "max": "1",
        "base": {
          "path": "II.displayable",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "boolean",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/bl-simple"
            ]
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.assignedPerson.typeId.root",
        "path": "Author.assignedAuthor.assignedPerson.typeId.root",
        "representation": [
          "xmlAttr"
        ],
        "label": "Root",
        "definition": "Identifies the type as an HL7 Registered model",
        "min": 1,
        "max": "1",
        "base": {
          "path": "II.root",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/oid",
              "http://hl7.org/cda/stds/core/StructureDefinition/uuid",
              "http://hl7.org/cda/stds/core/StructureDefinition/ruid"
            ]
          }
        ],
        "fixedString": "2.16.840.1.113883.1.3"
      },
      {
        "id": "Author.assignedAuthor.assignedPerson.typeId.extension",
        "path": "Author.assignedAuthor.assignedPerson.typeId.extension",
        "representation": [
          "xmlAttr"
        ],
        "label": "Extension",
        "definition": "A character string as a unique identifier within the scope of the identifier root.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "II.extension",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/st-simple"
            ]
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.assignedPerson.templateId",
        "path": "Author.assignedAuthor.assignedPerson.templateId",
        "definition": "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": 0,
        "max": "*",
        "base": {
          "path": "InfrastructureRoot.templateId",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/II"
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.assignedPerson.classCode",
        "path": "Author.assignedAuthor.assignedPerson.classCode",
        "representation": [
          "xmlAttr"
        ],
        "min": 0,
        "max": "1",
        "base": {
          "path": "Person.classCode",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "fixedCode": "PSN",
        "binding": {
          "strength": "required",
          "valueSet": "http://terminology.hl7.org/ValueSet/v3-EntityClassLivingSubject"
        }
      },
      {
        "id": "Author.assignedAuthor.assignedPerson.determinerCode",
        "path": "Author.assignedAuthor.assignedPerson.determinerCode",
        "representation": [
          "xmlAttr"
        ],
        "min": 0,
        "max": "1",
        "base": {
          "path": "Person.determinerCode",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "fixedCode": "INSTANCE",
        "binding": {
          "strength": "required",
          "valueSet": "http://terminology.hl7.org/ValueSet/v3-EntityDeterminer"
        }
      },
      {
        "id": "Author.assignedAuthor.assignedPerson.name",
        "path": "Author.assignedAuthor.assignedPerson.name",
        "comment": "The assignedPerson, if present, MAY contain zero or more [0..*] name (CONF:1098-31475).",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Person.name",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/PN"
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.assignedPerson.sdtcDesc",
        "extension": [
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/xml-namespace",
            "valueUri": "urn:hl7-org:sdtc"
          },
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/xml-name",
            "valueString": "desc"
          }
        ],
        "path": "Author.assignedAuthor.assignedPerson.sdtcDesc",
        "definition": "The desc extension allows multimedia depictions of patients, healthcare providers, or other individuals to be included in a CDA document.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Person.sdtcDesc",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/ED"
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship",
        "extension": [
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/xml-namespace",
            "valueUri": "urn:hl7-org:sdtc"
          },
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/xml-name",
            "valueString": "asPatientRelationship"
          }
        ],
        "path": "Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship",
        "definition": "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": 0,
        "max": "*",
        "base": {
          "path": "Person.sdtcAsPatientRelationship",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/InfrastructureRoot"
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.nullFlavor",
        "path": "Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.nullFlavor",
        "representation": [
          "xmlAttr"
        ],
        "label": "Exceptional Value Detail",
        "definition": "If a value is an exceptional value (NULL-value), this specifies in what way and why proper information is missing.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "ANY.nullFlavor",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor"
        }
      },
      {
        "id": "Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.realmCode",
        "path": "Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.realmCode",
        "definition": "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": 0,
        "max": "*",
        "base": {
          "path": "InfrastructureRoot.realmCode",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/CS"
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.typeId",
        "path": "Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.typeId",
        "definition": "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": 0,
        "max": "1",
        "base": {
          "path": "InfrastructureRoot.typeId",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/II"
          }
        ],
        "constraint": [
          {
            "key": "II-1",
            "severity": "error",
            "human": "An II instance must have either a root or an nullFlavor.",
            "expression": "root.exists() or nullFlavor.exists()",
            "source": "http://hl7.org/cda/stds/core/StructureDefinition/Author"
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.typeId.nullFlavor",
        "path": "Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.typeId.nullFlavor",
        "representation": [
          "xmlAttr"
        ],
        "label": "Exceptional Value Detail",
        "definition": "If a value is an exceptional value (NULL-value), this specifies in what way and why proper information is missing.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "ANY.nullFlavor",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor"
        }
      },
      {
        "id": "Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.typeId.assigningAuthorityName",
        "path": "Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.typeId.assigningAuthorityName",
        "representation": [
          "xmlAttr"
        ],
        "label": "Assigning Authority Name",
        "definition": "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": 0,
        "max": "1",
        "base": {
          "path": "II.assigningAuthorityName",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/st-simple"
            ]
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.typeId.displayable",
        "path": "Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.typeId.displayable",
        "representation": [
          "xmlAttr"
        ],
        "label": "Displayable",
        "definition": "Specifies if the identifier is intended for human display and data entry (displayable = true) as opposed to pure machine interoperation (displayable = false).",
        "min": 0,
        "max": "1",
        "base": {
          "path": "II.displayable",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "boolean",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/bl-simple"
            ]
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.typeId.root",
        "path": "Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.typeId.root",
        "representation": [
          "xmlAttr"
        ],
        "label": "Root",
        "definition": "Identifies the type as an HL7 Registered model",
        "min": 1,
        "max": "1",
        "base": {
          "path": "II.root",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/oid",
              "http://hl7.org/cda/stds/core/StructureDefinition/uuid",
              "http://hl7.org/cda/stds/core/StructureDefinition/ruid"
            ]
          }
        ],
        "fixedString": "2.16.840.1.113883.1.3"
      },
      {
        "id": "Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.typeId.extension",
        "path": "Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.typeId.extension",
        "representation": [
          "xmlAttr"
        ],
        "label": "Extension",
        "definition": "A character string as a unique identifier within the scope of the identifier root.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "II.extension",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/st-simple"
            ]
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.templateId",
        "path": "Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.templateId",
        "definition": "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": 0,
        "max": "*",
        "base": {
          "path": "InfrastructureRoot.templateId",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/II"
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.classCode",
        "path": "Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.classCode",
        "representation": [
          "xmlAttr"
        ],
        "min": 1,
        "max": "1",
        "base": {
          "path": "Person.sdtcAsPatientRelationship.classCode",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "fixedCode": "PRS"
      },
      {
        "id": "Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.determinerCode",
        "path": "Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.determinerCode",
        "representation": [
          "xmlAttr"
        ],
        "min": 0,
        "max": "1",
        "base": {
          "path": "Person.sdtcAsPatientRelationship.determinerCode",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "fixedCode": "INSTANCE"
      },
      {
        "id": "Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.code",
        "extension": [
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/xml-namespace",
            "valueUri": "urn:hl7-org:sdtc"
          }
        ],
        "path": "Author.assignedAuthor.assignedPerson.sdtcAsPatientRelationship.code",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Person.sdtcAsPatientRelationship.code",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/CE"
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.assignedAuthoringDevice",
        "path": "Author.assignedAuthor.assignedAuthoringDevice",
        "min": 0,
        "max": "1",
        "base": {
          "path": "AssignedAuthor.assignedAuthoringDevice",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/AuthoringDevice"
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.representedOrganization",
        "path": "Author.assignedAuthor.representedOrganization",
        "short": "assignedPerson/name or representedOrganization/name is required on at least one instance of this author in the document",
        "comment": "This assignedAuthor MAY contain zero or one [0..1] representedOrganization (CONF:1098-31476).",
        "min": 0,
        "max": "1",
        "base": {
          "path": "AssignedAuthor.representedOrganization",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/Organization"
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.representedOrganization.nullFlavor",
        "path": "Author.assignedAuthor.representedOrganization.nullFlavor",
        "representation": [
          "xmlAttr"
        ],
        "label": "Exceptional Value Detail",
        "definition": "If a value is an exceptional value (NULL-value), this specifies in what way and why proper information is missing.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "ANY.nullFlavor",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor"
        }
      },
      {
        "id": "Author.assignedAuthor.representedOrganization.realmCode",
        "path": "Author.assignedAuthor.representedOrganization.realmCode",
        "definition": "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": 0,
        "max": "*",
        "base": {
          "path": "InfrastructureRoot.realmCode",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/CS"
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.representedOrganization.typeId",
        "path": "Author.assignedAuthor.representedOrganization.typeId",
        "definition": "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": 0,
        "max": "1",
        "base": {
          "path": "InfrastructureRoot.typeId",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/II"
          }
        ],
        "constraint": [
          {
            "key": "II-1",
            "severity": "error",
            "human": "An II instance must have either a root or an nullFlavor.",
            "expression": "root.exists() or nullFlavor.exists()",
            "source": "http://hl7.org/cda/stds/core/StructureDefinition/InfrastructureRoot"
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.representedOrganization.typeId.nullFlavor",
        "path": "Author.assignedAuthor.representedOrganization.typeId.nullFlavor",
        "representation": [
          "xmlAttr"
        ],
        "label": "Exceptional Value Detail",
        "definition": "If a value is an exceptional value (NULL-value), this specifies in what way and why proper information is missing.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "ANY.nullFlavor",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor"
        }
      },
      {
        "id": "Author.assignedAuthor.representedOrganization.typeId.assigningAuthorityName",
        "path": "Author.assignedAuthor.representedOrganization.typeId.assigningAuthorityName",
        "representation": [
          "xmlAttr"
        ],
        "label": "Assigning Authority Name",
        "definition": "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": 0,
        "max": "1",
        "base": {
          "path": "II.assigningAuthorityName",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/st-simple"
            ]
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.representedOrganization.typeId.displayable",
        "path": "Author.assignedAuthor.representedOrganization.typeId.displayable",
        "representation": [
          "xmlAttr"
        ],
        "label": "Displayable",
        "definition": "Specifies if the identifier is intended for human display and data entry (displayable = true) as opposed to pure machine interoperation (displayable = false).",
        "min": 0,
        "max": "1",
        "base": {
          "path": "II.displayable",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "boolean",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/bl-simple"
            ]
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.representedOrganization.typeId.root",
        "path": "Author.assignedAuthor.representedOrganization.typeId.root",
        "representation": [
          "xmlAttr"
        ],
        "label": "Root",
        "definition": "Identifies the type as an HL7 Registered model",
        "min": 1,
        "max": "1",
        "base": {
          "path": "II.root",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/oid",
              "http://hl7.org/cda/stds/core/StructureDefinition/uuid",
              "http://hl7.org/cda/stds/core/StructureDefinition/ruid"
            ]
          }
        ],
        "fixedString": "2.16.840.1.113883.1.3"
      },
      {
        "id": "Author.assignedAuthor.representedOrganization.typeId.extension",
        "path": "Author.assignedAuthor.representedOrganization.typeId.extension",
        "representation": [
          "xmlAttr"
        ],
        "label": "Extension",
        "definition": "A character string as a unique identifier within the scope of the identifier root.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "II.extension",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/st-simple"
            ]
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.representedOrganization.templateId",
        "path": "Author.assignedAuthor.representedOrganization.templateId",
        "definition": "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": 0,
        "max": "*",
        "base": {
          "path": "InfrastructureRoot.templateId",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/II"
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.representedOrganization.classCode",
        "path": "Author.assignedAuthor.representedOrganization.classCode",
        "representation": [
          "xmlAttr"
        ],
        "min": 0,
        "max": "1",
        "base": {
          "path": "Organization.classCode",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "fixedCode": "ORG",
        "binding": {
          "strength": "required",
          "valueSet": "http://terminology.hl7.org/ValueSet/v3-EntityClassOrganization"
        }
      },
      {
        "id": "Author.assignedAuthor.representedOrganization.determinerCode",
        "path": "Author.assignedAuthor.representedOrganization.determinerCode",
        "representation": [
          "xmlAttr"
        ],
        "min": 0,
        "max": "1",
        "base": {
          "path": "Organization.determinerCode",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code",
            "profile": [
              "http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"
            ]
          }
        ],
        "fixedCode": "INSTANCE",
        "binding": {
          "strength": "required",
          "valueSet": "http://terminology.hl7.org/ValueSet/v3-EntityDeterminer"
        }
      },
      {
        "id": "Author.assignedAuthor.representedOrganization.id",
        "path": "Author.assignedAuthor.representedOrganization.id",
        "comment": "The representedOrganization, if present, MAY contain zero or more [0..*] id (CONF:1098-31478).",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Organization.id",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/II"
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.representedOrganization.name",
        "path": "Author.assignedAuthor.representedOrganization.name",
        "comment": "The representedOrganization, if present, MAY contain zero or more [0..*] name (CONF:1098-31479).",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Organization.name",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/ON"
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.representedOrganization.telecom",
        "path": "Author.assignedAuthor.representedOrganization.telecom",
        "comment": "The representedOrganization, if present, MAY contain zero or more [0..*] telecom (CONF:1098-31480).",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Organization.telecom",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/TEL"
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.representedOrganization.addr",
        "path": "Author.assignedAuthor.representedOrganization.addr",
        "comment": "The representedOrganization, if present, MAY contain zero or more [0..*] addr (CONF:1098-31481).",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Organization.addr",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/AD",
            "profile": [
              "http://hl7.org/cda/us/ccda/StructureDefinition/USRealmAddress"
            ]
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.representedOrganization.standardIndustryClassCode",
        "path": "Author.assignedAuthor.representedOrganization.standardIndustryClassCode",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Organization.standardIndustryClassCode",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/CE"
          }
        ],
        "binding": {
          "strength": "example",
          "valueSet": "http://terminology.hl7.org/ValueSet/v3-OrganizationIndustryClassNAICS"
        }
      },
      {
        "id": "Author.assignedAuthor.representedOrganization.asOrganizationPartOf",
        "path": "Author.assignedAuthor.representedOrganization.asOrganizationPartOf",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Organization.asOrganizationPartOf",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/OrganizationPartOf"
          }
        ]
      }
    ]
  },
  "differential": {
    "element": [
      {
        "id": "Author.templateId",
        "path": "Author.templateId",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "root"
            }
          ],
          "rules": "open"
        },
        "min": 1
      },
      {
        "id": "Author.templateId:author",
        "path": "Author.templateId",
        "sliceName": "author",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Author.templateId:author.root",
        "path": "Author.templateId.root",
        "min": 1,
        "patternString": "2.16.840.1.113883.10.20.22.4.119"
      },
      {
        "id": "Author.templateId:author.extension",
        "path": "Author.templateId.extension",
        "max": "0"
      },
      {
        "id": "Author.time",
        "path": "Author.time",
        "comment": "SHALL contain exactly one [1..1] time (CONF:1098-31471)."
      },
      {
        "id": "Author.assignedAuthor",
        "path": "Author.assignedAuthor",
        "comment": "SHALL contain exactly one [1..1] assignedAuthor (CONF:1098-31472).",
        "constraint": [
          {
            "key": "author-details",
            "severity": "error",
            "human": "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": "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": "http://hl7.org/cda/us/ccda/StructureDefinition/AuthorParticipation"
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.id",
        "path": "Author.assignedAuthor.id",
        "short": "The first 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. If the id is pointing to a participant already described elsewhere in the document, assignedAuthor/id is sufficient to identify this participant and none of the remaining details of assignedAuthor are required to be set. Application Software must be responsible for resolving the identifier back to its original object and then rendering the information in the correct place in the containing section's narrative text. This id must be a pointer to another author participant.",
        "comment": "This assignedAuthor SHALL contain at least one [1..*] id (CONF:1098-31473)."
      },
      {
        "id": "Author.assignedAuthor.code",
        "path": "Author.assignedAuthor.code",
        "comment": "This assignedAuthor SHOULD contain zero or one [0..1] code, which SHOULD be selected from ValueSet Healthcare Provider Taxonomy urn:oid:2.16.840.1.114222.4.11.1066 DYNAMIC (CONF:1098-31671).",
        "binding": {
          "strength": "preferred",
          "valueSet": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.1066",
          "additional": [
            {
              "purpose": "preferred",
              "valueSet": "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.11.20.12.1",
              "documentation": "If the content is patient authored the code **SHOULD** be selected from Personal And Legal Relationship Role Type (2.16.840.1.113883.11.20.12.1) (CONF:1098-32315).",
              "shortDoco": "Patient-authored content"
            }
          ]
        }
      },
      {
        "id": "Author.assignedAuthor.addr",
        "path": "Author.assignedAuthor.addr",
        "short": "Required on at least one instance of this author in the document",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/AD",
            "profile": [
              "http://hl7.org/cda/us/ccda/StructureDefinition/USRealmAddress"
            ]
          }
        ]
      },
      {
        "id": "Author.assignedAuthor.telecom",
        "path": "Author.assignedAuthor.telecom",
        "short": "Required on at least one instance of this author in the document"
      },
      {
        "id": "Author.assignedAuthor.assignedPerson",
        "path": "Author.assignedAuthor.assignedPerson",
        "short": "assignedPerson/name or assignedAuthoringDevice/manufacturerModelName is required on at least one instance of this author in the document",
        "comment": "This assignedAuthor MAY contain zero or one [0..1] assignedPerson (CONF:1098-31474)."
      },
      {
        "id": "Author.assignedAuthor.assignedPerson.name",
        "path": "Author.assignedAuthor.assignedPerson.name",
        "comment": "The assignedPerson, if present, MAY contain zero or more [0..*] name (CONF:1098-31475)."
      },
      {
        "id": "Author.assignedAuthor.representedOrganization",
        "path": "Author.assignedAuthor.representedOrganization",
        "short": "assignedPerson/name or representedOrganization/name is required on at least one instance of this author in the document",
        "comment": "This assignedAuthor MAY contain zero or one [0..1] representedOrganization (CONF:1098-31476)."
      },
      {
        "id": "Author.assignedAuthor.representedOrganization.id",
        "path": "Author.assignedAuthor.representedOrganization.id",
        "comment": "The representedOrganization, if present, MAY contain zero or more [0..*] id (CONF:1098-31478)."
      },
      {
        "id": "Author.assignedAuthor.representedOrganization.name",
        "path": "Author.assignedAuthor.representedOrganization.name",
        "comment": "The representedOrganization, if present, MAY contain zero or more [0..*] name (CONF:1098-31479)."
      },
      {
        "id": "Author.assignedAuthor.representedOrganization.telecom",
        "path": "Author.assignedAuthor.representedOrganization.telecom",
        "comment": "The representedOrganization, if present, MAY contain zero or more [0..*] telecom (CONF:1098-31480)."
      },
      {
        "id": "Author.assignedAuthor.representedOrganization.addr",
        "path": "Author.assignedAuthor.representedOrganization.addr",
        "comment": "The representedOrganization, if present, MAY contain zero or more [0..*] addr (CONF:1098-31481).",
        "type": [
          {
            "code": "http://hl7.org/cda/stds/core/StructureDefinition/AD",
            "profile": [
              "http://hl7.org/cda/us/ccda/StructureDefinition/USRealmAddress"
            ]
          }
        ]
      }
    ]
  }
}