{
  "resourceType": "StructureDefinition",
  "id": "nexus-emr-core-composition",
  "extension": [
    {
      "url": "https://fhir.apps.health/StructureDefinition/effective-date",
      "extension": [
        {
          "url": "paths",
          "valueString": "event.period.start | date"
        }
      ]
    },
    {
      "url": "https://fhir.apps.health/StructureDefinition/salient-field",
      "extension": [
        {
          "url": "key",
          "valueCode": "status"
        },
        {
          "url": "expression",
          "valueString": "status"
        },
        {
          "url": "type",
          "valueCode": "code"
        }
      ]
    },
    {
      "url": "https://fhir.apps.health/StructureDefinition/salient-field",
      "extension": [
        {
          "url": "key",
          "valueCode": "type"
        },
        {
          "url": "expression",
          "valueString": "type"
        },
        {
          "url": "type",
          "valueCode": "coded"
        }
      ]
    },
    {
      "url": "https://fhir.apps.health/StructureDefinition/salient-field",
      "extension": [
        {
          "url": "key",
          "valueCode": "title"
        },
        {
          "url": "expression",
          "valueString": "title"
        },
        {
          "url": "type",
          "valueCode": "string"
        }
      ]
    },
    {
      "url": "https://fhir.apps.health/StructureDefinition/salient-field",
      "extension": [
        {
          "url": "key",
          "valueCode": "date"
        },
        {
          "url": "expression",
          "valueString": "date"
        },
        {
          "url": "type",
          "valueCode": "dateTime"
        }
      ]
    },
    {
      "url": "https://fhir.apps.health/StructureDefinition/salient-field",
      "extension": [
        {
          "url": "key",
          "valueCode": "author"
        },
        {
          "url": "expression",
          "valueString": "author.first().display"
        },
        {
          "url": "type",
          "valueCode": "string"
        }
      ]
    },
    {
      "url": "https://fhir.apps.health/StructureDefinition/salient-field",
      "extension": [
        {
          "url": "key",
          "valueCode": "body"
        },
        {
          "url": "expression",
          "valueString": "section.text.div.join(' ')"
        },
        {
          "url": "type",
          "valueCode": "markdown"
        },
        {
          "url": "chartName",
          "valueString": "prose"
        },
        {
          "url": "short",
          "valueString": "The whole note body, as XHTML -- every section's narrative, joined"
        },
        {
          "url": "definition",
          "valueMarkdown": "The note text, as XHTML. **Complete on its own**: a consumer that reads nothing but this value, and no extension in this guide, must still get the clinically meaningful content of the note -- negative findings included. See the contract above `section.text`. This is the value the chart renders and the value an AI reads. It is TEXT IN FHIR -- not base64, not a blob pointer -- which is the substantive difference from the DocumentReference model this replaced for authored notes: it is greppable, diffable, and readable without a second fetch. DERIVED, and READ-ONLY. It is every section's narrative joined, so it exists nowhere in the resource and there is no way to redistribute an assigned string back across the sections it came from. To WRITE a note body, build the blocks and assign `section`."
        },
        {
          "url": "comment",
          "valueMarkdown": "Every section's narrative, in stored order, joined. A block-authored note stores one section per authoring block, so this is the whole note body rather than its first block; a note filed as SOAP sections reads the same way. A consumer needing the blocks apart -- their headings, their kinds, their structured values -- walks `section`, which reads back as a typed collection of authoring blocks, rather than reading this."
        }
      ]
    },
    {
      "url": "https://fhir.apps.health/StructureDefinition/smart-exposed",
      "extension": [
        {
          "url": "read",
          "valueString": "composition:read"
        },
        {
          "url": "write",
          "valueString": "composition:write"
        },
        {
          "url": "delete",
          "valueString": "composition:delete"
        }
      ]
    }
  ],
  "url": "https://fhir.apps.health/StructureDefinition/nexus-emr-core-composition",
  "name": "NexusEmrCoreComposition",
  "title": "Composition Profile",
  "status": "draft",
  "description": "Nexus EMR profile for an AUTHORED clinical note -- principally the encounter note (progress\nnote, consult note, telephone note) written by an EMR user or drafted by an AI scribe and\nattested by a clinician.\n\nNarrative lives in FHIR as XHTML in `section.text`, not as an encoded attachment, so a note is\nreadable and queryable without dereferencing a blob. `status` carries the draft / signed /\namended lifecycle, and amendments are expressed as version history over one resource rather\nthan as a chain of related resources.\n\nUse `DocumentReference` instead for documents that arrive as opaque files -- scans, PDFs,\nfaxes, Word documents -- where FHIR holds metadata and a pointer to bytes. The two profiles\npartition the clinical-document space; neither is a fallback for the other.\n\n**Read machine authorship from the `AIAST` security label in `meta.security`.** Nexus EMR also\nwrites a `typed`/`scribe` marker in `meta.tag`, at an address this guide does not publish, which is\na second answer to the question the label already settles; that second axis is tracked as FHIR-385.\nRead `meta.security`, and do not read the absence of the `meta.tag` marker as `human-typed` --\nabsent means the origin was not recorded.",
  "fhirVersion": "4.0.1",
  "mapping": [
    {
      "identity": "workflow",
      "uri": "http://hl7.org/fhir/workflow",
      "name": "Workflow Pattern"
    },
    {
      "identity": "rim",
      "uri": "http://hl7.org/v3",
      "name": "RIM Mapping"
    },
    {
      "identity": "cda",
      "uri": "http://hl7.org/v3/cda",
      "name": "CDA (R2)"
    },
    {
      "identity": "fhirdocumentreference",
      "uri": "http://hl7.org/fhir/documentreference",
      "name": "FHIR DocumentReference"
    },
    {
      "identity": "w5",
      "uri": "http://hl7.org/fhir/fivews",
      "name": "FiveWs Pattern Mapping"
    }
  ],
  "kind": "resource",
  "abstract": false,
  "type": "Composition",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Composition",
  "derivation": "constraint",
  "snapshot": {
    "element": [
      {
        "id": "Composition",
        "path": "Composition",
        "short": "An authored clinical note (encounter note, consult note, telephone note)",
        "definition": "A clinical note authored in this EMR: its narrative, its lifecycle state, who wrote it, who\nsigned it, and the encounter it belongs to.\n\nContrast `DocumentReference`, which references a document that exists as a file. A Composition\nIS the note; a DocumentReference POINTS AT one.",
        "comment": "While the focus of this specification is on patient-specific clinical statements, this resource can also apply to other healthcare-related statements such as study protocol designs, healthcare invoices and other activities that are not necessarily patient-specific or clinical.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Composition",
          "min": 0,
          "max": "*"
        },
        "constraint": [
          {
            "key": "dom-2",
            "severity": "error",
            "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
            "expression": "contained.contained.empty()",
            "xpath": "not(parent::f:contained and f:contained)",
            "source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
          },
          {
            "key": "dom-3",
            "severity": "error",
            "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource",
            "expression": "contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()",
            "xpath": "not(exists(for $id in f:contained/*/f:id/@value return $contained[not(parent::*/descendant::f:reference/@value=concat('#', $contained/*/id/@value) or descendant::f:reference[@value='#'])]))",
            "source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
          },
          {
            "key": "dom-4",
            "severity": "error",
            "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
            "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
            "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
            "source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
          },
          {
            "key": "dom-5",
            "severity": "error",
            "human": "If a resource is contained in another resource, it SHALL NOT have a security label",
            "expression": "contained.meta.security.empty()",
            "xpath": "not(exists(f:contained/*/f:meta/f:security))",
            "source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
          },
          {
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice",
                "valueBoolean": true
              },
              {
                "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation",
                "valueMarkdown": "When a resource has no narrative, only systems that fully understand the data can display the resource to a human safely. Including a human readable representation in the resource makes for a much more robust eco-system and cheaper handling of resources by intermediary systems. Some ecosystems restrict distribution of resources to only those systems that do fully understand the resources, and as a consequence implementers may believe that the narrative is superfluous. However experience shows that such eco-systems often open up to new participants over time."
              }
            ],
            "key": "dom-6",
            "severity": "warning",
            "human": "A resource should have narrative for robust management",
            "expression": "text.`div`.exists()",
            "xpath": "exists(f:text/h:div)",
            "source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
          },
          {
            "key": "composition-has-narrative",
            "severity": "warning",
            "human": "SHOULD carry readable narrative -- at least one section with `text`, or a resource-level `text`. A note with no body renders as a blank chart entry rather than a visible error",
            "expression": "section.where(text.exists()).exists() or text.exists()",
            "source": "https://fhir.apps.health/StructureDefinition/nexus-emr-core-composition"
          },
          {
            "key": "composition-signed-has-attester",
            "severity": "error",
            "human": "A note or letter with status `final` or `amended` SHALL identify who signed it -- `attester` with mode `legal` or `professional`. Generated summaries are exempt: nothing attests to a machine-generated summary, and naming an attester who never attested would fabricate a medico-legal signature. A summary is one whose `type` carries LOINC 34133-9. `category` is not consulted, so a note cannot buy the exemption by acquiring a refinement, and a converted summary must be remapped to say 34133-9 on `type` rather than carrying a source constant there.",
            "expression": "(status = 'final' or status = 'amended') implies (type.coding.where(system = 'http://loinc.org' and code = '34133-9').exists() or attester.where(mode = 'legal' or mode = 'professional').exists())",
            "source": "https://fhir.apps.health/StructureDefinition/nexus-emr-core-composition"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "Entity. Role, or Act"
          },
          {
            "identity": "workflow",
            "map": "Event"
          },
          {
            "identity": "rim",
            "map": "Document[classCode=\"DOC\" and moodCode=\"EVN\" and isNormalAct()]"
          },
          {
            "identity": "cda",
            "map": "ClinicalDocument"
          },
          {
            "identity": "fhirdocumentreference",
            "map": "when described by DocumentReference"
          }
        ]
      },
      {
        "id": "Composition.id",
        "path": "Composition.id",
        "short": "Logical id of this artifact",
        "definition": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
        "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Resource.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/fhirpath/System.String",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
                "valueUrl": "string"
              }
            ]
          }
        ],
        "isModifier": false,
        "isSummary": true
      },
      {
        "id": "Composition.meta",
        "path": "Composition.meta",
        "short": "Metadata about the resource",
        "definition": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Resource.meta",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Meta"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": true
      },
      {
        "id": "Composition.meta.id",
        "path": "Composition.meta.id",
        "representation": [
          "xmlAttr"
        ],
        "short": "Unique id for inter-element referencing",
        "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Element.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/fhirpath/System.String",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
                "valueUrl": "string"
              }
            ]
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Composition.meta.extension",
        "path": "Composition.meta.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "description": "Extensions are always sliced by (at least) url",
          "rules": "open"
        },
        "short": "Additional content defined by implementations",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "alias": [
          "extensions",
          "user content"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "Element.extension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Composition.meta.versionId",
        "path": "Composition.meta.versionId",
        "short": "Version specific identifier",
        "definition": "The version specific identifier, as it appears in the version portion of the URL. This value changes when the resource is created, updated, or deleted.",
        "comment": "The server assigns this value, and ignores what the client specifies, except in the case that the server is imposing version integrity on updates/deletes.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Meta.versionId",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "id"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": true
      },
      {
        "id": "Composition.meta.lastUpdated",
        "path": "Composition.meta.lastUpdated",
        "short": "When the resource version last changed",
        "definition": "When the resource last changed - e.g. when the version changed.",
        "comment": "This value is always populated except when the resource is first being created. The server / resource manager sets this value; what a client provides is irrelevant. This is equivalent to the HTTP Last-Modified and SHOULD have the same value on a [read](http.html#read) interaction.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Meta.lastUpdated",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "instant"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": true
      },
      {
        "id": "Composition.meta.source",
        "path": "Composition.meta.source",
        "short": "Identifies EMR instance & pipeline version the resource came from",
        "definition": "A URI that identifies the EMR pipeline and version from which this resource originated.  This tells you which EMR instance (recommend using the instance identifier), and the version of the pipeline code/transformations.",
        "comment": "In the provenance resource, this corresponds to Provenance.entity.what[x]. The exact use of the source (and the implied Provenance.entity.role) is left to implementer discretion. Only one nominated source is allowed; for additional provenance details, a full Provenance resource should be used. \n\nThis element can be used to indicate where the current master source of a resource that has a canonical URL if the resource is no longer hosted at the canonical URL.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Meta.source",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "uri"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": true
      },
      {
        "id": "Composition.meta.profile",
        "path": "Composition.meta.profile",
        "short": "Profiles this resource claims to conform to",
        "definition": "A list of profiles (references to [StructureDefinition](structuredefinition.html#) resources) that this resource claims to conform to. The URL is a reference to [StructureDefinition.url](structuredefinition-definitions.html#StructureDefinition.url).",
        "comment": "It is up to the server and/or other infrastructure of policy to determine whether/how these claims are verified and/or updated over time.  The list of profile URLs is a set.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Meta.profile",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "canonical",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/StructureDefinition"
            ]
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": true
      },
      {
        "id": "Composition.meta.security",
        "path": "Composition.meta.security",
        "short": "Security Labels applied to this resource",
        "definition": "Security labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructure.",
        "comment": "The security labels can be updated without changing the stated version of the resource. The list of security labels is a set. Uniqueness is based the system/code, and version and display are ignored.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Meta.security",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Coding"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "SecurityLabels"
            },
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
              "valueBoolean": true
            }
          ],
          "strength": "extensible",
          "description": "Security Labels from the Healthcare Privacy and Security Classification System.",
          "valueSet": "http://hl7.org/fhir/ValueSet/security-labels"
        }
      },
      {
        "id": "Composition.meta.tag",
        "path": "Composition.meta.tag",
        "short": "Tags applied to this resource",
        "definition": "Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource.",
        "comment": "The tags can be updated without changing the stated version of the resource. The list of tags is a set. Uniqueness is based the system/code, and version and display are ignored.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Meta.tag",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Coding"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "Tags"
            }
          ],
          "strength": "example",
          "description": "Codes that represent various types of tags, commonly workflow-related; e.g. \"Needs review by Dr. Jones\".",
          "valueSet": "http://hl7.org/fhir/ValueSet/common-tags"
        }
      },
      {
        "id": "Composition.implicitRules",
        "path": "Composition.implicitRules",
        "short": "A set of rules under which this content was created",
        "definition": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.",
        "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Resource.implicitRules",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "uri"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": true,
        "isModifierReason": "This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation",
        "isSummary": true
      },
      {
        "id": "Composition.language",
        "path": "Composition.language",
        "short": "Language of the resource content",
        "definition": "The base language in which the resource is written.",
        "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Resource.language",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
              "valueCanonical": "http://hl7.org/fhir/ValueSet/all-languages"
            },
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "Language"
            },
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
              "valueBoolean": true
            }
          ],
          "strength": "preferred",
          "description": "A human language.",
          "valueSet": "http://hl7.org/fhir/ValueSet/languages"
        }
      },
      {
        "id": "Composition.text",
        "path": "Composition.text",
        "short": "Human-readable summary of the note",
        "definition": "Resource-level narrative summarizing the note. Distinct from `section.text`, which is the note\nCONTENT. For a single-section encounter note the two may be near-identical; where they differ,\n`section.text` is authoritative for clinical content and this element is a summary.",
        "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded information is added later.",
        "alias": [
          "narrative",
          "html",
          "xhtml",
          "display"
        ],
        "min": 0,
        "max": "1",
        "base": {
          "path": "DomainResource.text",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Narrative"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "Act.text?"
          }
        ]
      },
      {
        "id": "Composition.contained",
        "path": "Composition.contained",
        "short": "Contained, inline Resources",
        "definition": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
        "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.",
        "alias": [
          "inline resources",
          "anonymous resources",
          "contained resources"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "DomainResource.contained",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Resource"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Composition.extension",
        "path": "Composition.extension",
        "short": "Additional content defined by implementations",
        "definition": "May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "alias": [
          "extensions",
          "user content"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "DomainResource.extension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Composition.modifierExtension",
        "path": "Composition.modifierExtension",
        "short": "Extensions that cannot be ignored",
        "definition": "May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored.  This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
        "alias": [
          "extensions",
          "user content"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "DomainResource.modifierExtension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": true,
        "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them",
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Composition.identifier",
        "path": "Composition.identifier",
        "short": "Business identifier for the document -- stable across amendments",
        "definition": "The source-system identifier for this document.\n\nOPTIONAL (0..1), RELAXED FROM 1..1 IN 1.19.0. It was required when this profile modelled a single\ndocument kind -- the encounter note, which is the unit source EMRs key on and the gateway must map\nonto (OSCAR `casemgmt_note`), and an unidentified note cannot be reconciled across a sync boundary.\nThat case is still real and is still the reason to populate this element. What changed is the\npopulation: the profile now holds three document kinds, and a document born here with no external\nrecord to reconcile against has no identifier to carry. The server-assigned id already answers\n\"which document is this\", and forcing a writer to mint a business identifier yields a meaningless\nvalue that LOOKS like a key into something -- worse than absence. Letters shipped in exactly that\nshape, off-profile, because the requirement could not be met honestly.\n\nWHEN TO POPULATE IT -- stated rather than enforced, because the obligation differs by population:\n\n* A document synced from, or reconciled to, a source system SHOULD carry that system's identifier.\n  This is the encounter-note case the element was written for and it has not weakened.\n* A generated summary MUST carry its harness business key under\n  `NamingSystem/nexus-harness-key`. That key is what makes the summary update IN PLACE instead of\n  minting a second resource on every run; without it, regeneration silently duplicates.\n* A document that originated here and answers to neither case MAY omit it entirely.\n\nWHICH identifier to put here: R4 gives Composition exactly ONE identifier slot, so where the\ndocument came from a source system, that source identifier SHOULD be the one carried -- it is the\nmore useful of the two, being the only handle that reconciles back to the originating EMR.\nWhere the document originated here and has no source identifier, omit it: no canonical system is\nmandated, and a document with a single free slot is better left empty than filled with an\nidentifier that reconciles to nothing.\nUnlike the repeating-identifier profiles in this IG, there is no invariant enforcing a\npreference, because with a single slot such an invariant would forbid rather than recommend.\n\nSTABLE ACROSS AMENDMENTS. This identifies the document, not the version of it. Amending a signed\nnote produces a new version of the same resource with the same identifier -- see `status`.\n\nONE SLOT, SO NO SECOND IDENTIFIER. Earlier text here invited implementers to carry a source 'raw\ncode' as an ADDITIONAL identifier, which the repeating-identifier profiles in this IG can do and\nthis one cannot: `Composition.identifier` is singular in R4. Where both a source identifier and a\nraw code exist, the identifier above wins the slot and the raw code is not carried here.",
        "comment": "Similar to ClinicalDocument/setId in CDA. See discussion in resource definition for how these relate.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Composition.identifier",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Identifier"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": true,
        "mapping": [
          {
            "identity": "workflow",
            "map": "Event.identifier"
          },
          {
            "identity": "w5",
            "map": "FiveWs.identifier"
          },
          {
            "identity": "rim",
            "map": "Document.id / Document.setId"
          },
          {
            "identity": "cda",
            "map": ".setId"
          },
          {
            "identity": "fhirdocumentreference",
            "map": "DocumentReference.masterIdentifier"
          }
        ]
      },
      {
        "id": "Composition.identifier.id",
        "path": "Composition.identifier.id",
        "representation": [
          "xmlAttr"
        ],
        "short": "Unique id for inter-element referencing",
        "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Element.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/fhirpath/System.String",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
                "valueUrl": "string"
              }
            ]
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Composition.identifier.extension",
        "path": "Composition.identifier.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "description": "Extensions are always sliced by (at least) url",
          "rules": "open"
        },
        "short": "Additional content defined by implementations",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "alias": [
          "extensions",
          "user content"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "Element.extension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Composition.identifier.use",
        "path": "Composition.identifier.use",
        "short": "usual | official | temp | secondary | old (If known)",
        "definition": "The purpose of this identifier.",
        "comment": "Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.",
        "requirements": "Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Identifier.use",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": true,
        "isModifierReason": "This is labeled as \"Is Modifier\" because applications should not mistake a temporary id for a permanent one.",
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "IdentifierUse"
            }
          ],
          "strength": "required",
          "description": "Identifies the purpose for this identifier, if known .",
          "valueSet": "http://hl7.org/fhir/ValueSet/identifier-use|4.0.1"
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "N/A"
          },
          {
            "identity": "rim",
            "map": "Role.code or implied by context"
          }
        ]
      },
      {
        "id": "Composition.identifier.type",
        "path": "Composition.identifier.type",
        "short": "Description of identifier",
        "definition": "A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.",
        "comment": "This element deals only with general categories of identifiers.  It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage.   Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.",
        "requirements": "Allows users to make use of identifiers when the identifier system is not known.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Identifier.type",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "IdentifierType"
            },
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
              "valueBoolean": true
            }
          ],
          "strength": "extensible",
          "description": "A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.",
          "valueSet": "http://hl7.org/fhir/ValueSet/identifier-type"
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.5"
          },
          {
            "identity": "rim",
            "map": "Role.code or implied by context"
          }
        ]
      },
      {
        "id": "Composition.identifier.system",
        "path": "Composition.identifier.system",
        "short": "The namespace for the identifier value",
        "definition": "Establishes the namespace for the value - that is, a URL that describes a set values that are unique.",
        "comment": "Identifier.system is always case sensitive.",
        "requirements": "There are many sets  of identifiers.  To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Identifier.system",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "uri"
          }
        ],
        "example": [
          {
            "label": "General",
            "valueUri": "http://www.acme.com/identifiers/patient"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.4 / EI-2-4"
          },
          {
            "identity": "rim",
            "map": "II.root or Role.id.root"
          },
          {
            "identity": "servd",
            "map": "./IdentifierType"
          }
        ]
      },
      {
        "id": "Composition.identifier.value",
        "path": "Composition.identifier.value",
        "short": "The value that is unique",
        "definition": "The portion of the identifier typically relevant to the user and which is unique within the context of the system.",
        "comment": "If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986.  The value's primary purpose is computational mapping.  As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.)  A value formatted for human display can be conveyed using the [Rendered Value extension](extension-rendered-value.html). Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Identifier.value",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "example": [
          {
            "label": "General",
            "valueString": "123456"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.1 / EI.1"
          },
          {
            "identity": "rim",
            "map": "II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)"
          },
          {
            "identity": "servd",
            "map": "./Value"
          }
        ]
      },
      {
        "id": "Composition.identifier.period",
        "path": "Composition.identifier.period",
        "short": "Time period when id is/was valid for use",
        "definition": "Time period during which identifier is/was valid for use.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Identifier.period",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Period"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.7 + CX.8"
          },
          {
            "identity": "rim",
            "map": "Role.effectiveTime or implied by context"
          },
          {
            "identity": "servd",
            "map": "./StartDate and ./EndDate"
          }
        ]
      },
      {
        "id": "Composition.identifier.assigner",
        "path": "Composition.identifier.assigner",
        "short": "Organization that issued id (may be just text)",
        "definition": "Organization that issued/manages the identifier.",
        "comment": "The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Identifier.assigner",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Organization"
            ]
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.4 / (CX.4,CX.9,CX.10)"
          },
          {
            "identity": "rim",
            "map": "II.assigningAuthorityName but note that this is an improper use by the definition of the field.  Also Role.scoper"
          },
          {
            "identity": "servd",
            "map": "./IdentifierIssuingAuthority"
          }
        ]
      },
      {
        "id": "Composition.status",
        "path": "Composition.status",
        "short": "preliminary (draft) | final (signed) | amended (edited after signing) | entered-in-error",
        "definition": "The note's lifecycle state. This is the element that answers \"is this note a draft or is it\nsigned?\" -- there is no extension for it and none should be created.\n\n| Note state                  | status              |\n|-----------------------------|---------------------|\n| draft, being typed          | `preliminary`       |\n| signed                      | `final`             |\n| signed, then edited         | `amended`           |\n| voided / created in error   | `entered-in-error`  |\n\nAMENDMENTS ARE VERSION HISTORY, NOT NEW RESOURCES. When a signed note is edited, update THIS\nresource in place and set `status` to `amended`. The server's version history preserves the\nas-signed content. Do NOT create a second Composition and relate it back -- that leaves two\nresources where the chart must know to display one, and every consumer must learn to filter.\n\n`relatesTo` is deliberately left unprofiled. It stays available in core R4 if a true ADDENDUM\nworkflow later appears -- original untouched, new signed content appended, with its own author\nand sign-off date -- which is a genuinely different clinical act from an in-place correction.\nIt is not the mechanism for ordinary amendment.\n\n⚠ IMPLEMENTER WARNING -- this model depends on infrastructure this IG has not yet declared.\nVersion history is server-local: `_history` does not travel in bundles, `$everything`, or sync\npipelines, all of which move current versions only. Across a system boundary, an amended note\narrives as its amended text with the as-signed content absent. Furthermore this IG currently\npublishes NO CapabilityStatement, so no versioning policy or supported-interaction set is\ndeclared anywhere, and `meta.versionId` is type `id` -- server-opaque in R4 and unconstrained\nhere. Consumers MUST NOT infer ordering, authorship, or \"which version was signed\" by parsing\nor sorting `versionId`. Reconstructing the as-signed note is, today, only reliable on the\nauthoring server. Declaring the version-history contract is tracked as outstanding IG work and\nis a prerequisite for relying on this model across boundaries.",
        "comment": "If a composition is marked as withdrawn, the compositions/documents in the series, or data from the composition or document series, should never be displayed to a user without being clearly marked as untrustworthy. The flag \"entered-in-error\" is why this element is labeled as a modifier of other elements.   \n\nSome reporting work flows require that the original narrative of a final document never be altered; instead, only new narrative can be added. The composition resource has no explicit status for explicitly noting whether this business rule is in effect. This would be handled by an extension if required.",
        "requirements": "Need to be able to mark interim, amended, or withdrawn compositions or documents.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Composition.status",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mustSupport": true,
        "isModifier": true,
        "isModifierReason": "This element is labelled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid",
        "isSummary": true,
        "binding": {
          "strength": "required",
          "valueSet": "http://hl7.org/fhir/ValueSet/composition-status"
        },
        "mapping": [
          {
            "identity": "workflow",
            "map": "Event.status"
          },
          {
            "identity": "w5",
            "map": "FiveWs.status"
          },
          {
            "identity": "rim",
            "map": "interim: .completionCode=\"IN\" & ./statusCode[isNormalDatatype()]=\"active\";  final: .completionCode=\"AU\" &&  ./statusCode[isNormalDatatype()]=\"complete\" and not(./inboundRelationship[typeCode=\"SUBJ\" and isNormalActRelationship()]/source[subsumesCode(\"ActClass#CACT\") and moodCode=\"EVN\" and domainMember(\"ReviseComposition\", code) and isNormalAct()]);  amended: .completionCode=\"AU\" &&  ./statusCode[isNormalDatatype()]=\"complete\" and ./inboundRelationship[typeCode=\"SUBJ\" and isNormalActRelationship()]/source[subsumesCode(\"ActClass#CACT\") and moodCode=\"EVN\" and domainMember(\"ReviseComposition\", code) and isNormalAct() and statusCode=\"completed\"];  withdrawn : .completionCode=NI &&  ./statusCode[isNormalDatatype()]=\"obsolete\""
          },
          {
            "identity": "cda",
            "map": "n/a"
          },
          {
            "identity": "fhirdocumentreference",
            "map": "DocumentReference.status"
          }
        ]
      },
      {
        "id": "Composition.type",
        "path": "Composition.type",
        "short": "What kind of document this is: note, summary or letter",
        "definition": "What kind of document this is, at the coarsest useful level: an authored **note**, a generated\n**summary**, or a **letter**. Three codes, and this element carries exactly one of them.\n\n**This is the element to switch on, and the element to search.** It is 1..1, so it is always\npresent, and its vocabulary is small and closed enough that a consumer can branch on it exhaustively.\nA surface that renders Compositions decides here whether it is showing clinician-authored content or\nmachine-generated content -- and `author` will not answer that, because a scribe-drafted note and a\ngenerated summary both carry a Device author. `author` says who wrote it; this element says what it\nis.\n\n| code | what it is |\n|---|---|\n| LOINC 34109-9 \"Note\" | a clinician-authored note |\n| LOINC 34133-9 \"Summary of episode note\" | a generated summary, of any kind |\n| LOINC 51852-2 \"Letter\" | a letter |\n\n**The finer question goes on `category`.** Which kind of note (progress, consult, discharge,\nhistory and physical), and which kind of summary (day-sheet, interval, encounter recap), are\nrefinements of what this element already says. They are repeating and open-ended, which is why they\nbelong on a `0..*` element rather than this one. See `category`.\n\n**Converted data usually needs remapping here.** In OSCAR, every `casemgmt_note` arrives with LOINC\n11488-4 \"Consult note\" whatever the note actually is. That is a refinement code, not a class code: a\nconverter should write 34109-9 \"Note\" here and carry 11488-4 on `category`, rather than putting a\nrefinement in the class slot.\n\n⚠ IMPLEMENTER WARNING -- an `extensible` binding is not silent in TypedFhir. A `required` binding\ngrades at ERROR; `extensible` and `preferred` both grade at WARNING; `example` is not checked. The\ncheck fires only for a code OUTSIDE the bound set, so a document typed with something other than the\nthree codes above raises a validation warning. That is the intended signal here: the class axis is\nsmall and this set enumerates it, so a code outside it is usually a refinement code in the wrong\nslot. **A warning is not a rejection** -- `extensible` keeps a genuinely unclassifiable document\nconformant.\n\nWhere this code was mapped from a source system's own vocabulary, carry the raw coding alongside the mapped one, flagged `userSelected = true`. See [Carrying the raw code](https://fhir.apps.health/guide/patterns/raw-codes.html).",
        "comment": "For Composition type, LOINC is ubiquitous and strongly endorsed by HL7. Most implementation guides will require a specific LOINC code, or use LOINC as an extensible binding.",
        "requirements": "Key metadata element describing the composition, used in searching/filtering.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Composition.type",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": true,
        "binding": {
          "strength": "extensible",
          "valueSet": "https://fhir.apps.health/ValueSet/nexus-emr-composition-classification",
          "description": "The CLASS of document Nexus EMR stores -- note, summary or letter; extensible, so a document that is genuinely none of the three is still conformant"
        },
        "mapping": [
          {
            "identity": "workflow",
            "map": "Event.code"
          },
          {
            "identity": "w5",
            "map": "FiveWs.class"
          },
          {
            "identity": "rim",
            "map": "./code"
          },
          {
            "identity": "cda",
            "map": ".code"
          },
          {
            "identity": "fhirdocumentreference",
            "map": "DocumentReference.type"
          }
        ]
      },
      {
        "id": "Composition.type.id",
        "path": "Composition.type.id",
        "representation": [
          "xmlAttr"
        ],
        "short": "Unique id for inter-element referencing",
        "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Element.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/fhirpath/System.String",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
                "valueUrl": "string"
              }
            ]
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Composition.type.extension",
        "path": "Composition.type.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "description": "Extensions are always sliced by (at least) url",
          "rules": "open"
        },
        "short": "Additional content defined by implementations",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "alias": [
          "extensions",
          "user content"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "Element.extension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Composition.type.coding",
        "path": "Composition.type.coding",
        "short": "Code defined by a terminology system",
        "definition": "A reference to a code defined by a terminology system.",
        "comment": "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.",
        "requirements": "Allows for alternative encodings within a code system, and translations to other code systems.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "CodeableConcept.coding",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Coding"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.1-8, C*E.10-22"
          },
          {
            "identity": "rim",
            "map": "union(., ./translation)"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding"
          }
        ]
      },
      {
        "id": "Composition.type.text",
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
            "valueBoolean": true
          }
        ],
        "path": "Composition.type.text",
        "short": "Local document class as the source EMR names it",
        "definition": "A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.",
        "comment": "Very often the text is the same as a displayName of one of the codings.",
        "requirements": "The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "CodeableConcept.text",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.9. But note many systems use C*E.2 for this"
          },
          {
            "identity": "rim",
            "map": "./originalText[mediaType/code=\"text/plain\"]/data"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText"
          }
        ]
      },
      {
        "id": "Composition.category",
        "path": "Composition.category",
        "short": "Refinements of the type: which kind of note, which kind of summary",
        "definition": "The finer classification of a document, refining what `type` has already said at the class level.\nRepeating and optional: a document may carry several refinements, or none.\n\n**Switch on `type`, not on this element.** `type` is 1..1 and always present; `category` is 0..*\nand may legitimately be absent. A consumer keying off `category` alone will miss documents.\n\nWhat belongs here:\n\n- **which kind of note** -- LOINC 11506-3 \"Progress note\", 11488-4 \"Consult note\", 18842-5\n  \"Discharge summary\", 34117-2 \"History and physical note\"\n- **which kind of summary** -- the codes in `nexus-composition-type`: a day-sheet summary written\n  ahead of a clinic, an interval summary covering the gap since the last visit, a recap of a single\n  encounter. LOINC has no concept for any of them, and they are not interchangeable\n- a **repeat of the `type` code**, which is allowed: the bound value set contains all three class\n  codes precisely so the repeat validates\n- administrative or workflow labels a source system carries that have no place on `type`\n\n**A refinement does not restate the class, it narrows it.** A progress note is `type` = 34109-9\n\"Note\" and `category` = 11506-3 \"Progress note\". A day-sheet summary is `type` = 34133-9 \"Summary of\nepisode note\" and `category` = `nexus-daysheet-summary`. Reading `type` alone always tells a\nconsumer which of the three populations it is holding; reading `category` tells it which kind\nwithin that population, when the producer knew.\n\n**Bound `preferred`, deliberately weaker than the binding on `type`.** LOINC's document axis is\nlarge and this guide does not enumerate it. A producer holding a more precise code than the ones\nlisted should write it here and should not earn a warning for being more precise.\n\n**This profile and the DocumentReference profile differ on which element classifies, for a reason.**\nThat profile directs classification to `category` rather than `type`; this one puts the class on\n`type`. The difference follows from the base cardinalities: `DocumentReference.type` is 0..1 and may\nbe absent, so `category` has to carry the load there. `Composition.type` is 1..1 and is always\npresent, so it carries it here.",
        "comment": "This is a metadata field from [XDS/MHD](http://wiki.ihe.net/index.php?title=Mobile_access_to_Health_Documents_(MHD)).",
        "requirements": "Helps humans to assess whether the composition is of interest when viewing an index of compositions or documents.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Composition.category",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": true,
        "binding": {
          "strength": "preferred",
          "valueSet": "https://fhir.apps.health/ValueSet/nexus-composition-kind",
          "description": "Refinements of the document class: note kinds, summary kinds, and the three class codes themselves so a repeat of `type` validates; preferred, so a more precise code is never penalised"
        },
        "mapping": [
          {
            "identity": "workflow",
            "map": "Event.subject"
          },
          {
            "identity": "w5",
            "map": "FiveWs.class"
          },
          {
            "identity": "rim",
            "map": ".outboundRelationship[typeCode=\"COMP].target[classCode=\"LIST\", moodCode=\"EVN\"].code"
          },
          {
            "identity": "cda",
            "map": "n/a"
          },
          {
            "identity": "fhirdocumentreference",
            "map": "DocumenttReference.category"
          }
        ]
      },
      {
        "id": "Composition.category.id",
        "path": "Composition.category.id",
        "representation": [
          "xmlAttr"
        ],
        "short": "Unique id for inter-element referencing",
        "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Element.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/fhirpath/System.String",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
                "valueUrl": "string"
              }
            ]
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Composition.category.extension",
        "path": "Composition.category.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "description": "Extensions are always sliced by (at least) url",
          "rules": "open"
        },
        "short": "Additional content defined by implementations",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "alias": [
          "extensions",
          "user content"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "Element.extension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Composition.category.coding",
        "path": "Composition.category.coding",
        "short": "Code defined by a terminology system",
        "definition": "A reference to a code defined by a terminology system.",
        "comment": "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.",
        "requirements": "Allows for alternative encodings within a code system, and translations to other code systems.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "CodeableConcept.coding",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Coding"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.1-8, C*E.10-22"
          },
          {
            "identity": "rim",
            "map": "union(., ./translation)"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding"
          }
        ]
      },
      {
        "id": "Composition.category.text",
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
            "valueBoolean": true
          }
        ],
        "path": "Composition.category.text",
        "short": "Plain text refinement, where no code fits",
        "definition": "A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.",
        "comment": "Very often the text is the same as a displayName of one of the codings.",
        "requirements": "The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "CodeableConcept.text",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.9. But note many systems use C*E.2 for this"
          },
          {
            "identity": "rim",
            "map": "./originalText[mediaType/code=\"text/plain\"]/data"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText"
          }
        ]
      },
      {
        "id": "Composition.subject",
        "path": "Composition.subject",
        "short": "Patient the note is about",
        "definition": "The patient this note documents. Required.\n\nR4 permits any subject; this IG restricts to Patient, consistent with every other clinical\nprofile here. A note about something other than a patient has no home in this model.",
        "comment": "For clinical documents, this is usually the patient.",
        "requirements": "Essential metadata for searching for the composition. Identifies who and/or what the composition/document is about.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Composition.subject",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-patient"
            ]
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": true,
        "mapping": [
          {
            "identity": "w5",
            "map": "FiveWs.subject[x]"
          },
          {
            "identity": "rim",
            "map": ".participation[typeCode=\"SBJ\"].role[typeCode=\"PAT\"]"
          },
          {
            "identity": "cda",
            "map": ".recordTarget"
          },
          {
            "identity": "fhirdocumentreference",
            "map": "DocumentReference.subject"
          },
          {
            "identity": "w5",
            "map": "FiveWs.subject"
          }
        ]
      },
      {
        "id": "Composition.encounter",
        "path": "Composition.encounter",
        "short": "The encounter this note documents",
        "definition": "The clinical encounter this note belongs to. Optional in R4 and left optional here, because\nnotes legitimately exist outside an encounter (a telephone note taken before the visit is\nbooked, a chart correction, a note migrated from a source EMR whose encounter linkage was\nnever recorded).\n\nWhere the note documents a visit, populate it: it is what groups notes onto the encounter in\nthe chart and what lets the day sheet find them.",
        "requirements": "Provides context for the composition and supports searching.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Composition.encounter",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-encounter"
            ]
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": true,
        "mapping": [
          {
            "identity": "workflow",
            "map": "Event.context"
          },
          {
            "identity": "w5",
            "map": "FiveWs.context"
          },
          {
            "identity": "rim",
            "map": "unique(highest(./outboundRelationship[typeCode=\"SUBJ\" and isNormalActRelationship()], priorityNumber)/target[moodCode=\"EVN\" and classCode=(\"ENC\", \"PCPR\") and isNormalAct])"
          },
          {
            "identity": "cda",
            "map": ".componentOf.encompassingEncounter"
          },
          {
            "identity": "fhirdocumentreference",
            "map": "DocumentReference.context.encounter"
          }
        ]
      },
      {
        "id": "Composition.date",
        "path": "Composition.date",
        "short": "When the note was last logically changed",
        "definition": "The composition editing time -- when the note was last logically changed.\n\nRead the name carefully: this MOVES when the note is amended. It is not the authored date and it\nis not the date the care happened. A timeline sorting notes by this element will re-position an\namended note to the date of its amendment.\n\nTiming relationships on this profile:\n\n- `date`: when this Composition was last edited (this element)\n- `event.period`: when the documented CARE occurred -- the clinical date\n- `encounter`: the visit the note belongs to, when there is one\n\nExample. A progress note for an April 10 visit, written up the next morning and corrected a week\nlater:\n\n- `event.period.start`: 2026-04-10 (the visit)\n- `date` at first save: 2026-04-11\n- `date` after the correction: 2026-04-18 -- and the visit is still April 10\n\n**Sort a clinical timeline by `event.period.start`, not by `date`.**\n\nThis element is the FALLBACK arm of the profile's declared effective date, not the first one:\nthe declaration is `event.period.start | date`. A note that populates `event` dates to its care;\none that does not falls back to this element, which is a statement about resource metadata rather\nthan about clinical time. See the note on `event` above.",
        "comment": "Not the clinical date, and not the authored date.",
        "requirements": "dateTime is used for tracking, organizing versions and searching. Note that this is the time of *authoring*. When packaged in a document, [Bundle.timestamp](bundle-definitions.html#Bundle.timestamp) is the date of packaging.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Composition.date",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "dateTime"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": true,
        "mapping": [
          {
            "identity": "workflow",
            "map": "Event.occurrence[x]"
          },
          {
            "identity": "w5",
            "map": "FiveWs.done[x]"
          },
          {
            "identity": "rim",
            "map": ".effectiveTime[type=\"TS\"]"
          },
          {
            "identity": "cda",
            "map": ".effectiveTime"
          },
          {
            "identity": "fhirdocumentreference",
            "map": "DocumentReference.content.attachment.date, DocumentReference.created"
          }
        ]
      },
      {
        "id": "Composition.author",
        "path": "Composition.author",
        "short": "Who or what wrote the note",
        "definition": "Who is responsible for the note's content. Required and repeating: a note has at least one\nauthor, and may have several.\n\nPractitioner is the primary provider identity in this IG; PractitionerRole is permitted where\nthe clinic/role binding is part of what is being asserted (Practitioner has no `organization`\nand so cannot express it).\n\nAI-DRAFTED NOTES. A Device may appear as an author alongside the human. This is one of the two\nmechanisms for recording that a note was scribed rather than typed; the other is a Provenance\nrecord (`NexusEmrCoreProvenance`), which carries the fuller trail -- model, inputs, supervising\nhuman. They are not exclusive and the IG does not yet rule on which consumers should read.\n\nAbsent a Device author, the origin is UNKNOWN, not \"typed\". Legacy notes migrated from OSCAR\nPro carry no origin information and must not be inferred to be human-typed.\n\nAN AI AGENT AUTHOR IS A LOGICAL DEVICE REFERENCE. `Reference.identifier` under the\n`nexus-harness-graph` NamingSystem names the harness graph that produced the text, with\n`Reference.type = \"Device\"`; no Device resource need exist on this server, and the granularity\nis the graph/feature level. This is the same mechanism `NexusEmrCoreClinicalTask` uses for\n`requester` and `owner`, so an AI-scribed note and the review Task carrying it name their agent\nidentically.\n\nThat is also why `author` admits **bare `Device`** alongside the two profiled Device types: a\nlogical, identifier-only reference cannot conform to `NexusEmrCoreAppDevice` or\n`NexusEmrCoreEmrDevice`, because conforming to a profile presupposes a resource that exists to be\nvalidated against it. The profiled targets remain for a Device actually registered in this\nstore; the bare target is what an AI agent uses.",
        "comment": "A Practitioner, or a Device for AI-drafted content.",
        "requirements": "Identifies who is responsible for the content.",
        "min": 1,
        "max": "*",
        "base": {
          "path": "Composition.author",
          "min": 1,
          "max": "*"
        },
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-practitioner",
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-practitionerrole",
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-appdevice",
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-emrdevice",
              "http://hl7.org/fhir/StructureDefinition/Device",
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-organization"
            ]
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": true,
        "mapping": [
          {
            "identity": "workflow",
            "map": "Event.performer"
          },
          {
            "identity": "w5",
            "map": "FiveWs.author"
          },
          {
            "identity": "rim",
            "map": ".participation[typeCode=\"AUT\"].role[classCode=\"ASSIGNED\"]"
          },
          {
            "identity": "cda",
            "map": ".author.assignedAuthor"
          },
          {
            "identity": "fhirdocumentreference",
            "map": "DocumentReference.agent"
          }
        ]
      },
      {
        "id": "Composition.title",
        "path": "Composition.title",
        "short": "Human-readable label for the note",
        "definition": "The note's label as shown in a chart list -- e.g. \"Progress Note - 8 Apr 2025\".\n\n**Mandatory in base R4, not by this profile.** R4 makes `title` 1..1 on the reasoning that CDA left\nit optional and no useful case for omitting it was known. A profile cannot relax a base cardinality,\nso this element is required here whatever a primary care EMR would otherwise choose. Much of the\ntime there is no editorially meaningful title to write.\n\n**When there is no meaningful title, write the display name of the `type` coding, exactly.** That is\nthe fallback R4's own guidance anticipates, and it is what downstream consumers expect to find. Do\nnot invent a label, and do not leave a placeholder string.\n\n**Renderers may suppress a title that duplicates the type.** A consumer comparing `title` against\nthe display of `Composition.type.coding` and finding them equal may omit the title from its\npresentation. The equality is the signal that no editorial title was authored.",
        "comment": "For many compositions, the title is the same as the text or a display name of Composition.type (e.g. a \"consultation\" or \"progress note\"). Note that CDA does not make title mandatory, but there are no known cases where it is useful for title to be omitted, so it is mandatory here. Feedback on this requirement is welcome during the trial use period.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Composition.title",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "./title"
          },
          {
            "identity": "cda",
            "map": ".title"
          },
          {
            "identity": "fhirdocumentreference",
            "map": "DocumentReference.description, DocumentReference.content.attachment.title"
          }
        ]
      },
      {
        "id": "Composition.confidentiality",
        "path": "Composition.confidentiality",
        "short": "Confidentiality level, where the EMR distinguishes",
        "definition": "The code specifying the level of confidentiality of the Composition.",
        "comment": "The exact use of this element, and enforcement and issues related to highly sensitive documents are out of scope for the base specification, and delegated to implementation profiles (see security section).  This element is labeled as a modifier because highly confidential documents must not be treated as if they are not.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Composition.confidentiality",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "DocumentConfidentiality"
            }
          ],
          "strength": "required",
          "description": "Codes specifying the level of confidentiality of the composition.",
          "valueSet": "http://terminology.hl7.org/ValueSet/v3-ConfidentialityClassification|2014-03-26"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": ".confidentialityCode"
          },
          {
            "identity": "cda",
            "map": ".confidentialityCode"
          },
          {
            "identity": "fhirdocumentreference",
            "map": "DocumentReference.securityLabel"
          }
        ]
      },
      {
        "id": "Composition.attester",
        "path": "Composition.attester",
        "short": "Who signed the note, and when",
        "definition": "Attestation -- the medico-legal signature.\n\nREQUIRED ONCE SIGNED: a note with `status` of `final` or `amended` must carry an attester with\nmode `legal` or `professional` (invariant `composition-signed-has-attester`). A signed note\nwith nobody identified as having signed it is not a record anyone can stand behind.\n\n`attester.time` is when the signature happened -- distinct from `date` (last change) and from\nthe encounter's period (when care happened).\n\nFor AI-drafted notes, the attester is the CLINICIAN, never the Device. The Device may be an\nauthor; it cannot attest. This asymmetry is the whole point of separating the two elements:\ngeneration and responsibility are different acts.",
        "comment": "Only list each attester once.",
        "requirements": "Identifies responsibility for the accuracy of the composition content.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Composition.attester",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "BackboneElement"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": ".participation[typeCode=\"AUTHEN\"].role[classCode=\"ASSIGNED\"]"
          },
          {
            "identity": "cda",
            "map": ".authenticator/.legalAuthenticator"
          },
          {
            "identity": "fhirdocumentreference",
            "map": "DocumentReference.authenticator"
          }
        ]
      },
      {
        "id": "Composition.attester.id",
        "path": "Composition.attester.id",
        "representation": [
          "xmlAttr"
        ],
        "short": "Unique id for inter-element referencing",
        "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Element.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/fhirpath/System.String",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
                "valueUrl": "string"
              }
            ]
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Composition.attester.extension",
        "path": "Composition.attester.extension",
        "short": "Additional content defined by implementations",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "alias": [
          "extensions",
          "user content"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "Element.extension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Composition.attester.modifierExtension",
        "path": "Composition.attester.modifierExtension",
        "short": "Extensions that cannot be ignored even if unrecognized",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored.  This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
        "alias": [
          "extensions",
          "user content",
          "modifiers"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "BackboneElement.modifierExtension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": true,
        "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them",
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Composition.attester.mode",
        "path": "Composition.attester.mode",
        "short": "personal | professional | legal | official",
        "definition": "The type of attestation the authenticator offers.",
        "requirements": "Indicates the level of authority of the attestation.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Composition.attester.mode",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": false,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "CompositionAttestationMode"
            }
          ],
          "strength": "required",
          "description": "The way in which a person authenticated a composition.",
          "valueSet": "http://hl7.org/fhir/ValueSet/composition-attestation-mode|4.0.1"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "unique(./modeCode)"
          },
          {
            "identity": "cda",
            "map": "implied by .authenticator/.legalAuthenticator"
          }
        ]
      },
      {
        "id": "Composition.attester.time",
        "path": "Composition.attester.time",
        "short": "When the composition was attested",
        "definition": "When the composition was attested by the party.",
        "requirements": "Identifies when the information in the composition was deemed accurate.  (Things may have changed since then.).",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Composition.attester.time",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "dateTime"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "./time[type=\"TS\" and isNormalDatatype()]"
          },
          {
            "identity": "cda",
            "map": ".authenticator.time"
          }
        ]
      },
      {
        "id": "Composition.attester.party",
        "path": "Composition.attester.party",
        "short": "Who attested the composition",
        "definition": "Who attested the composition in the specified way.",
        "requirements": "Identifies who has taken on the responsibility for accuracy of the composition content.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Composition.attester.party",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-practitioner",
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-practitionerrole",
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-organization"
            ]
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "w5",
            "map": "FiveWs.witness"
          },
          {
            "identity": "rim",
            "map": "./role[classCode=\"ASSIGNED\" and isNormalRole]/player[determinerCode=\"INST\" and classCode=(\"DEV\", \"PSN\") and isNormalEntity()] or ./role[classCode=\"ASSIGNED\" and isNormalRole and not(player)]/scoper[determinerCode=\"INST\" and classCode=\"ORG\" and isNormalEntity()]"
          },
          {
            "identity": "cda",
            "map": ".authenticator.assignedEnttty"
          }
        ]
      },
      {
        "id": "Composition.custodian",
        "path": "Composition.custodian",
        "short": "Organization responsible for maintaining the note",
        "definition": "The organization stewarding this note. Optional here (DocumentReference requires it) because an authored note's custodian is normally the clinic operating the EMR and is implied by tenancy.",
        "comment": "This is useful when documents are derived from a composition - provides guidance for how to get the latest version of the document. This is optional because this is sometimes not known by the authoring system, and can be inferred by context. However, it is important that this information be known when working with a derived document, so providing a custodian is encouraged.",
        "requirements": "Identifies where to go to find the current version, where to report issues, etc.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Composition.custodian",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-organization"
            ]
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": ".participation[typeCode=\"RCV\"].role[classCode=\"CUST\"].scoper[classCode=\"ORG\" and determinerCode=\"INST\"]"
          },
          {
            "identity": "cda",
            "map": ".custodian.assignedCustodian"
          },
          {
            "identity": "fhirdocumentreference",
            "map": "DocumentReference.custodian"
          }
        ]
      },
      {
        "id": "Composition.relatesTo",
        "path": "Composition.relatesTo",
        "short": "Relationships to other compositions/documents",
        "definition": "Relationships that this composition has with other compositions or documents that already exist.",
        "comment": "A document is a version specific composition.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Composition.relatesTo",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "BackboneElement"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": ".outboundRelationship"
          },
          {
            "identity": "cda",
            "map": ".relatedDocument"
          },
          {
            "identity": "fhirdocumentreference",
            "map": "DocumentReference.relatesTo"
          }
        ]
      },
      {
        "id": "Composition.relatesTo.id",
        "path": "Composition.relatesTo.id",
        "representation": [
          "xmlAttr"
        ],
        "short": "Unique id for inter-element referencing",
        "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Element.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/fhirpath/System.String",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
                "valueUrl": "string"
              }
            ]
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Composition.relatesTo.extension",
        "path": "Composition.relatesTo.extension",
        "short": "Additional content defined by implementations",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "alias": [
          "extensions",
          "user content"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "Element.extension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Composition.relatesTo.modifierExtension",
        "path": "Composition.relatesTo.modifierExtension",
        "short": "Extensions that cannot be ignored even if unrecognized",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored.  This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
        "alias": [
          "extensions",
          "user content",
          "modifiers"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "BackboneElement.modifierExtension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": true,
        "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them",
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Composition.relatesTo.code",
        "path": "Composition.relatesTo.code",
        "short": "replaces | transforms | signs | appends",
        "definition": "The type of relationship that this composition has with anther composition or document.",
        "comment": "If this document appends another document, then the document cannot be fully understood without also accessing the referenced document.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Composition.relatesTo.code",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "DocumentRelationshipType"
            }
          ],
          "strength": "required",
          "description": "The type of relationship between documents.",
          "valueSet": "http://hl7.org/fhir/ValueSet/document-relationship-type|4.0.1"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": ".outboundRelationship.typeCode"
          },
          {
            "identity": "cda",
            "map": ".relatedDocument.typeCode"
          },
          {
            "identity": "fhirdocumentreference",
            "map": "DocumentReference.relatesTo.code"
          }
        ]
      },
      {
        "id": "Composition.relatesTo.target[x]",
        "path": "Composition.relatesTo.target[x]",
        "short": "Target of the relationship",
        "definition": "The target composition/document of this relationship.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Composition.relatesTo.target[x]",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "Identifier"
          },
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Composition"
            ]
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": ".target[classCode=\"DOC\", moodCode=\"EVN\"].id"
          },
          {
            "identity": "cda",
            "map": ".relatedDocument.id"
          },
          {
            "identity": "fhirdocumentreference",
            "map": "DocumentReference.relatesTo.target"
          }
        ]
      },
      {
        "id": "Composition.event",
        "path": "Composition.event",
        "short": "The care being documented -- what happened, and WHEN it happened",
        "definition": "The clinical service(s) this note documents. `event.period` is the CLINICAL date: the time the\ndocumented care occurred, which is not the same as when the note was written, and not the same as\nwhen it was last edited.\n\nPopulate it whenever the note is about care that happened at an identifiable time -- which for a\nprogress note, a consult note or a discharge summary is always. A note whose only date is `date`\ncannot be placed on a clinical timeline correctly: an amendment moves it.\n\n`event.detail` may reference the thing being documented; `event.code` says what kind of care it\nwas. Both are optional and neither substitutes for the period.",
        "comment": "The event needs to be consistent with the type element, though can provide further information if desired.",
        "requirements": "Provides context for the composition and creates a linkage between a resource describing an event and the composition created describing the event.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Composition.event",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "BackboneElement"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "outboundRelationship[typeCode=\"SUBJ\"].target[classCode<'ACT']"
          },
          {
            "identity": "cda",
            "map": ".documentationOf.serviceEvent"
          },
          {
            "identity": "fhirdocumentreference",
            "map": "DocumentReference.event"
          }
        ]
      },
      {
        "id": "Composition.event.id",
        "path": "Composition.event.id",
        "representation": [
          "xmlAttr"
        ],
        "short": "Unique id for inter-element referencing",
        "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Element.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/fhirpath/System.String",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
                "valueUrl": "string"
              }
            ]
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Composition.event.extension",
        "path": "Composition.event.extension",
        "short": "Additional content defined by implementations",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "alias": [
          "extensions",
          "user content"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "Element.extension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Composition.event.modifierExtension",
        "path": "Composition.event.modifierExtension",
        "short": "Extensions that cannot be ignored even if unrecognized",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored.  This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
        "alias": [
          "extensions",
          "user content",
          "modifiers"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "BackboneElement.modifierExtension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": true,
        "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them",
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Composition.event.code",
        "path": "Composition.event.code",
        "short": "What kind of care this note documents",
        "definition": "This list of codes represents the main clinical acts, such as a colonoscopy or an appendectomy, being documented. In some cases, the event is inherent in the typeCode, such as a \"History and Physical Report\" in which the procedure being documented is necessarily a \"History and Physical\" act.",
        "comment": "An event can further specialize the act inherent in the typeCode, such as where it is simply \"Procedure Report\" and the procedure was a \"colonoscopy\". If one or more eventCodes are included, they SHALL NOT conflict with the values inherent in the classCode, practiceSettingCode or typeCode, as such a conflict would create an ambiguous situation. This short list of codes is provided to be used as key words for certain types of queries.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Composition.event.code",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "DocumentEventType"
            }
          ],
          "strength": "example",
          "description": "This list of codes represents the main clinical acts being documented.",
          "valueSet": "http://terminology.hl7.org/ValueSet/v3-ActCode"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": ".code"
          },
          {
            "identity": "cda",
            "map": ".code"
          },
          {
            "identity": "fhirdocumentreference",
            "map": "DocumentReference.event.code"
          }
        ]
      },
      {
        "id": "Composition.event.period",
        "path": "Composition.event.period",
        "short": "WHEN the documented care happened -- the clinical date. Only 'start' expected",
        "definition": "The period the documentation covers. This is the clinical relevance timeframe, not when the note\nwas created or last edited.\n\nIf only a point in time is relevant, use `start` only; for care spanning days (an admission), set\n`end` as well. `start` is required when the period is present at all -- a period with no start\nstates nothing.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Composition.event.period",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Period"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": ".effectiveTime"
          },
          {
            "identity": "cda",
            "map": ".effectiveTime"
          },
          {
            "identity": "fhirdocumentreference",
            "map": "DocumentReference.event.period"
          }
        ]
      },
      {
        "id": "Composition.event.period.id",
        "path": "Composition.event.period.id",
        "representation": [
          "xmlAttr"
        ],
        "short": "Unique id for inter-element referencing",
        "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Element.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/fhirpath/System.String",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
                "valueUrl": "string"
              }
            ]
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Composition.event.period.extension",
        "path": "Composition.event.period.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "description": "Extensions are always sliced by (at least) url",
          "rules": "open"
        },
        "short": "Additional content defined by implementations",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "alias": [
          "extensions",
          "user content"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "Element.extension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Composition.event.period.start",
        "path": "Composition.event.period.start",
        "short": "Starting time with inclusive boundary",
        "definition": "The start of the period. The boundary is inclusive.",
        "comment": "If the low element is missing, the meaning is that the low boundary is not known.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Period.start",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "dateTime"
          }
        ],
        "condition": [
          "per-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "DR.1"
          },
          {
            "identity": "rim",
            "map": "./low"
          }
        ]
      },
      {
        "id": "Composition.event.period.end",
        "path": "Composition.event.period.end",
        "short": "End time with inclusive boundary, if not ongoing",
        "definition": "The end of the period. If the end of the period is missing, it means no end was known or planned at the time the instance was created. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time.",
        "comment": "The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has an end value of 2012-02-03.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Period.end",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "dateTime"
          }
        ],
        "meaningWhenMissing": "If the end of the period is missing, it means that the period is ongoing",
        "condition": [
          "per-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "DR.2"
          },
          {
            "identity": "rim",
            "map": "./high"
          }
        ]
      },
      {
        "id": "Composition.event.detail",
        "path": "Composition.event.detail",
        "short": "The thing being documented, when it is a resource",
        "definition": "The description and/or reference of the event(s) being documented. For example, this could be used to document such a colonoscopy or an appendectomy.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Composition.event.detail",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Resource"
            ]
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": ".outboundRelationship[typeCode=\"SUBJ\"].target"
          },
          {
            "identity": "cda",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Composition.section",
        "path": "Composition.section",
        "slicing": {
          "discriminator": [
            {
              "type": "pattern",
              "path": "code"
            }
          ],
          "rules": "open",
          "ordered": false,
          "description": "Sections this guide names by their code. Everything else -- the note body, a SOAP section, an authoring block -- is an ordinary unsliced section, PROVIDED it does not carry a code this slicing names: membership is decided by content, not by opting in."
        },
        "short": "The note body -- narrative in `section.text`",
        "definition": "The note's content. For the common encounter note this is a single section carrying the whole\nnarrative; a structured note (SOAP, or a scribe template with headings) may carry several.\n\n`section.code` is BOUND, `extensible`, to the Composition Section value set\n(`nexus-composition-section`). **It is the element a consumer navigates a note by**, and where a\nsection has a clinical meaning it should say so here: a vital signs section is LOINC 8716-3.\n\nIt is NOT the place for a document-type code. LOINC supplies both document codes and section codes,\nout of one system and in one format, so nothing about a code says which axis it belongs to -- 34109-9\n\"Note\" types a document, not a section. That is the mistake the extensible strength exists to catch:\na code from the document axis warns. The cost is accepted -- a legitimate section kind the set does\nnot yet name warns too, and growing the set is one line.\n\n`section.code` is also not interchangeable with the block-type extension, which says how to RENDER\nthe section rather than what the section is. Who produced it is a third question again, and\n`section.author` answers that.\n\nNote the overlap with `NexusEmrCoreClinicalImpression`, which models the Assessment ('A') of a\nSOAP note as its own resource. A note carrying an assessment section AND a ClinicalImpression\nhas two homes for the same text; the IG does not yet rule which is authoritative.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Composition.section",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "BackboneElement"
          }
        ],
        "constraint": [
          {
            "key": "cmp-1",
            "severity": "error",
            "human": "A section must contain at least one of text, entries, or sub-sections",
            "expression": "text.exists() or entry.exists() or section.exists()",
            "xpath": "exists(f:text) or exists(f:entry) or exists(f:section)"
          },
          {
            "key": "cmp-2",
            "severity": "error",
            "human": "A section can only have an emptyReason if it is empty",
            "expression": "emptyReason.empty() or entry.empty()",
            "xpath": "not(exists(f:emptyReason) and exists(f:entry))"
          },
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "./outboundRelationship[typeCode=\"COMP\" and isNormalActRelationship()]/target[moodCode=\"EVN\" and classCode=\"DOCSECT\" and isNormalAct]"
          },
          {
            "identity": "cda",
            "map": ".component.structuredBody.component.section"
          }
        ]
      },
      {
        "id": "Composition.section.id",
        "path": "Composition.section.id",
        "representation": [
          "xmlAttr"
        ],
        "short": "Unique id for inter-element referencing",
        "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Element.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/fhirpath/System.String",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
                "valueUrl": "string"
              }
            ]
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Composition.section.extension",
        "path": "Composition.section.extension",
        "short": "Additional content defined by implementations",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "alias": [
          "extensions",
          "user content"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "Element.extension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Composition.section.modifierExtension",
        "path": "Composition.section.modifierExtension",
        "short": "Extensions that cannot be ignored even if unrecognized",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored.  This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
        "alias": [
          "extensions",
          "user content",
          "modifiers"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "BackboneElement.modifierExtension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": true,
        "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them",
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Composition.section.title",
        "path": "Composition.section.title",
        "short": "Section heading as displayed",
        "definition": "The label for this particular section.  This will be part of the rendered content for the document, and is often used to build a table of contents.",
        "comment": "The title identifies the section for a human reader. The title must be consistent with the narrative of the resource that is the target of the section.content reference. Generally, sections SHOULD have titles, but in some documents, it is unnecessary or inappropriate. Typically, this is where a section has subsections that have their own adequately distinguishing title,  or documents that only have a single section. Most Implementation Guides will make section title to be a required element.",
        "requirements": "Section headings are often standardized for different types of documents.  They give guidance to humans on how the document is organized.",
        "alias": [
          "header",
          "label",
          "caption"
        ],
        "min": 0,
        "max": "1",
        "base": {
          "path": "Composition.section.title",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "./title"
          },
          {
            "identity": "cda",
            "map": ".title"
          }
        ]
      },
      {
        "id": "Composition.section.code",
        "path": "Composition.section.code",
        "short": "What the section clinically IS -- a SECTION code, never a document code",
        "definition": "A code identifying the kind of content contained within the section. This must be consistent with the section title.",
        "comment": "⚠ IMPLEMENTER WARNING -- A DOCUMENT CODE IS IN CIRCULATION IN THIS ELEMENT, and a reader that\nhas not been told will lose content silently.\n\nBlock-structured note editors store one section per block. Where a block carried no code of its\nown -- which was every block raised from a template that did not assign one -- the fallback\nwritten here was LOINC 34109-9 \"Note\": the document code named as the example above, in the slot\nthis binding exists to keep it out of. It was the common shape on such a note rather than a rare\none.\n\nWRITERS NO LONGER PRODUCE IT, AND STORED DATA IS NOT REWRITTEN. The editor now writes a section\ncode, and nothing recodes a note already on file: a filed record is not amended because an\nunrelated release changed a default. Editing such a note preserves the code it was stored with,\nby design. So this is a LEGACY shape rather than one still being created -- and the amount of it\nin a deployment is fixed at whatever was written before that change, rather than growing.\n\nREADERS MUST TOLERATE IT. Do not treat a section as unclassified because its code is a document\ncode, and do not drop it. A reader that selects sections by section code will otherwise discard\nthat content without any signal: the binding raises its warning at VALIDATION, and a reader is\nnot a validator. Where a reader needs the whole note, take every section and use `section.title`\nand the narrative when the code does not discriminate.\n\nWRITERS SHOULD CODE A SECTION FOR WHAT IT CLINICALLY IS. Most blocks have an identity worth\nrecording -- an agenda, a reason for contact, a chronic-disease review -- and a template is the\nright place to decide it once, rather than a fallback applied at save time. Where a block\ngenuinely has no clinical identity, `55752-0` \"Clinical information\" is the generic member of\nthe bound set. It is a section code, not a document code.\n\nNOT `28562-7` \"Chart section Set\", which this release reserves. The `enclosures` slice below is\ndiscriminated by `#pattern` on `code`, so a section carrying that code is INSIDE that slice by\ncontent rather than by opting in -- it is then `0..1` for the whole document, and its `entry` is\ntyped to an attachment packet. Coding an authoring block `28562-7` therefore makes the document\ninvalid where a second one exists, and where it does not, a consumer resolving enclosures by code\nreads that block as the document's attachment manifest.\n\nMIGRATION -- WHAT IS NOT SETTLED. Notes already stored carry 34109-9 in this element. Whether\nthose are remapped, or readers are expected to accept both forms indefinitely, is open. A\nremapping cannot be mechanical for the blocks that HAVE an identity: recovering it means reading\nthe block's title or its template, not rewriting one code to another.",
        "requirements": "Provides computable standardized labels to topics within the document.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Composition.section.code",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "binding": {
          "strength": "extensible",
          "valueSet": "https://fhir.apps.health/ValueSet/nexus-composition-section"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "./code"
          },
          {
            "identity": "cda",
            "map": ".code"
          }
        ]
      },
      {
        "id": "Composition.section.author",
        "path": "Composition.section.author",
        "short": "Per-section authorship, where sections have different authors",
        "definition": "Identifies who is responsible for the information in this section, not necessarily who typed it in.",
        "requirements": "Identifies who is responsible for the content.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Composition.section.author",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-practitioner",
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-practitionerrole",
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-appdevice",
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-emrdevice",
              "http://hl7.org/fhir/StructureDefinition/Device",
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-organization"
            ]
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "w5",
            "map": "FiveWs.author"
          },
          {
            "identity": "rim",
            "map": ".participation[typeCode=\"AUT\"].role[classCode=\"ASSIGNED\"]"
          },
          {
            "identity": "cda",
            "map": ".author.assignedAuthor"
          }
        ]
      },
      {
        "id": "Composition.section.focus",
        "path": "Composition.section.focus",
        "short": "Who/what the section is about, when it is not about the subject of composition",
        "definition": "The actual focus of the section when it is not the subject of the composition, but instead represents something or someone associated with the subject such as (for a patient subject) a spouse, parent, fetus, or donor. If not focus is specified, the focus is assumed to be focus of the parent section, or, for a section in the Composition itself, the subject of the composition. Sections with a focus SHALL only include resources where the logical subject (patient, subject, focus, etc.) matches the section focus, or the resources have no logical subject (few resources).",
        "comment": "Typically, sections in a doument are about the subject of the document, whether that is a  patient, or group of patients, location, or device, or whatever. For some kind of documents, some sections actually contain data about related entities. Typical examples are  a section in a newborn discharge summary concerning the mother, or family history documents, with a section about each family member, though there are many other examples.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Composition.section.focus",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Resource"
            ]
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "cda",
            "map": ".subject? (CDA did not differentiate between subject and focus)"
          }
        ]
      },
      {
        "id": "Composition.section.text",
        "path": "Composition.section.text",
        "short": "The section's narrative, as XHTML",
        "definition": "The note text, as XHTML. **Complete on its own**: a consumer that reads nothing but this element,\nand no extension in this guide, must still get the clinically meaningful content of the section --\nnegative findings included. See the contract above `section.text` in the FSH.\n\nThis is the element the chart renders and the element an AI reads. It is TEXT IN FHIR -- not\nbase64, not a blob pointer -- which is the substantive difference from the DocumentReference\nmodel this replaced for authored notes: it is greppable, diffable, and readable without a\nsecond fetch.\n\nXHTML, NOT ARBITRARY HTML. Content SHALL conform to the FHIR Narrative rules: no active\ncontent, no scripts, no external references. A gateway converting source-EMR note text (which\nin OSCAR is effectively plain text with newlines) MUST sanitize and wrap it, not pass it\nthrough.",
        "comment": "Complete on its own, with negatives included.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Composition.section.text",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Narrative"
          }
        ],
        "condition": [
          "cmp-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": ".text"
          },
          {
            "identity": "cda",
            "map": ".text"
          }
        ]
      },
      {
        "id": "Composition.section.text.id",
        "path": "Composition.section.text.id",
        "representation": [
          "xmlAttr"
        ],
        "short": "Unique id for inter-element referencing",
        "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Element.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/fhirpath/System.String",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
                "valueUrl": "string"
              }
            ]
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Composition.section.text.extension",
        "path": "Composition.section.text.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "description": "Extensions are always sliced by (at least) url",
          "rules": "open"
        },
        "short": "Additional content defined by implementations",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "alias": [
          "extensions",
          "user content"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "Element.extension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Composition.section.text.status",
        "path": "Composition.section.text.status",
        "short": "generated | extensions | additional | empty -- a note body is `additional`",
        "definition": "Whether the narrative can be regenerated from the resource's structured data. Required by R4 and\neasy to omit, because a writer assembling `section.text` by hand thinks of the div as the value.\n\n| what the narrative is | status |\n|---|---|\n| a clinician's note body, a letter, an AI summary | `additional` |\n| text a machine can regenerate from this resource's own structured data | `generated` |\n| a block the author raised and left blank | `empty`, with `section.emptyReason` |\n\n`generated` is the one to be careful with: it is a claim that the narrative is disposable, and a\nconsumer entitled to act on it will render the structured data alone. A note body is not\nregenerable from `section.entry`, whatever else a section carries.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Narrative.status",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": false,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "NarrativeStatus"
            }
          ],
          "strength": "required",
          "description": "The status of a resource narrative.",
          "valueSet": "http://hl7.org/fhir/ValueSet/narrative-status|4.0.1"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Composition.section.text.div",
        "path": "Composition.section.text.div",
        "short": "Limited xhtml content",
        "definition": "The actual narrative content, a stripped down version of XHTML.",
        "comment": "The contents of the html element are an XHTML fragment containing only the basic html formatting elements described in chapters 7-11 and 15 of the HTML 4.0 standard, <a> elements (either name or href), images and internally contained stylesheets. The XHTML content SHALL NOT contain a head, a body, external stylesheet references, scripts, forms, base/link/xlink, frames, iframes and objects.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Narrative.div",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "xhtml"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "txt-1",
            "severity": "error",
            "human": "The narrative SHALL contain only the basic html formatting elements and attributes described in chapters 7-11 (except section 4 of chapter 9) and 15 of the HTML 4.0 standard, <a> elements (either name or href), images and internally contained style attributes",
            "expression": "htmlChecks()",
            "xpath": "not(descendant-or-self::*[not(local-name(.)=('a', 'abbr', 'acronym', 'b', 'big', 'blockquote', 'br', 'caption', 'cite', 'code', 'col', 'colgroup', 'dd', 'dfn', 'div', 'dl', 'dt', 'em', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'hr', 'i', 'img', 'li', 'ol', 'p', 'pre', 'q', 'samp', 'small', 'span', 'strong', 'sub', 'sup', 'table', 'tbody', 'td', 'tfoot', 'th', 'thead', 'tr', 'tt', 'ul', 'var'))]) and not(descendant-or-self::*/@*[not(name(.)=('abbr', 'accesskey', 'align', 'alt', 'axis', 'bgcolor', 'border', 'cellhalign', 'cellpadding', 'cellspacing', 'cellvalign', 'char', 'charoff', 'charset', 'cite', 'class', 'colspan', 'compact', 'coords', 'dir', 'frame', 'headers', 'height', 'href', 'hreflang', 'hspace', 'id', 'lang', 'longdesc', 'name', 'nowrap', 'rel', 'rev', 'rowspan', 'rules', 'scope', 'shape', 'span', 'src', 'start', 'style', 'summary', 'tabindex', 'title', 'type', 'valign', 'value', 'vspace', 'width'))])"
          },
          {
            "key": "txt-2",
            "severity": "error",
            "human": "The narrative SHALL have some non-whitespace content",
            "expression": "htmlChecks()",
            "xpath": "descendant::text()[normalize-space(.)!=''] or descendant::h:img[@src]"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Composition.section.mode",
        "path": "Composition.section.mode",
        "short": "working | snapshot | changes",
        "definition": "How the entry list was prepared - whether it is a working list that is suitable for being maintained on an ongoing basis, or if it represents a snapshot of a list of items from another source, or whether it is a prepared list where items may be marked as added, modified or deleted.",
        "comment": "This element is labeled as a modifier because a change list must not be misunderstood as a complete list.",
        "requirements": "Sections are used in various ways, and it must be known in what way it is safe to use the entries in them.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Composition.section.mode",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "SectionMode"
            }
          ],
          "strength": "required",
          "description": "The processing mode that applies to this section.",
          "valueSet": "http://hl7.org/fhir/ValueSet/list-mode|4.0.1"
        },
        "mapping": [
          {
            "identity": "w5",
            "map": "FiveWs.class"
          },
          {
            "identity": "rim",
            "map": ".outBoundRelationship[typeCode=COMP].target[classCode=OBS\"].value"
          },
          {
            "identity": "cda",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Composition.section.orderedBy",
        "path": "Composition.section.orderedBy",
        "short": "Order of section entries",
        "definition": "Specifies the order applied to the items in the section entries.",
        "comment": "Applications SHOULD render ordered lists in the order provided, but MAY allow users to re-order based on their own preferences as well. If there is no order specified, the order is unknown, though there may still be some order.",
        "requirements": "Important for presentation and rendering.  Lists may be sorted to place more important information first or to group related entries.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Composition.section.orderedBy",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "SectionEntryOrder"
            }
          ],
          "strength": "preferred",
          "description": "What order applies to the items in the entry.",
          "valueSet": "http://hl7.org/fhir/ValueSet/list-order"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": ".outboundRelationship[typeCode=COMP].sequenceNumber > 1"
          },
          {
            "identity": "cda",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Composition.section.entry",
        "path": "Composition.section.entry",
        "short": "Structured resources belonging to this section",
        "definition": "References to discrete resources that belong to this section -- the structured counterpart to\n`section.text`.\n\nCurrently unconstrained by type and expected to be sparse: today's notes are narrative. This is\nthe element that carries structured note generation when it arrives (a scribe filling a\nstructured template, or SDC extraction promoting answers to Observation / Condition), which is\nwhy it is declared now rather than left to be discovered later.",
        "comment": "If there are no entries in the list, an emptyReason SHOULD be provided.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Composition.section.entry",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Resource"
            ]
          }
        ],
        "condition": [
          "cmp-2"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": ".outboundRelationship[typeCode=COMP] or  .participation[typeCode=SBJ]"
          },
          {
            "identity": "cda",
            "map": ".entry"
          }
        ]
      },
      {
        "id": "Composition.section.emptyReason",
        "path": "Composition.section.emptyReason",
        "short": "Why an expected section is empty",
        "definition": "Where a template declares a section that has no content, this records why it is empty rather than leaving the reader to guess between 'nothing to report' and 'not asked'.",
        "comment": "The various reasons for an empty section make a significant interpretation to its interpretation. Note that this code is for use when the entire section content has been suppressed, and not for when individual items are omitted - implementers may consider using a text note or a flag on an entry in these cases.",
        "requirements": "Allows capturing things like \"none exist\" or \"not asked\" which can be important for most lists.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Composition.section.emptyReason",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "condition": [
          "cmp-2"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "SectionEmptyReason"
            }
          ],
          "strength": "preferred",
          "description": "If a section is empty, why it is empty.",
          "valueSet": "http://hl7.org/fhir/ValueSet/list-empty-reason"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": ".inboundRelationship[typeCode=SUBJ,code<ListEmptyReason].value[type=CD]"
          },
          {
            "identity": "cda",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Composition.section.section",
        "path": "Composition.section.section",
        "short": "Nested Section",
        "definition": "A nested sub-section within this section.",
        "comment": "Nested sections are primarily used to help human readers navigate to particular portions of the document.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Composition.section.section",
          "min": 0,
          "max": "*"
        },
        "contentReference": "#Composition.section",
        "condition": [
          "cmp-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "./outboundRelationship[typeCode=\"COMP\" and isNormalActRelationship()]/target[moodCode=\"EVN\" and classCode=\"DOCSECT\" and isNormalAct]"
          },
          {
            "identity": "cda",
            "map": ".component.section"
          }
        ]
      },
      {
        "id": "Composition.section:enclosures",
        "path": "Composition.section",
        "sliceName": "enclosures",
        "short": "The attachment packets travelling with this document, one entry each",
        "definition": "The document's own account of what is attached to it: a section coded LOINC `28562-7` whose `entry`\nreferences one or more attachment packets (`List` resources profiled as Attachment Packet). A letter\nsent with enclosures carries this section; a document sent with nothing carries no such section.\n\n**This is the only record of a document's attachments.** The packets do not point back, so a\nconsumer asking what went out with a letter reads this section and nothing else.\n\n**Resolve it by the coding, not by position.** The body is the section at a known index; this one\nfollows it and may sit anywhere after it. Match `system` and `code` together -- `28562-7` under\nanother producer's system is that producer's section, not this one.\n\n**The heading is `section.title`.** Write \"Enclosures\" there. `28562-7` is named \"Chart section Set\"\nin LOINC and \"Enclosures\" is not a term of that concept, so it does not belong in the coding's\n`display`.\n\n**Membership lives on the packet, not here.** `entry` names the packets; which chart items each\nholds, in what order, and which of their pages are left out are all on the packet.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Composition.section",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "BackboneElement"
          }
        ],
        "constraint": [
          {
            "key": "cmp-1",
            "severity": "error",
            "human": "A section must contain at least one of text, entries, or sub-sections",
            "expression": "text.exists() or entry.exists() or section.exists()",
            "xpath": "exists(f:text) or exists(f:entry) or exists(f:section)"
          },
          {
            "key": "cmp-2",
            "severity": "error",
            "human": "A section can only have an emptyReason if it is empty",
            "expression": "emptyReason.empty() or entry.empty()",
            "xpath": "not(exists(f:emptyReason) and exists(f:entry))"
          },
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "./outboundRelationship[typeCode=\"COMP\" and isNormalActRelationship()]/target[moodCode=\"EVN\" and classCode=\"DOCSECT\" and isNormalAct]"
          },
          {
            "identity": "cda",
            "map": ".component.structuredBody.component.section"
          }
        ]
      },
      {
        "id": "Composition.section:enclosures.id",
        "path": "Composition.section.id",
        "representation": [
          "xmlAttr"
        ],
        "short": "Unique id for inter-element referencing",
        "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Element.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/fhirpath/System.String",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
                "valueUrl": "string"
              }
            ]
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Composition.section:enclosures.extension",
        "path": "Composition.section.extension",
        "short": "Additional content defined by implementations",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "alias": [
          "extensions",
          "user content"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "Element.extension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Composition.section:enclosures.modifierExtension",
        "path": "Composition.section.modifierExtension",
        "short": "Extensions that cannot be ignored even if unrecognized",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored.  This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
        "alias": [
          "extensions",
          "user content",
          "modifiers"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "BackboneElement.modifierExtension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": true,
        "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them",
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Composition.section:enclosures.title",
        "path": "Composition.section.title",
        "short": "The heading as displayed -- `Enclosures`",
        "definition": "The label for this particular section.  This will be part of the rendered content for the document, and is often used to build a table of contents.",
        "comment": "The title identifies the section for a human reader. The title must be consistent with the narrative of the resource that is the target of the section.content reference. Generally, sections SHOULD have titles, but in some documents, it is unnecessary or inappropriate. Typically, this is where a section has subsections that have their own adequately distinguishing title,  or documents that only have a single section. Most Implementation Guides will make section title to be a required element.",
        "requirements": "Section headings are often standardized for different types of documents.  They give guidance to humans on how the document is organized.",
        "alias": [
          "header",
          "label",
          "caption"
        ],
        "min": 0,
        "max": "1",
        "base": {
          "path": "Composition.section.title",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "./title"
          },
          {
            "identity": "cda",
            "map": ".title"
          }
        ]
      },
      {
        "id": "Composition.section:enclosures.code",
        "path": "Composition.section.code",
        "short": "LOINC 28562-7 -- the enclosures section code (display: `Chart section Set`)",
        "definition": "A code identifying the kind of content contained within the section. This must be consistent with the section title.",
        "comment": "⚠ IMPLEMENTER WARNING -- A DOCUMENT CODE IS IN CIRCULATION IN THIS ELEMENT, and a reader that\nhas not been told will lose content silently.\n\nBlock-structured note editors store one section per block. Where a block carried no code of its\nown -- which was every block raised from a template that did not assign one -- the fallback\nwritten here was LOINC 34109-9 \"Note\": the document code named as the example above, in the slot\nthis binding exists to keep it out of. It was the common shape on such a note rather than a rare\none.\n\nWRITERS NO LONGER PRODUCE IT, AND STORED DATA IS NOT REWRITTEN. The editor now writes a section\ncode, and nothing recodes a note already on file: a filed record is not amended because an\nunrelated release changed a default. Editing such a note preserves the code it was stored with,\nby design. So this is a LEGACY shape rather than one still being created -- and the amount of it\nin a deployment is fixed at whatever was written before that change, rather than growing.\n\nREADERS MUST TOLERATE IT. Do not treat a section as unclassified because its code is a document\ncode, and do not drop it. A reader that selects sections by section code will otherwise discard\nthat content without any signal: the binding raises its warning at VALIDATION, and a reader is\nnot a validator. Where a reader needs the whole note, take every section and use `section.title`\nand the narrative when the code does not discriminate.\n\nWRITERS SHOULD CODE A SECTION FOR WHAT IT CLINICALLY IS. Most blocks have an identity worth\nrecording -- an agenda, a reason for contact, a chronic-disease review -- and a template is the\nright place to decide it once, rather than a fallback applied at save time. Where a block\ngenuinely has no clinical identity, `55752-0` \"Clinical information\" is the generic member of\nthe bound set. It is a section code, not a document code.\n\nNOT `28562-7` \"Chart section Set\", which this release reserves. The `enclosures` slice below is\ndiscriminated by `#pattern` on `code`, so a section carrying that code is INSIDE that slice by\ncontent rather than by opting in -- it is then `0..1` for the whole document, and its `entry` is\ntyped to an attachment packet. Coding an authoring block `28562-7` therefore makes the document\ninvalid where a second one exists, and where it does not, a consumer resolving enclosures by code\nreads that block as the document's attachment manifest.\n\nMIGRATION -- WHAT IS NOT SETTLED. Notes already stored carry 34109-9 in this element. Whether\nthose are remapped, or readers are expected to accept both forms indefinitely, is open. A\nremapping cannot be mechanical for the blocks that HAVE an identity: recovering it means reading\nthe block's title or its template, not rewriting one code to another.",
        "requirements": "Provides computable standardized labels to topics within the document.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Composition.section.code",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "patternCodeableConcept": {
          "coding": [
            {
              "code": "28562-7",
              "system": "http://loinc.org"
            }
          ]
        },
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "binding": {
          "strength": "extensible",
          "valueSet": "https://fhir.apps.health/ValueSet/nexus-composition-section"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "./code"
          },
          {
            "identity": "cda",
            "map": ".code"
          }
        ]
      },
      {
        "id": "Composition.section:enclosures.author",
        "path": "Composition.section.author",
        "short": "Per-section authorship, where sections have different authors",
        "definition": "Identifies who is responsible for the information in this section, not necessarily who typed it in.",
        "requirements": "Identifies who is responsible for the content.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Composition.section.author",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-practitioner",
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-practitionerrole",
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-appdevice",
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-emrdevice",
              "http://hl7.org/fhir/StructureDefinition/Device",
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-organization"
            ]
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "w5",
            "map": "FiveWs.author"
          },
          {
            "identity": "rim",
            "map": ".participation[typeCode=\"AUT\"].role[classCode=\"ASSIGNED\"]"
          },
          {
            "identity": "cda",
            "map": ".author.assignedAuthor"
          }
        ]
      },
      {
        "id": "Composition.section:enclosures.focus",
        "path": "Composition.section.focus",
        "short": "Who/what the section is about, when it is not about the subject of composition",
        "definition": "The actual focus of the section when it is not the subject of the composition, but instead represents something or someone associated with the subject such as (for a patient subject) a spouse, parent, fetus, or donor. If not focus is specified, the focus is assumed to be focus of the parent section, or, for a section in the Composition itself, the subject of the composition. Sections with a focus SHALL only include resources where the logical subject (patient, subject, focus, etc.) matches the section focus, or the resources have no logical subject (few resources).",
        "comment": "Typically, sections in a doument are about the subject of the document, whether that is a  patient, or group of patients, location, or device, or whatever. For some kind of documents, some sections actually contain data about related entities. Typical examples are  a section in a newborn discharge summary concerning the mother, or family history documents, with a section about each family member, though there are many other examples.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Composition.section.focus",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Resource"
            ]
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "cda",
            "map": ".subject? (CDA did not differentiate between subject and focus)"
          }
        ]
      },
      {
        "id": "Composition.section:enclosures.text",
        "path": "Composition.section.text",
        "short": "The section's narrative, as XHTML",
        "definition": "The note text, as XHTML. **Complete on its own**: a consumer that reads nothing but this element,\nand no extension in this guide, must still get the clinically meaningful content of the section --\nnegative findings included. See the contract above `section.text` in the FSH.\n\nThis is the element the chart renders and the element an AI reads. It is TEXT IN FHIR -- not\nbase64, not a blob pointer -- which is the substantive difference from the DocumentReference\nmodel this replaced for authored notes: it is greppable, diffable, and readable without a\nsecond fetch.\n\nXHTML, NOT ARBITRARY HTML. Content SHALL conform to the FHIR Narrative rules: no active\ncontent, no scripts, no external references. A gateway converting source-EMR note text (which\nin OSCAR is effectively plain text with newlines) MUST sanitize and wrap it, not pass it\nthrough.",
        "comment": "Complete on its own, with negatives included.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Composition.section.text",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Narrative"
          }
        ],
        "condition": [
          "cmp-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": ".text"
          },
          {
            "identity": "cda",
            "map": ".text"
          }
        ]
      },
      {
        "id": "Composition.section:enclosures.text.id",
        "path": "Composition.section.text.id",
        "representation": [
          "xmlAttr"
        ],
        "short": "Unique id for inter-element referencing",
        "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Element.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/fhirpath/System.String",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
                "valueUrl": "string"
              }
            ]
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Composition.section:enclosures.text.extension",
        "path": "Composition.section.text.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "description": "Extensions are always sliced by (at least) url",
          "rules": "open"
        },
        "short": "Additional content defined by implementations",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "alias": [
          "extensions",
          "user content"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "Element.extension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Composition.section:enclosures.text.status",
        "path": "Composition.section.text.status",
        "short": "generated | extensions | additional | empty -- a note body is `additional`",
        "definition": "Whether the narrative can be regenerated from the resource's structured data. Required by R4 and\neasy to omit, because a writer assembling `section.text` by hand thinks of the div as the value.\n\n| what the narrative is | status |\n|---|---|\n| a clinician's note body, a letter, an AI summary | `additional` |\n| text a machine can regenerate from this resource's own structured data | `generated` |\n| a block the author raised and left blank | `empty`, with `section.emptyReason` |\n\n`generated` is the one to be careful with: it is a claim that the narrative is disposable, and a\nconsumer entitled to act on it will render the structured data alone. A note body is not\nregenerable from `section.entry`, whatever else a section carries.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Narrative.status",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": false,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "NarrativeStatus"
            }
          ],
          "strength": "required",
          "description": "The status of a resource narrative.",
          "valueSet": "http://hl7.org/fhir/ValueSet/narrative-status|4.0.1"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Composition.section:enclosures.text.div",
        "path": "Composition.section.text.div",
        "short": "Limited xhtml content",
        "definition": "The actual narrative content, a stripped down version of XHTML.",
        "comment": "The contents of the html element are an XHTML fragment containing only the basic html formatting elements described in chapters 7-11 and 15 of the HTML 4.0 standard, <a> elements (either name or href), images and internally contained stylesheets. The XHTML content SHALL NOT contain a head, a body, external stylesheet references, scripts, forms, base/link/xlink, frames, iframes and objects.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Narrative.div",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "xhtml"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "txt-1",
            "severity": "error",
            "human": "The narrative SHALL contain only the basic html formatting elements and attributes described in chapters 7-11 (except section 4 of chapter 9) and 15 of the HTML 4.0 standard, <a> elements (either name or href), images and internally contained style attributes",
            "expression": "htmlChecks()",
            "xpath": "not(descendant-or-self::*[not(local-name(.)=('a', 'abbr', 'acronym', 'b', 'big', 'blockquote', 'br', 'caption', 'cite', 'code', 'col', 'colgroup', 'dd', 'dfn', 'div', 'dl', 'dt', 'em', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'hr', 'i', 'img', 'li', 'ol', 'p', 'pre', 'q', 'samp', 'small', 'span', 'strong', 'sub', 'sup', 'table', 'tbody', 'td', 'tfoot', 'th', 'thead', 'tr', 'tt', 'ul', 'var'))]) and not(descendant-or-self::*/@*[not(name(.)=('abbr', 'accesskey', 'align', 'alt', 'axis', 'bgcolor', 'border', 'cellhalign', 'cellpadding', 'cellspacing', 'cellvalign', 'char', 'charoff', 'charset', 'cite', 'class', 'colspan', 'compact', 'coords', 'dir', 'frame', 'headers', 'height', 'href', 'hreflang', 'hspace', 'id', 'lang', 'longdesc', 'name', 'nowrap', 'rel', 'rev', 'rowspan', 'rules', 'scope', 'shape', 'span', 'src', 'start', 'style', 'summary', 'tabindex', 'title', 'type', 'valign', 'value', 'vspace', 'width'))])"
          },
          {
            "key": "txt-2",
            "severity": "error",
            "human": "The narrative SHALL have some non-whitespace content",
            "expression": "htmlChecks()",
            "xpath": "descendant::text()[normalize-space(.)!=''] or descendant::h:img[@src]"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Composition.section:enclosures.mode",
        "path": "Composition.section.mode",
        "short": "working | snapshot | changes",
        "definition": "How the entry list was prepared - whether it is a working list that is suitable for being maintained on an ongoing basis, or if it represents a snapshot of a list of items from another source, or whether it is a prepared list where items may be marked as added, modified or deleted.",
        "comment": "This element is labeled as a modifier because a change list must not be misunderstood as a complete list.",
        "requirements": "Sections are used in various ways, and it must be known in what way it is safe to use the entries in them.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Composition.section.mode",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "SectionMode"
            }
          ],
          "strength": "required",
          "description": "The processing mode that applies to this section.",
          "valueSet": "http://hl7.org/fhir/ValueSet/list-mode|4.0.1"
        },
        "mapping": [
          {
            "identity": "w5",
            "map": "FiveWs.class"
          },
          {
            "identity": "rim",
            "map": ".outBoundRelationship[typeCode=COMP].target[classCode=OBS\"].value"
          },
          {
            "identity": "cda",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Composition.section:enclosures.orderedBy",
        "path": "Composition.section.orderedBy",
        "short": "Order of section entries",
        "definition": "Specifies the order applied to the items in the section entries.",
        "comment": "Applications SHOULD render ordered lists in the order provided, but MAY allow users to re-order based on their own preferences as well. If there is no order specified, the order is unknown, though there may still be some order.",
        "requirements": "Important for presentation and rendering.  Lists may be sorted to place more important information first or to group related entries.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Composition.section.orderedBy",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "SectionEntryOrder"
            }
          ],
          "strength": "preferred",
          "description": "What order applies to the items in the entry.",
          "valueSet": "http://hl7.org/fhir/ValueSet/list-order"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": ".outboundRelationship[typeCode=COMP].sequenceNumber > 1"
          },
          {
            "identity": "cda",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Composition.section:enclosures.entry",
        "path": "Composition.section.entry",
        "short": "One attachment packet per entry",
        "definition": "References to discrete resources that belong to this section -- the structured counterpart to\n`section.text`.\n\nCurrently unconstrained by type and expected to be sparse: today's notes are narrative. This is\nthe element that carries structured note generation when it arrives (a scribe filling a\nstructured template, or SDC extraction promoting answers to Observation / Condition), which is\nwhy it is declared now rather than left to be discovered later.",
        "comment": "Each entry is a `List` profiled as Attachment Packet. Nothing else belongs here: a document, a result or a note attached to the document is a MEMBER OF a packet, not an entry of this section, so that its order and its excluded pages have somewhere to live.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Composition.section.entry",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "https://fhir.apps.health/StructureDefinition/nexus-attachment-packet"
            ]
          }
        ],
        "condition": [
          "cmp-2"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "mustSupport": true,
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": ".outboundRelationship[typeCode=COMP] or  .participation[typeCode=SBJ]"
          },
          {
            "identity": "cda",
            "map": ".entry"
          }
        ]
      },
      {
        "id": "Composition.section:enclosures.emptyReason",
        "path": "Composition.section.emptyReason",
        "short": "Why an expected section is empty",
        "definition": "Where a template declares a section that has no content, this records why it is empty rather than leaving the reader to guess between 'nothing to report' and 'not asked'.",
        "comment": "The various reasons for an empty section make a significant interpretation to its interpretation. Note that this code is for use when the entire section content has been suppressed, and not for when individual items are omitted - implementers may consider using a text note or a flag on an entry in these cases.",
        "requirements": "Allows capturing things like \"none exist\" or \"not asked\" which can be important for most lists.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Composition.section.emptyReason",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "condition": [
          "cmp-2"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "SectionEmptyReason"
            }
          ],
          "strength": "preferred",
          "description": "If a section is empty, why it is empty.",
          "valueSet": "http://hl7.org/fhir/ValueSet/list-empty-reason"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": ".inboundRelationship[typeCode=SUBJ,code<ListEmptyReason].value[type=CD]"
          },
          {
            "identity": "cda",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Composition.section:enclosures.section",
        "path": "Composition.section.section",
        "short": "Nested Section",
        "definition": "A nested sub-section within this section.",
        "comment": "Nested sections are primarily used to help human readers navigate to particular portions of the document.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Composition.section.section",
          "min": 0,
          "max": "*"
        },
        "contentReference": "#Composition.section",
        "condition": [
          "cmp-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "./outboundRelationship[typeCode=\"COMP\" and isNormalActRelationship()]/target[moodCode=\"EVN\" and classCode=\"DOCSECT\" and isNormalAct]"
          },
          {
            "identity": "cda",
            "map": ".component.section"
          }
        ]
      }
    ]
  },
  "differential": {
    "element": [
      {
        "id": "Composition",
        "path": "Composition",
        "short": "An authored clinical note (encounter note, consult note, telephone note)",
        "definition": "A clinical note authored in this EMR: its narrative, its lifecycle state, who wrote it, who\nsigned it, and the encounter it belongs to.\n\nContrast `DocumentReference`, which references a document that exists as a file. A Composition\nIS the note; a DocumentReference POINTS AT one.",
        "constraint": [
          {
            "key": "composition-has-narrative",
            "severity": "warning",
            "human": "SHOULD carry readable narrative -- at least one section with `text`, or a resource-level `text`. A note with no body renders as a blank chart entry rather than a visible error",
            "expression": "section.where(text.exists()).exists() or text.exists()",
            "source": "https://fhir.apps.health/StructureDefinition/nexus-emr-core-composition"
          },
          {
            "key": "composition-signed-has-attester",
            "severity": "error",
            "human": "A note or letter with status `final` or `amended` SHALL identify who signed it -- `attester` with mode `legal` or `professional`. Generated summaries are exempt: nothing attests to a machine-generated summary, and naming an attester who never attested would fabricate a medico-legal signature. A summary is one whose `type` carries LOINC 34133-9. `category` is not consulted, so a note cannot buy the exemption by acquiring a refinement, and a converted summary must be remapped to say 34133-9 on `type` rather than carrying a source constant there.",
            "expression": "(status = 'final' or status = 'amended') implies (type.coding.where(system = 'http://loinc.org' and code = '34133-9').exists() or attester.where(mode = 'legal' or mode = 'professional').exists())",
            "source": "https://fhir.apps.health/StructureDefinition/nexus-emr-core-composition"
          }
        ]
      },
      {
        "id": "Composition.meta.source",
        "path": "Composition.meta.source",
        "short": "Identifies EMR instance & pipeline version the resource came from",
        "definition": "A URI that identifies the EMR pipeline and version from which this resource originated.  This tells you which EMR instance (recommend using the instance identifier), and the version of the pipeline code/transformations.",
        "mustSupport": true
      },
      {
        "id": "Composition.text",
        "path": "Composition.text",
        "short": "Human-readable summary of the note",
        "definition": "Resource-level narrative summarizing the note. Distinct from `section.text`, which is the note\nCONTENT. For a single-section encounter note the two may be near-identical; where they differ,\n`section.text` is authoritative for clinical content and this element is a summary.",
        "mustSupport": true
      },
      {
        "id": "Composition.identifier",
        "path": "Composition.identifier",
        "short": "Business identifier for the document -- stable across amendments",
        "definition": "The source-system identifier for this document.\n\nOPTIONAL (0..1), RELAXED FROM 1..1 IN 1.19.0. It was required when this profile modelled a single\ndocument kind -- the encounter note, which is the unit source EMRs key on and the gateway must map\nonto (OSCAR `casemgmt_note`), and an unidentified note cannot be reconciled across a sync boundary.\nThat case is still real and is still the reason to populate this element. What changed is the\npopulation: the profile now holds three document kinds, and a document born here with no external\nrecord to reconcile against has no identifier to carry. The server-assigned id already answers\n\"which document is this\", and forcing a writer to mint a business identifier yields a meaningless\nvalue that LOOKS like a key into something -- worse than absence. Letters shipped in exactly that\nshape, off-profile, because the requirement could not be met honestly.\n\nWHEN TO POPULATE IT -- stated rather than enforced, because the obligation differs by population:\n\n* A document synced from, or reconciled to, a source system SHOULD carry that system's identifier.\n  This is the encounter-note case the element was written for and it has not weakened.\n* A generated summary MUST carry its harness business key under\n  `NamingSystem/nexus-harness-key`. That key is what makes the summary update IN PLACE instead of\n  minting a second resource on every run; without it, regeneration silently duplicates.\n* A document that originated here and answers to neither case MAY omit it entirely.\n\nWHICH identifier to put here: R4 gives Composition exactly ONE identifier slot, so where the\ndocument came from a source system, that source identifier SHOULD be the one carried -- it is the\nmore useful of the two, being the only handle that reconciles back to the originating EMR.\nWhere the document originated here and has no source identifier, omit it: no canonical system is\nmandated, and a document with a single free slot is better left empty than filled with an\nidentifier that reconciles to nothing.\nUnlike the repeating-identifier profiles in this IG, there is no invariant enforcing a\npreference, because with a single slot such an invariant would forbid rather than recommend.\n\nSTABLE ACROSS AMENDMENTS. This identifies the document, not the version of it. Amending a signed\nnote produces a new version of the same resource with the same identifier -- see `status`.\n\nONE SLOT, SO NO SECOND IDENTIFIER. Earlier text here invited implementers to carry a source 'raw\ncode' as an ADDITIONAL identifier, which the repeating-identifier profiles in this IG can do and\nthis one cannot: `Composition.identifier` is singular in R4. Where both a source identifier and a\nraw code exist, the identifier above wins the slot and the raw code is not carried here."
      },
      {
        "id": "Composition.identifier.system",
        "path": "Composition.identifier.system",
        "min": 1
      },
      {
        "id": "Composition.identifier.value",
        "path": "Composition.identifier.value",
        "min": 1
      },
      {
        "id": "Composition.status",
        "path": "Composition.status",
        "short": "preliminary (draft) | final (signed) | amended (edited after signing) | entered-in-error",
        "definition": "The note's lifecycle state. This is the element that answers \"is this note a draft or is it\nsigned?\" -- there is no extension for it and none should be created.\n\n| Note state                  | status              |\n|-----------------------------|---------------------|\n| draft, being typed          | `preliminary`       |\n| signed                      | `final`             |\n| signed, then edited         | `amended`           |\n| voided / created in error   | `entered-in-error`  |\n\nAMENDMENTS ARE VERSION HISTORY, NOT NEW RESOURCES. When a signed note is edited, update THIS\nresource in place and set `status` to `amended`. The server's version history preserves the\nas-signed content. Do NOT create a second Composition and relate it back -- that leaves two\nresources where the chart must know to display one, and every consumer must learn to filter.\n\n`relatesTo` is deliberately left unprofiled. It stays available in core R4 if a true ADDENDUM\nworkflow later appears -- original untouched, new signed content appended, with its own author\nand sign-off date -- which is a genuinely different clinical act from an in-place correction.\nIt is not the mechanism for ordinary amendment.\n\n⚠ IMPLEMENTER WARNING -- this model depends on infrastructure this IG has not yet declared.\nVersion history is server-local: `_history` does not travel in bundles, `$everything`, or sync\npipelines, all of which move current versions only. Across a system boundary, an amended note\narrives as its amended text with the as-signed content absent. Furthermore this IG currently\npublishes NO CapabilityStatement, so no versioning policy or supported-interaction set is\ndeclared anywhere, and `meta.versionId` is type `id` -- server-opaque in R4 and unconstrained\nhere. Consumers MUST NOT infer ordering, authorship, or \"which version was signed\" by parsing\nor sorting `versionId`. Reconstructing the as-signed note is, today, only reliable on the\nauthoring server. Declaring the version-history contract is tracked as outstanding IG work and\nis a prerequisite for relying on this model across boundaries.",
        "mustSupport": true,
        "binding": {
          "strength": "required",
          "valueSet": "http://hl7.org/fhir/ValueSet/composition-status"
        }
      },
      {
        "id": "Composition.type",
        "path": "Composition.type",
        "short": "What kind of document this is: note, summary or letter",
        "definition": "What kind of document this is, at the coarsest useful level: an authored **note**, a generated\n**summary**, or a **letter**. Three codes, and this element carries exactly one of them.\n\n**This is the element to switch on, and the element to search.** It is 1..1, so it is always\npresent, and its vocabulary is small and closed enough that a consumer can branch on it exhaustively.\nA surface that renders Compositions decides here whether it is showing clinician-authored content or\nmachine-generated content -- and `author` will not answer that, because a scribe-drafted note and a\ngenerated summary both carry a Device author. `author` says who wrote it; this element says what it\nis.\n\n| code | what it is |\n|---|---|\n| LOINC 34109-9 \"Note\" | a clinician-authored note |\n| LOINC 34133-9 \"Summary of episode note\" | a generated summary, of any kind |\n| LOINC 51852-2 \"Letter\" | a letter |\n\n**The finer question goes on `category`.** Which kind of note (progress, consult, discharge,\nhistory and physical), and which kind of summary (day-sheet, interval, encounter recap), are\nrefinements of what this element already says. They are repeating and open-ended, which is why they\nbelong on a `0..*` element rather than this one. See `category`.\n\n**Converted data usually needs remapping here.** In OSCAR, every `casemgmt_note` arrives with LOINC\n11488-4 \"Consult note\" whatever the note actually is. That is a refinement code, not a class code: a\nconverter should write 34109-9 \"Note\" here and carry 11488-4 on `category`, rather than putting a\nrefinement in the class slot.\n\n⚠ IMPLEMENTER WARNING -- an `extensible` binding is not silent in TypedFhir. A `required` binding\ngrades at ERROR; `extensible` and `preferred` both grade at WARNING; `example` is not checked. The\ncheck fires only for a code OUTSIDE the bound set, so a document typed with something other than the\nthree codes above raises a validation warning. That is the intended signal here: the class axis is\nsmall and this set enumerates it, so a code outside it is usually a refinement code in the wrong\nslot. **A warning is not a rejection** -- `extensible` keeps a genuinely unclassifiable document\nconformant.\n\nWhere this code was mapped from a source system's own vocabulary, carry the raw coding alongside the mapped one, flagged `userSelected = true`. See [Carrying the raw code](https://fhir.apps.health/guide/patterns/raw-codes.html).",
        "mustSupport": true,
        "binding": {
          "strength": "extensible",
          "valueSet": "https://fhir.apps.health/ValueSet/nexus-emr-composition-classification",
          "description": "The CLASS of document Nexus EMR stores -- note, summary or letter; extensible, so a document that is genuinely none of the three is still conformant"
        }
      },
      {
        "id": "Composition.type.text",
        "path": "Composition.type.text",
        "short": "Local document class as the source EMR names it",
        "mustSupport": true
      },
      {
        "id": "Composition.category",
        "path": "Composition.category",
        "short": "Refinements of the type: which kind of note, which kind of summary",
        "definition": "The finer classification of a document, refining what `type` has already said at the class level.\nRepeating and optional: a document may carry several refinements, or none.\n\n**Switch on `type`, not on this element.** `type` is 1..1 and always present; `category` is 0..*\nand may legitimately be absent. A consumer keying off `category` alone will miss documents.\n\nWhat belongs here:\n\n- **which kind of note** -- LOINC 11506-3 \"Progress note\", 11488-4 \"Consult note\", 18842-5\n  \"Discharge summary\", 34117-2 \"History and physical note\"\n- **which kind of summary** -- the codes in `nexus-composition-type`: a day-sheet summary written\n  ahead of a clinic, an interval summary covering the gap since the last visit, a recap of a single\n  encounter. LOINC has no concept for any of them, and they are not interchangeable\n- a **repeat of the `type` code**, which is allowed: the bound value set contains all three class\n  codes precisely so the repeat validates\n- administrative or workflow labels a source system carries that have no place on `type`\n\n**A refinement does not restate the class, it narrows it.** A progress note is `type` = 34109-9\n\"Note\" and `category` = 11506-3 \"Progress note\". A day-sheet summary is `type` = 34133-9 \"Summary of\nepisode note\" and `category` = `nexus-daysheet-summary`. Reading `type` alone always tells a\nconsumer which of the three populations it is holding; reading `category` tells it which kind\nwithin that population, when the producer knew.\n\n**Bound `preferred`, deliberately weaker than the binding on `type`.** LOINC's document axis is\nlarge and this guide does not enumerate it. A producer holding a more precise code than the ones\nlisted should write it here and should not earn a warning for being more precise.\n\n**This profile and the DocumentReference profile differ on which element classifies, for a reason.**\nThat profile directs classification to `category` rather than `type`; this one puts the class on\n`type`. The difference follows from the base cardinalities: `DocumentReference.type` is 0..1 and may\nbe absent, so `category` has to carry the load there. `Composition.type` is 1..1 and is always\npresent, so it carries it here.",
        "mustSupport": true,
        "binding": {
          "strength": "preferred",
          "valueSet": "https://fhir.apps.health/ValueSet/nexus-composition-kind",
          "description": "Refinements of the document class: note kinds, summary kinds, and the three class codes themselves so a repeat of `type` validates; preferred, so a more precise code is never penalised"
        }
      },
      {
        "id": "Composition.category.text",
        "path": "Composition.category.text",
        "short": "Plain text refinement, where no code fits",
        "mustSupport": true
      },
      {
        "id": "Composition.subject",
        "path": "Composition.subject",
        "short": "Patient the note is about",
        "definition": "The patient this note documents. Required.\n\nR4 permits any subject; this IG restricts to Patient, consistent with every other clinical\nprofile here. A note about something other than a patient has no home in this model.",
        "min": 1,
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-patient"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Composition.encounter",
        "path": "Composition.encounter",
        "short": "The encounter this note documents",
        "definition": "The clinical encounter this note belongs to. Optional in R4 and left optional here, because\nnotes legitimately exist outside an encounter (a telephone note taken before the visit is\nbooked, a chart correction, a note migrated from a source EMR whose encounter linkage was\nnever recorded).\n\nWhere the note documents a visit, populate it: it is what groups notes onto the encounter in\nthe chart and what lets the day sheet find them.",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-encounter"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Composition.date",
        "path": "Composition.date",
        "short": "When the note was last logically changed",
        "definition": "The composition editing time -- when the note was last logically changed.\n\nRead the name carefully: this MOVES when the note is amended. It is not the authored date and it\nis not the date the care happened. A timeline sorting notes by this element will re-position an\namended note to the date of its amendment.\n\nTiming relationships on this profile:\n\n- `date`: when this Composition was last edited (this element)\n- `event.period`: when the documented CARE occurred -- the clinical date\n- `encounter`: the visit the note belongs to, when there is one\n\nExample. A progress note for an April 10 visit, written up the next morning and corrected a week\nlater:\n\n- `event.period.start`: 2026-04-10 (the visit)\n- `date` at first save: 2026-04-11\n- `date` after the correction: 2026-04-18 -- and the visit is still April 10\n\n**Sort a clinical timeline by `event.period.start`, not by `date`.**\n\nThis element is the FALLBACK arm of the profile's declared effective date, not the first one:\nthe declaration is `event.period.start | date`. A note that populates `event` dates to its care;\none that does not falls back to this element, which is a statement about resource metadata rather\nthan about clinical time. See the note on `event` above.",
        "comment": "Not the clinical date, and not the authored date.",
        "mustSupport": true
      },
      {
        "id": "Composition.author",
        "path": "Composition.author",
        "short": "Who or what wrote the note",
        "definition": "Who is responsible for the note's content. Required and repeating: a note has at least one\nauthor, and may have several.\n\nPractitioner is the primary provider identity in this IG; PractitionerRole is permitted where\nthe clinic/role binding is part of what is being asserted (Practitioner has no `organization`\nand so cannot express it).\n\nAI-DRAFTED NOTES. A Device may appear as an author alongside the human. This is one of the two\nmechanisms for recording that a note was scribed rather than typed; the other is a Provenance\nrecord (`NexusEmrCoreProvenance`), which carries the fuller trail -- model, inputs, supervising\nhuman. They are not exclusive and the IG does not yet rule on which consumers should read.\n\nAbsent a Device author, the origin is UNKNOWN, not \"typed\". Legacy notes migrated from OSCAR\nPro carry no origin information and must not be inferred to be human-typed.\n\nAN AI AGENT AUTHOR IS A LOGICAL DEVICE REFERENCE. `Reference.identifier` under the\n`nexus-harness-graph` NamingSystem names the harness graph that produced the text, with\n`Reference.type = \"Device\"`; no Device resource need exist on this server, and the granularity\nis the graph/feature level. This is the same mechanism `NexusEmrCoreClinicalTask` uses for\n`requester` and `owner`, so an AI-scribed note and the review Task carrying it name their agent\nidentically.\n\nThat is also why `author` admits **bare `Device`** alongside the two profiled Device types: a\nlogical, identifier-only reference cannot conform to `NexusEmrCoreAppDevice` or\n`NexusEmrCoreEmrDevice`, because conforming to a profile presupposes a resource that exists to be\nvalidated against it. The profiled targets remain for a Device actually registered in this\nstore; the bare target is what an AI agent uses.",
        "comment": "A Practitioner, or a Device for AI-drafted content.",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-practitioner",
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-practitionerrole",
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-appdevice",
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-emrdevice",
              "http://hl7.org/fhir/StructureDefinition/Device",
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-organization"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Composition.title",
        "path": "Composition.title",
        "short": "Human-readable label for the note",
        "definition": "The note's label as shown in a chart list -- e.g. \"Progress Note - 8 Apr 2025\".\n\n**Mandatory in base R4, not by this profile.** R4 makes `title` 1..1 on the reasoning that CDA left\nit optional and no useful case for omitting it was known. A profile cannot relax a base cardinality,\nso this element is required here whatever a primary care EMR would otherwise choose. Much of the\ntime there is no editorially meaningful title to write.\n\n**When there is no meaningful title, write the display name of the `type` coding, exactly.** That is\nthe fallback R4's own guidance anticipates, and it is what downstream consumers expect to find. Do\nnot invent a label, and do not leave a placeholder string.\n\n**Renderers may suppress a title that duplicates the type.** A consumer comparing `title` against\nthe display of `Composition.type.coding` and finding them equal may omit the title from its\npresentation. The equality is the signal that no editorial title was authored.",
        "mustSupport": true
      },
      {
        "id": "Composition.confidentiality",
        "path": "Composition.confidentiality",
        "short": "Confidentiality level, where the EMR distinguishes"
      },
      {
        "id": "Composition.attester",
        "path": "Composition.attester",
        "short": "Who signed the note, and when",
        "definition": "Attestation -- the medico-legal signature.\n\nREQUIRED ONCE SIGNED: a note with `status` of `final` or `amended` must carry an attester with\nmode `legal` or `professional` (invariant `composition-signed-has-attester`). A signed note\nwith nobody identified as having signed it is not a record anyone can stand behind.\n\n`attester.time` is when the signature happened -- distinct from `date` (last change) and from\nthe encounter's period (when care happened).\n\nFor AI-drafted notes, the attester is the CLINICIAN, never the Device. The Device may be an\nauthor; it cannot attest. This asymmetry is the whole point of separating the two elements:\ngeneration and responsibility are different acts.",
        "mustSupport": true
      },
      {
        "id": "Composition.attester.mode",
        "path": "Composition.attester.mode",
        "mustSupport": true
      },
      {
        "id": "Composition.attester.time",
        "path": "Composition.attester.time",
        "mustSupport": true
      },
      {
        "id": "Composition.attester.party",
        "path": "Composition.attester.party",
        "min": 1,
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-practitioner",
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-practitionerrole",
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-organization"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Composition.custodian",
        "path": "Composition.custodian",
        "short": "Organization responsible for maintaining the note",
        "definition": "The organization stewarding this note. Optional here (DocumentReference requires it) because an authored note's custodian is normally the clinic operating the EMR and is implied by tenancy.",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-organization"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Composition.event",
        "path": "Composition.event",
        "short": "The care being documented -- what happened, and WHEN it happened",
        "definition": "The clinical service(s) this note documents. `event.period` is the CLINICAL date: the time the\ndocumented care occurred, which is not the same as when the note was written, and not the same as\nwhen it was last edited.\n\nPopulate it whenever the note is about care that happened at an identifiable time -- which for a\nprogress note, a consult note or a discharge summary is always. A note whose only date is `date`\ncannot be placed on a clinical timeline correctly: an amendment moves it.\n\n`event.detail` may reference the thing being documented; `event.code` says what kind of care it\nwas. Both are optional and neither substitutes for the period.",
        "mustSupport": true
      },
      {
        "id": "Composition.event.code",
        "path": "Composition.event.code",
        "short": "What kind of care this note documents",
        "mustSupport": true
      },
      {
        "id": "Composition.event.period",
        "path": "Composition.event.period",
        "short": "WHEN the documented care happened -- the clinical date. Only 'start' expected",
        "definition": "The period the documentation covers. This is the clinical relevance timeframe, not when the note\nwas created or last edited.\n\nIf only a point in time is relevant, use `start` only; for care spanning days (an admission), set\n`end` as well. `start` is required when the period is present at all -- a period with no start\nstates nothing.",
        "mustSupport": true
      },
      {
        "id": "Composition.event.period.start",
        "path": "Composition.event.period.start",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Composition.event.detail",
        "path": "Composition.event.detail",
        "short": "The thing being documented, when it is a resource",
        "mustSupport": true
      },
      {
        "id": "Composition.section",
        "path": "Composition.section",
        "slicing": {
          "discriminator": [
            {
              "type": "pattern",
              "path": "code"
            }
          ],
          "rules": "open",
          "ordered": false,
          "description": "Sections this guide names by their code. Everything else -- the note body, a SOAP section, an authoring block -- is an ordinary unsliced section, PROVIDED it does not carry a code this slicing names: membership is decided by content, not by opting in."
        },
        "short": "The note body -- narrative in `section.text`",
        "definition": "The note's content. For the common encounter note this is a single section carrying the whole\nnarrative; a structured note (SOAP, or a scribe template with headings) may carry several.\n\n`section.code` is BOUND, `extensible`, to the Composition Section value set\n(`nexus-composition-section`). **It is the element a consumer navigates a note by**, and where a\nsection has a clinical meaning it should say so here: a vital signs section is LOINC 8716-3.\n\nIt is NOT the place for a document-type code. LOINC supplies both document codes and section codes,\nout of one system and in one format, so nothing about a code says which axis it belongs to -- 34109-9\n\"Note\" types a document, not a section. That is the mistake the extensible strength exists to catch:\na code from the document axis warns. The cost is accepted -- a legitimate section kind the set does\nnot yet name warns too, and growing the set is one line.\n\n`section.code` is also not interchangeable with the block-type extension, which says how to RENDER\nthe section rather than what the section is. Who produced it is a third question again, and\n`section.author` answers that.\n\nNote the overlap with `NexusEmrCoreClinicalImpression`, which models the Assessment ('A') of a\nSOAP note as its own resource. A note carrying an assessment section AND a ClinicalImpression\nhas two homes for the same text; the IG does not yet rule which is authoritative.",
        "mustSupport": true
      },
      {
        "id": "Composition.section.title",
        "path": "Composition.section.title",
        "short": "Section heading as displayed",
        "mustSupport": true
      },
      {
        "id": "Composition.section.code",
        "path": "Composition.section.code",
        "short": "What the section clinically IS -- a SECTION code, never a document code",
        "comment": "⚠ IMPLEMENTER WARNING -- A DOCUMENT CODE IS IN CIRCULATION IN THIS ELEMENT, and a reader that\nhas not been told will lose content silently.\n\nBlock-structured note editors store one section per block. Where a block carried no code of its\nown -- which was every block raised from a template that did not assign one -- the fallback\nwritten here was LOINC 34109-9 \"Note\": the document code named as the example above, in the slot\nthis binding exists to keep it out of. It was the common shape on such a note rather than a rare\none.\n\nWRITERS NO LONGER PRODUCE IT, AND STORED DATA IS NOT REWRITTEN. The editor now writes a section\ncode, and nothing recodes a note already on file: a filed record is not amended because an\nunrelated release changed a default. Editing such a note preserves the code it was stored with,\nby design. So this is a LEGACY shape rather than one still being created -- and the amount of it\nin a deployment is fixed at whatever was written before that change, rather than growing.\n\nREADERS MUST TOLERATE IT. Do not treat a section as unclassified because its code is a document\ncode, and do not drop it. A reader that selects sections by section code will otherwise discard\nthat content without any signal: the binding raises its warning at VALIDATION, and a reader is\nnot a validator. Where a reader needs the whole note, take every section and use `section.title`\nand the narrative when the code does not discriminate.\n\nWRITERS SHOULD CODE A SECTION FOR WHAT IT CLINICALLY IS. Most blocks have an identity worth\nrecording -- an agenda, a reason for contact, a chronic-disease review -- and a template is the\nright place to decide it once, rather than a fallback applied at save time. Where a block\ngenuinely has no clinical identity, `55752-0` \"Clinical information\" is the generic member of\nthe bound set. It is a section code, not a document code.\n\nNOT `28562-7` \"Chart section Set\", which this release reserves. The `enclosures` slice below is\ndiscriminated by `#pattern` on `code`, so a section carrying that code is INSIDE that slice by\ncontent rather than by opting in -- it is then `0..1` for the whole document, and its `entry` is\ntyped to an attachment packet. Coding an authoring block `28562-7` therefore makes the document\ninvalid where a second one exists, and where it does not, a consumer resolving enclosures by code\nreads that block as the document's attachment manifest.\n\nMIGRATION -- WHAT IS NOT SETTLED. Notes already stored carry 34109-9 in this element. Whether\nthose are remapped, or readers are expected to accept both forms indefinitely, is open. A\nremapping cannot be mechanical for the blocks that HAVE an identity: recovering it means reading\nthe block's title or its template, not rewriting one code to another.",
        "binding": {
          "strength": "extensible",
          "valueSet": "https://fhir.apps.health/ValueSet/nexus-composition-section"
        }
      },
      {
        "id": "Composition.section.author",
        "path": "Composition.section.author",
        "short": "Per-section authorship, where sections have different authors",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-practitioner",
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-practitionerrole",
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-appdevice",
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-emrdevice",
              "http://hl7.org/fhir/StructureDefinition/Device",
              "https://fhir.apps.health/StructureDefinition/nexus-emr-core-organization"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Composition.section.text",
        "path": "Composition.section.text",
        "short": "The section's narrative, as XHTML",
        "definition": "The note text, as XHTML. **Complete on its own**: a consumer that reads nothing but this element,\nand no extension in this guide, must still get the clinically meaningful content of the section --\nnegative findings included. See the contract above `section.text` in the FSH.\n\nThis is the element the chart renders and the element an AI reads. It is TEXT IN FHIR -- not\nbase64, not a blob pointer -- which is the substantive difference from the DocumentReference\nmodel this replaced for authored notes: it is greppable, diffable, and readable without a\nsecond fetch.\n\nXHTML, NOT ARBITRARY HTML. Content SHALL conform to the FHIR Narrative rules: no active\ncontent, no scripts, no external references. A gateway converting source-EMR note text (which\nin OSCAR is effectively plain text with newlines) MUST sanitize and wrap it, not pass it\nthrough.",
        "comment": "Complete on its own, with negatives included.",
        "mustSupport": true
      },
      {
        "id": "Composition.section.text.status",
        "path": "Composition.section.text.status",
        "short": "generated | extensions | additional | empty -- a note body is `additional`",
        "definition": "Whether the narrative can be regenerated from the resource's structured data. Required by R4 and\neasy to omit, because a writer assembling `section.text` by hand thinks of the div as the value.\n\n| what the narrative is | status |\n|---|---|\n| a clinician's note body, a letter, an AI summary | `additional` |\n| text a machine can regenerate from this resource's own structured data | `generated` |\n| a block the author raised and left blank | `empty`, with `section.emptyReason` |\n\n`generated` is the one to be careful with: it is a claim that the narrative is disposable, and a\nconsumer entitled to act on it will render the structured data alone. A note body is not\nregenerable from `section.entry`, whatever else a section carries.",
        "mustSupport": true
      },
      {
        "id": "Composition.section.entry",
        "path": "Composition.section.entry",
        "short": "Structured resources belonging to this section",
        "definition": "References to discrete resources that belong to this section -- the structured counterpart to\n`section.text`.\n\nCurrently unconstrained by type and expected to be sparse: today's notes are narrative. This is\nthe element that carries structured note generation when it arrives (a scribe filling a\nstructured template, or SDC extraction promoting answers to Observation / Condition), which is\nwhy it is declared now rather than left to be discovered later.",
        "mustSupport": true
      },
      {
        "id": "Composition.section.emptyReason",
        "path": "Composition.section.emptyReason",
        "short": "Why an expected section is empty",
        "definition": "Where a template declares a section that has no content, this records why it is empty rather than leaving the reader to guess between 'nothing to report' and 'not asked'."
      },
      {
        "id": "Composition.section:enclosures",
        "path": "Composition.section",
        "sliceName": "enclosures",
        "short": "The attachment packets travelling with this document, one entry each",
        "definition": "The document's own account of what is attached to it: a section coded LOINC `28562-7` whose `entry`\nreferences one or more attachment packets (`List` resources profiled as Attachment Packet). A letter\nsent with enclosures carries this section; a document sent with nothing carries no such section.\n\n**This is the only record of a document's attachments.** The packets do not point back, so a\nconsumer asking what went out with a letter reads this section and nothing else.\n\n**Resolve it by the coding, not by position.** The body is the section at a known index; this one\nfollows it and may sit anywhere after it. Match `system` and `code` together -- `28562-7` under\nanother producer's system is that producer's section, not this one.\n\n**The heading is `section.title`.** Write \"Enclosures\" there. `28562-7` is named \"Chart section Set\"\nin LOINC and \"Enclosures\" is not a term of that concept, so it does not belong in the coding's\n`display`.\n\n**Membership lives on the packet, not here.** `entry` names the packets; which chart items each\nholds, in what order, and which of their pages are left out are all on the packet.",
        "min": 0,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Composition.section:enclosures.title",
        "path": "Composition.section.title",
        "short": "The heading as displayed -- `Enclosures`"
      },
      {
        "id": "Composition.section:enclosures.code",
        "path": "Composition.section.code",
        "short": "LOINC 28562-7 -- the enclosures section code (display: `Chart section Set`)",
        "min": 1,
        "patternCodeableConcept": {
          "coding": [
            {
              "code": "28562-7",
              "system": "http://loinc.org"
            }
          ]
        }
      },
      {
        "id": "Composition.section:enclosures.entry",
        "path": "Composition.section.entry",
        "short": "One attachment packet per entry",
        "comment": "Each entry is a `List` profiled as Attachment Packet. Nothing else belongs here: a document, a result or a note attached to the document is a MEMBER OF a packet, not an entry of this section, so that its order and its excluded pages have somewhere to live.",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "https://fhir.apps.health/StructureDefinition/nexus-attachment-packet"
            ]
          }
        ]
      }
    ]
  }
}
