> ## Documentation Index
> Fetch the complete documentation index at: https://medlogprotocol.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Field mapping explorer

> An interactive map from each MedLog field to related USCDI concepts and FHIR and OpenTelemetry representations.

Select a MedLog field below to see the **related USCDI concepts** and **FHIR and OpenTelemetry
representations** for that field. Every element links to its own documentation.

<div className="iop">
  <input type="radio" name="iop-field" id="iop-header" className="iop-radio" defaultChecked />

  <input type="radio" name="iop-field" id="iop-model-instance" className="iop-radio" />

  <input type="radio" name="iop-field" id="iop-user-identity" className="iop-radio" />

  <input type="radio" name="iop-field" id="iop-target-identity" className="iop-radio" />

  <input type="radio" name="iop-field" id="iop-inputs" className="iop-radio" />

  <input type="radio" name="iop-field" id="iop-internal-artifacts" className="iop-radio" />

  <input type="radio" name="iop-field" id="iop-outputs" className="iop-radio" />

  <input type="radio" name="iop-field" id="iop-outcomes" className="iop-radio" />

  <input type="radio" name="iop-field" id="iop-user-feedback" className="iop-radio" />

  <div className="iop-railwrap">
    <div className="iop-rail-label">Available at invocation</div>

    <div className="iop-rail">
      <label className="iop-node" htmlFor="iop-header">Header</label>
      <label className="iop-node" htmlFor="iop-model-instance">Model instance</label>
      <label className="iop-node" htmlFor="iop-user-identity">User identity</label>
      <label className="iop-node" htmlFor="iop-target-identity">Target identity</label>
      <label className="iop-node" htmlFor="iop-inputs">Inputs</label>
    </div>

    <div className="iop-rail-label">Appended later</div>

    <div className="iop-rail">
      <label className="iop-node" htmlFor="iop-internal-artifacts">Internal artifacts</label>
      <label className="iop-node" htmlFor="iop-outputs">Outputs</label>
      <label className="iop-node" htmlFor="iop-outcomes">Outcomes</label>
      <label className="iop-node" htmlFor="iop-user-feedback">User feedback</label>
    </div>
  </div>

  <div className="iop-stage">
    <div className="iop-card" data-field="header">
      <div className="iop-trunk" />

      <div className="iop-hub">
        <div className="iop-hub-tag">Available at invocation</div>
        <div className="iop-hub-title">Header</div>
        <div className="iop-hub-desc">Provenance information, execution context, and system metadata available at inference time.</div>
        <a className="iop-hub-link" href="/specification/header">Read the field reference</a>
      </div>

      <div className="iop-branches">
        <div className="iop-branch" data-std="uscdi">
          <div className="iop-panel">
            <div className="iop-panel-head"><span className="iop-swatch" />USCDI</div>

            <div className="iop-chips">
              <a className="iop-chip" href="https://isp.healthit.gov/uscdi-data-class/provenance" target="_blank" rel="noreferrer">Provenance</a>
            </div>

            <div className="iop-note">Provenance information, including Author Time Stamp and Author Organization, where relevant. These concepts do not substitute for model-inference or audit-recording times.</div>
          </div>
        </div>

        <div className="iop-branch" data-std="fhir">
          <div className="iop-panel">
            <div className="iop-panel-head"><span className="iop-swatch" />FHIR R5</div>

            <div className="iop-chips">
              <a className="iop-chip" href="https://hl7.org/fhir/R5/auditevent.html" target="_blank" rel="noreferrer">AuditEvent.occurredPeriod</a>
              <a className="iop-chip" href="https://hl7.org/fhir/R5/auditevent-definitions.html#AuditEvent.recorded" target="_blank" rel="noreferrer">AuditEvent.recorded</a>
              <a className="iop-chip" href="https://hl7.org/fhir/R5/auditevent-definitions.html#AuditEvent.source.observer" target="_blank" rel="noreferrer">AuditEvent.source.observer</a>
              <a className="iop-chip" href="https://hl7.org/fhir/R5/auditevent-definitions.html#AuditEvent.category" target="_blank" rel="noreferrer">AuditEvent.category</a>
              <a className="iop-chip" href="https://hl7.org/fhir/R5/auditevent-definitions.html#AuditEvent.code" target="_blank" rel="noreferrer">AuditEvent.code</a>
              <a className="iop-chip" href="https://hl7.org/fhir/R5/auditevent-definitions.html#AuditEvent.action" target="_blank" rel="noreferrer">AuditEvent.action</a>
            </div>

            <div className="iop-note"><code>AuditEvent.occurredPeriod</code> can represent the execution interval, while <code>AuditEvent.recorded</code> records when the audit event was logged. <code>AuditEvent.source.observer</code> can identify the reporting source. MedLog-specific invocation identifiers, protocol version, parent-event linkage, and other workflow context can remain in the linked MedLog payload or defined extensions.</div>
          </div>
        </div>

        <div className="iop-branch" data-std="otel">
          <div className="iop-panel">
            <div className="iop-panel-head"><span className="iop-swatch" />OpenTelemetry</div>

            <div className="iop-chips">
              <a className="iop-chip" href="https://opentelemetry.io/docs/specs/otel/logs/data-model/#field-timestamp" target="_blank" rel="noreferrer">Timestamp</a>
              <a className="iop-chip" href="https://opentelemetry.io/docs/specs/otel/logs/data-model/#field-observedtimestamp" target="_blank" rel="noreferrer">ObservedTimestamp</a>
              <a className="iop-chip iop-chip-medlog" href="/specification/header">medlog.event\_type</a>
              <a className="iop-chip iop-chip-medlog" href="/specification/header">medlog.event\_id</a>
              <a className="iop-chip iop-chip-medlog" href="/specification/header">medlog.run\_id</a>
              <a className="iop-chip iop-chip-medlog" href="/specification/header">medlog.parent\_event\_id</a>
              <a className="iop-chip iop-chip-medlog" href="/specification/header">medlog.medlog\_version</a>
              <a className="iop-chip" href="https://opentelemetry.io/docs/specs/semconv/registry/attributes/gen-ai/#gen-ai-conversation-id" target="_blank" rel="noreferrer">gen\_ai.conversation.id</a>
            </div>

            <div className="iop-note">OpenTelemetry log <code>Timestamp</code> and <code>ObservedTimestamp</code> can distinguish source-event and collection times. Populate trace and span identifiers only when genuine tracing context exists; use <code>gen\_ai.conversation.id</code> only when the MedLog run identifier has the same conversation or thread scope.</div>
          </div>
        </div>
      </div>
    </div>

    <div className="iop-card" data-field="model-instance">
      <div className="iop-trunk" />

      <div className="iop-hub">
        <div className="iop-hub-tag">Available at invocation</div>
        <div className="iop-hub-title">Model instance</div>
        <div className="iop-hub-desc">Stable identifiers of the AI model and version, with references to its model card and data sheet.</div>
        <a className="iop-hub-link" href="/specification/model-instance">Read the field reference</a>
      </div>

      <div className="iop-branches">
        <div className="iop-branch" data-std="uscdi">
          <div className="iop-panel">
            <div className="iop-panel-head"><span className="iop-swatch" />USCDI</div>

            <div className="iop-chips">
              <span className="iop-chip iop-chip-none">No direct counterpart</span>
            </div>

            <div className="iop-note">No direct counterpart for the complete AI-specific configuration of a model invocation.</div>
          </div>
        </div>

        <div className="iop-branch" data-std="fhir">
          <div className="iop-panel">
            <div className="iop-panel-head"><span className="iop-swatch" />FHIR R5</div>

            <div className="iop-chips">
              <a className="iop-chip" href="https://hl7.org/fhir/R5/device.html" target="_blank" rel="noreferrer">Device</a>
              <a className="iop-chip" href="https://hl7.org/fhir/R5/device-definitions.html#Device.identifier" target="_blank" rel="noreferrer">Device.identifier</a>
              <a className="iop-chip" href="https://hl7.org/fhir/R5/device-definitions.html#Device.version.value" target="_blank" rel="noreferrer">Device.version.value</a>
            </div>

            <div className="iop-note">A software model can be represented by a <code>Device</code>. <code>Device.identifier</code> can identify the software instance, while <code>Device.version.value</code> can record its software version. Model-card references, training-data versions, deployment identifiers, test-time modifications, and other invocation-specific configuration can remain in the linked MedLog payload or associated documentation.</div>
          </div>
        </div>

        <div className="iop-branch" data-std="otel">
          <div className="iop-panel">
            <div className="iop-panel-head"><span className="iop-swatch" />OpenTelemetry</div>

            <div className="iop-chips">
              <a className="iop-chip iop-chip-medlog" href="/specification/model-instance">medlog.model\_instance.\*</a>
              <a className="iop-chip" href="https://opentelemetry.io/docs/specs/semconv/registry/attributes/gen-ai/#gen-ai-request-model" target="_blank" rel="noreferrer">gen\_ai.request.model</a>
              <a className="iop-chip" href="https://opentelemetry.io/docs/specs/semconv/registry/attributes/gen-ai/#gen-ai-response-model" target="_blank" rel="noreferrer">gen\_ai.response.model</a>
            </div>

            <div className="iop-note">Preserve richer model metadata under <code>medlog.model\_instance.\*</code>. For generative AI, <code>gen\_ai.request.model</code> can identify the requested model and <code>gen\_ai.response.model</code> the responding model when independently known. These attributes do not replace model-version, deployment, or other configuration metadata.</div>
          </div>
        </div>
      </div>
    </div>

    <div className="iop-card" data-field="user-identity">
      <div className="iop-trunk" />

      <div className="iop-hub">
        <div className="iop-hub-tag">Available at invocation</div>
        <div className="iop-hub-title">User identity</div>
        <div className="iop-hub-desc">The technical process, service, or workflow that invokes the model call.</div>
        <a className="iop-hub-link" href="/specification/user-identity">Read the field reference</a>
      </div>

      <div className="iop-branches">
        <div className="iop-branch" data-std="uscdi">
          <div className="iop-panel">
            <div className="iop-panel-head"><span className="iop-swatch" />USCDI</div>

            <div className="iop-chips">
              <a className="iop-chip" href="https://isp.healthit.gov/uscdi-data-class/provenance" target="_blank" rel="noreferrer">Provenance</a>
              <a className="iop-chip" href="https://isp.healthit.gov/uscdi-data-class/care-team-members" target="_blank" rel="noreferrer">Care Team Members</a>
              <a className="iop-chip" href="https://isp.healthit.gov/uscdi-data-class/facility-information" target="_blank" rel="noreferrer">Facility Information</a>
            </div>

            <div className="iop-note">Provenance Author, Author Role, and Author Organization; Care Team Members and facility information where applicable. Authorship and initiation of a model invocation are distinct concepts.</div>
          </div>
        </div>

        <div className="iop-branch" data-std="fhir">
          <div className="iop-panel">
            <div className="iop-panel-head"><span className="iop-swatch" />FHIR R5</div>

            <div className="iop-chips">
              <a className="iop-chip" href="https://hl7.org/fhir/R5/auditevent-definitions.html#AuditEvent.agent" target="_blank" rel="noreferrer">AuditEvent.agent</a>
              <a className="iop-chip" href="https://hl7.org/fhir/R5/auditevent-definitions.html#AuditEvent.agent.who" target="_blank" rel="noreferrer">AuditEvent.agent.who.identifier</a>
              <a className="iop-chip" href="https://hl7.org/fhir/R5/auditevent-definitions.html#AuditEvent.agent.role" target="_blank" rel="noreferrer">AuditEvent.agent.role</a>
              <a className="iop-chip" href="https://hl7.org/fhir/R5/practitioner.html" target="_blank" rel="noreferrer">Practitioner</a>
              <a className="iop-chip" href="https://hl7.org/fhir/R5/practitionerrole.html" target="_blank" rel="noreferrer">PractitionerRole</a>
            </div>

            <div className="iop-note"><code>AuditEvent.agent</code> can represent actors involved in the event. <code>AuditEvent.agent.who.identifier</code> can preserve a native account identifier and namespace, while <code>AuditEvent.agent.role</code> can record the active security role. References to <code>Practitioner</code> or <code>PractitionerRole</code> can add human, clinical-role, and organizational context. Session or login context not represented directly can remain in MedLog.</div>
          </div>
        </div>

        <div className="iop-branch" data-std="otel">
          <div className="iop-panel">
            <div className="iop-panel-head"><span className="iop-swatch" />OpenTelemetry</div>

            <div className="iop-chips">
              <a className="iop-chip iop-chip-medlog" href="/specification/user-identity">medlog.user\_identity.\*</a>
              <a className="iop-chip" href="https://opentelemetry.io/docs/specs/semconv/registry/attributes/user/#user-id" target="_blank" rel="noreferrer">user.id</a>
              <a className="iop-chip" href="https://opentelemetry.io/docs/specs/semconv/registry/attributes/user/#user-name" target="_blank" rel="noreferrer">user.name</a>
              <a className="iop-chip" href="https://opentelemetry.io/docs/specs/semconv/registry/attributes/session/#session-id" target="_blank" rel="noreferrer">session.id</a>
            </div>

            <div className="iop-note">Preserve the full provenance chain in <code>medlog.user\_identity.\*</code>. Compatible application context can additionally use <code>user.id</code>, <code>user.name</code>, and <code>session.id</code>. These attributes do not replace identifier namespaces, caller ordering, or other MedLog-specific provenance information.</div>
          </div>
        </div>
      </div>
    </div>

    <div className="iop-card" data-field="target-identity">
      <div className="iop-trunk" />

      <div className="iop-hub">
        <div className="iop-hub-tag">Available at invocation</div>
        <div className="iop-hub-title">Target identity</div>
        <div className="iop-hub-desc">A reference to the entity about which the model produces output.</div>
        <a className="iop-hub-link" href="/specification/target-identity">Read the field reference</a>
      </div>

      <div className="iop-branches">
        <div className="iop-branch" data-std="uscdi">
          <div className="iop-panel">
            <div className="iop-panel-head"><span className="iop-swatch" />USCDI</div>

            <div className="iop-chips">
              <a className="iop-chip" href="https://isp.healthit.gov/uscdi-data-class/patient-demographicsinformation" target="_blank" rel="noreferrer">Patient Demographics/Information</a>
              <a className="iop-chip" href="https://isp.healthit.gov/uscdi-data-class/encounter-information" target="_blank" rel="noreferrer">Encounter Information</a>
            </div>

            <div className="iop-note">Patient Identifier and encounter or appointment information where applicable.</div>
          </div>
        </div>

        <div className="iop-branch" data-std="fhir">
          <div className="iop-panel">
            <div className="iop-panel-head"><span className="iop-swatch" />FHIR R5</div>

            <div className="iop-chips">
              <a className="iop-chip" href="https://hl7.org/fhir/R5/auditevent-definitions.html#AuditEvent.patient" target="_blank" rel="noreferrer">AuditEvent.patient</a>
              <a className="iop-chip" href="https://hl7.org/fhir/R5/auditevent-definitions.html#AuditEvent.encounter" target="_blank" rel="noreferrer">AuditEvent.encounter</a>
              <a className="iop-chip" href="https://hl7.org/fhir/R5/auditevent-definitions.html#AuditEvent.entity.what" target="_blank" rel="noreferrer">AuditEvent.entity.what</a>
              <a className="iop-chip" href="https://hl7.org/fhir/R5/appointment.html" target="_blank" rel="noreferrer">Appointment</a>
              <a className="iop-chip" href="https://hl7.org/fhir/R5/provenance-definitions.html#Provenance.target" target="_blank" rel="noreferrer">Provenance.target</a>
            </div>

            <div className="iop-note"><code>AuditEvent.patient</code> can identify a patient whose data were involved in the event, and <code>AuditEvent.encounter</code> can provide encounter context. <code>AuditEvent.entity.what</code> can reference other relevant target or contextual resources, such as an <code>Appointment</code>. When provenance of a generated or updated FHIR resource is being described, <code>Provenance.target</code> identifies that resource.</div>
          </div>
        </div>

        <div className="iop-branch" data-std="otel">
          <div className="iop-panel">
            <div className="iop-panel-head"><span className="iop-swatch" />OpenTelemetry</div>

            <div className="iop-chips">
              <a className="iop-chip iop-chip-medlog" href="/specification/target-identity">medlog.target\_identity.\*</a>
            </div>

            <div className="iop-note">Preserve target type, identifier namespace, and clinical references in <code>medlog.target\_identity.\*</code>. Do not populate <code>user.id</code> merely because the target is a patient; being the subject of a prediction does not establish participation as an application user.</div>
          </div>
        </div>
      </div>
    </div>

    <div className="iop-card" data-field="inputs">
      <div className="iop-trunk" />

      <div className="iop-hub">
        <div className="iop-hub-tag">Available at invocation</div>
        <div className="iop-hub-title">Inputs</div>
        <div className="iop-hub-desc">The input data provided to the model, including prompts, structured fields, and feature vectors.</div>
        <a className="iop-hub-link" href="/specification/inputs">Read the field reference</a>
      </div>

      <div className="iop-branches">
        <div className="iop-branch" data-std="uscdi">
          <div className="iop-panel">
            <div className="iop-panel-head"><span className="iop-swatch" />USCDI</div>

            <div className="iop-chips">
              <a className="iop-chip" href="https://isp.healthit.gov/uscdi-data-class/laboratory" target="_blank" rel="noreferrer">Laboratory</a>
              <a className="iop-chip" href="https://isp.healthit.gov/uscdi-data-class/vital-signs" target="_blank" rel="noreferrer">Vital Signs</a>
              <a className="iop-chip" href="https://isp.healthit.gov/uscdi-data-class/medications" target="_blank" rel="noreferrer">Medications</a>
              <a className="iop-chip" href="https://isp.healthit.gov/uscdi-data-class/problems" target="_blank" rel="noreferrer">Problems</a>
              <a className="iop-chip" href="https://isp.healthit.gov/uscdi-data-class/clinical-notes" target="_blank" rel="noreferrer">Clinical Notes</a>
              <a className="iop-chip" href="https://isp.healthit.gov/uscdi-data-class/diagnostic-imaging" target="_blank" rel="noreferrer">Diagnostic Imaging</a>
            </div>

            <div className="iop-note">Laboratory, Vital Signs, Medications, Problems, Clinical Notes, Diagnostic Imaging, and other clinical data used by the model.</div>
          </div>
        </div>

        <div className="iop-branch" data-std="fhir">
          <div className="iop-panel">
            <div className="iop-panel-head"><span className="iop-swatch" />FHIR R5</div>

            <div className="iop-chips">
              <a className="iop-chip" href="https://hl7.org/fhir/R5/observation.html" target="_blank" rel="noreferrer">Observation</a>
              <a className="iop-chip" href="https://hl7.org/fhir/R5/documentreference.html" target="_blank" rel="noreferrer">DocumentReference</a>
              <a className="iop-chip" href="https://hl7.org/fhir/R5/condition.html" target="_blank" rel="noreferrer">Condition</a>
              <a className="iop-chip" href="https://hl7.org/fhir/R5/medicationrequest.html" target="_blank" rel="noreferrer">MedicationRequest</a>
              <a className="iop-chip" href="https://hl7.org/fhir/R5/provenance-definitions.html#Provenance.entity.what" target="_blank" rel="noreferrer">Provenance.entity.what</a>
            </div>

            <div className="iop-note">Inputs can reference resources matching their clinical meaning, including <code>Observation</code>, <code>DocumentReference</code>, <code>Condition</code>, and <code>MedicationRequest</code>. <code>Provenance.entity.what</code> can identify source entities used in producing an output. Input versions, preprocessing state, feature vectors, prompts, or other information needed for reconstruction can remain in MedLog.</div>
          </div>
        </div>

        <div className="iop-branch" data-std="otel">
          <div className="iop-panel">
            <div className="iop-panel-head"><span className="iop-swatch" />OpenTelemetry</div>

            <div className="iop-chips">
              <a className="iop-chip" href="https://opentelemetry.io/docs/specs/semconv/registry/attributes/gen-ai/#gen-ai-input-messages" target="_blank" rel="noreferrer">gen\_ai.input.messages</a>
              <a className="iop-chip" href="https://opentelemetry.io/docs/specs/semconv/registry/attributes/gen-ai/#gen-ai-system-instructions" target="_blank" rel="noreferrer">gen\_ai.system\_instructions</a>
            </div>

            <div className="iop-note">Retain inputs or controlled-access references in the structured MedLog payload. For generative AI, compatible chat history can use <code>gen\_ai.input.messages</code>, while separately supplied system instructions can use <code>gen\_ai.system\_instructions</code>. Arbitrary feature vectors or clinical variables should not be relabeled as messages solely to fit Gen AI conventions.</div>
          </div>
        </div>
      </div>
    </div>

    <div className="iop-card" data-field="internal-artifacts">
      <div className="iop-trunk" />

      <div className="iop-hub">
        <div className="iop-hub-tag">Appended later</div>
        <div className="iop-hub-title">Internal artifacts</div>
        <div className="iop-hub-desc">Artifacts generated during inference, such as reasoning traces, retrieved context, and uncertainty estimates.</div>
        <a className="iop-hub-link" href="/specification/internal-artifacts">Read the field reference</a>
      </div>

      <div className="iop-branches">
        <div className="iop-branch" data-std="uscdi">
          <div className="iop-panel">
            <div className="iop-panel-head"><span className="iop-swatch" />USCDI</div>

            <div className="iop-chips">
              <span className="iop-chip iop-chip-none">No direct counterpart</span>
            </div>

            <div className="iop-note">No direct counterpart for AI execution traces, tool calls, retrieval results, attribution maps, or invocation-specific state.</div>
          </div>
        </div>

        <div className="iop-branch" data-std="fhir">
          <div className="iop-panel">
            <div className="iop-panel-head"><span className="iop-swatch" />FHIR R5</div>

            <div className="iop-chips">
              <a className="iop-chip" href="https://hl7.org/fhir/R5/documentreference.html" target="_blank" rel="noreferrer">DocumentReference</a>
              <a className="iop-chip" href="https://hl7.org/fhir/R5/documentreference-definitions.html#DocumentReference.content.attachment.url" target="_blank" rel="noreferrer">DocumentReference.content.attachment.url</a>
            </div>

            <div className="iop-note">A <code>DocumentReference</code> can reference stored artifacts; for example, <code>DocumentReference.content.attachment.url</code> can point to controlled-access artifact storage. Artifact type, format, version, and linkage to the originating invocation can remain in MedLog or explicitly defined extensions.</div>
          </div>
        </div>

        <div className="iop-branch" data-std="otel">
          <div className="iop-panel">
            <div className="iop-panel-head"><span className="iop-swatch" />OpenTelemetry</div>

            <div className="iop-chips">
              <a className="iop-chip iop-chip-medlog" href="/specification/internal-artifacts">medlog.artifact.\*</a>
              <a className="iop-chip" href="https://opentelemetry.io/docs/specs/semconv/registry/attributes/gen-ai/#gen-ai-tool-name" target="_blank" rel="noreferrer">gen\_ai.tool.name</a>
              <a className="iop-chip" href="https://opentelemetry.io/docs/specs/semconv/registry/attributes/gen-ai/#gen-ai-retrieval-documents" target="_blank" rel="noreferrer">gen\_ai.retrieval.documents</a>
            </div>

            <div className="iop-note">Preserve artifact metadata and payloads or references in <code>medlog.artifact.\*</code>. Compatible generative-AI operations can additionally use semantic conventions such as <code>gen\_ai.tool.name</code> and <code>gen\_ai.retrieval.documents</code>. Other internal artifacts remain MedLog-specific.</div>
          </div>
        </div>
      </div>
    </div>

    <div className="iop-card" data-field="outputs">
      <div className="iop-trunk" />

      <div className="iop-hub">
        <div className="iop-hub-tag">Appended later</div>
        <div className="iop-hub-title">Patient- or clinician-facing outputs</div>
        <div className="iop-hub-desc">The outputs intended for human users, including predictions, generated content, explanations, and recommendations.</div>
        <a className="iop-hub-link" href="/specification/outputs">Read the field reference</a>
      </div>

      <div className="iop-branches">
        <div className="iop-branch" data-std="uscdi">
          <div className="iop-panel">
            <div className="iop-panel-head"><span className="iop-swatch" />USCDI</div>

            <div className="iop-chips">
              <a className="iop-chip" href="https://isp.healthit.gov/uscdi-data-class/clinical-notes" target="_blank" rel="noreferrer">Clinical Notes</a>
            </div>

            <div className="iop-note">Clinical Notes or other USCDI elements corresponding to the output's actual clinical meaning; there is no universal AI-output element.</div>
          </div>
        </div>

        <div className="iop-branch" data-std="fhir">
          <div className="iop-panel">
            <div className="iop-panel-head"><span className="iop-swatch" />FHIR R5</div>

            <div className="iop-chips">
              <a className="iop-chip" href="https://hl7.org/fhir/R5/riskassessment.html" target="_blank" rel="noreferrer">RiskAssessment</a>
              <a className="iop-chip" href="https://hl7.org/fhir/R5/documentreference.html" target="_blank" rel="noreferrer">DocumentReference</a>
              <a className="iop-chip" href="https://hl7.org/fhir/R5/provenance-definitions.html#Provenance.target" target="_blank" rel="noreferrer">Provenance.target</a>
            </div>

            <div className="iop-note">Use resources corresponding to the output's clinical meaning, such as <code>RiskAssessment</code> for a clinical risk prediction or <code>DocumentReference</code> for a generated document. <code>Provenance.target</code> can identify a resource generated or updated by the activity. The original model output should remain distinguishable from subsequent human edits, transformations, and presentation events.</div>
          </div>
        </div>

        <div className="iop-branch" data-std="otel">
          <div className="iop-panel">
            <div className="iop-panel-head"><span className="iop-swatch" />OpenTelemetry</div>

            <div className="iop-chips">
              <a className="iop-chip iop-chip-medlog" href="/specification/outputs">medlog.output.\*</a>
              <a className="iop-chip" href="https://opentelemetry.io/docs/specs/semconv/registry/attributes/gen-ai/#gen-ai-output-messages" target="_blank" rel="noreferrer">gen\_ai.output.messages</a>
              <a className="iop-chip" href="https://opentelemetry.io/docs/specs/semconv/registry/attributes/gen-ai/#gen-ai-output-type" target="_blank" rel="noreferrer">gen\_ai.output.type</a>
            </div>

            <div className="iop-note">Preserve outputs in <code>medlog.output.\*</code>. For generative AI, corresponding model-response messages can use <code>gen\_ai.output.messages</code>. <code>gen\_ai.output.type</code> describes the output type requested by the client and should not be treated as an unconditional equivalent of a MedLog output-type field.</div>
          </div>
        </div>
      </div>
    </div>

    <div className="iop-card" data-field="outcomes">
      <div className="iop-trunk" />

      <div className="iop-hub">
        <div className="iop-hub-tag">Appended later</div>
        <div className="iop-hub-title">Outcomes</div>
        <div className="iop-hub-desc">Records of clinical actions or patient outcomes linked to the model recommendation.</div>
        <a className="iop-hub-link" href="/specification/outcomes">Read the field reference</a>
      </div>

      <div className="iop-branches">
        <div className="iop-branch" data-std="uscdi">
          <div className="iop-panel">
            <div className="iop-panel-head"><span className="iop-swatch" />USCDI</div>

            <div className="iop-chips">
              <a className="iop-chip" href="https://isp.healthit.gov/uscdi-data/adverse-event" target="_blank" rel="noreferrer">Adverse Event</a>
              <a className="iop-chip" href="https://isp.healthit.gov/uscdi-data/adverse-event-outcome" target="_blank" rel="noreferrer">Adverse Event Outcome</a>
              <a className="iop-chip" href="https://isp.healthit.gov/uscdi-data-class/medications" target="_blank" rel="noreferrer">Medications</a>
              <a className="iop-chip" href="https://isp.healthit.gov/uscdi-data-class/problems" target="_blank" rel="noreferrer">Problems</a>
              <a className="iop-chip" href="https://isp.healthit.gov/uscdi-data-class/laboratory" target="_blank" rel="noreferrer">Laboratory</a>
              <a className="iop-chip" href="https://isp.healthit.gov/uscdi-data-class/procedures" target="_blank" rel="noreferrer">Procedures</a>
            </div>

            <div className="iop-note">Adverse Events, orders, Medications, Problems, Laboratory results, and other elements corresponding to the clinical or operational endpoint being measured.</div>
          </div>
        </div>

        <div className="iop-branch" data-std="fhir">
          <div className="iop-panel">
            <div className="iop-panel-head"><span className="iop-swatch" />FHIR R5</div>

            <div className="iop-chips">
              <a className="iop-chip" href="https://hl7.org/fhir/R5/servicerequest.html" target="_blank" rel="noreferrer">ServiceRequest</a>
              <a className="iop-chip" href="https://hl7.org/fhir/R5/medicationrequest.html" target="_blank" rel="noreferrer">MedicationRequest</a>
              <a className="iop-chip" href="https://hl7.org/fhir/R5/medicationadministration.html" target="_blank" rel="noreferrer">MedicationAdministration</a>
              <a className="iop-chip" href="https://hl7.org/fhir/R5/condition.html" target="_blank" rel="noreferrer">Condition</a>
              <a className="iop-chip" href="https://hl7.org/fhir/R5/observation.html" target="_blank" rel="noreferrer">Observation</a>
              <a className="iop-chip" href="https://hl7.org/fhir/R5/appointment-definitions.html#Appointment.status" target="_blank" rel="noreferrer">Appointment.status</a>
              <a className="iop-chip" href="https://hl7.org/fhir/R5/auditevent-definitions.html#AuditEvent.outcome" target="_blank" rel="noreferrer">AuditEvent.outcome</a>
            </div>

            <div className="iop-note">Outcomes can reference resources matching their clinical meaning, such as <code>ServiceRequest</code> or <code>MedicationRequest</code> for orders, <code>MedicationAdministration</code> for administered therapy, <code>Condition</code> or <code>Observation</code> for clinical endpoints, and <code>Appointment.status</code> for attendance. Linkage between the outcome and originating AI interaction remains explicit in MedLog. <code>AuditEvent.outcome</code> records the success or failure of the audited event and is not itself a clinical outcome.</div>
          </div>
        </div>

        <div className="iop-branch" data-std="otel">
          <div className="iop-panel">
            <div className="iop-panel-head"><span className="iop-swatch" />OpenTelemetry</div>

            <div className="iop-chips">
              <a className="iop-chip iop-chip-medlog" href="/specification/outcomes">medlog.outcome.\*</a>
              <a className="iop-chip" href="https://opentelemetry.io/docs/specs/otel/trace/api/" target="_blank" rel="noreferrer">Trace API</a>
            </div>

            <div className="iop-note">Preserve endpoint values, times, clinical references, and linkage evidence in <code>medlog.outcome.\*</code>. Delayed outcomes can be emitted as later records linked to the originating invocation. Clinical benefit or harm should not be represented as inference execution status, nor should an execution span remain open while awaiting clinical follow-up.</div>
          </div>
        </div>
      </div>
    </div>

    <div className="iop-card" data-field="user-feedback">
      <div className="iop-trunk" />

      <div className="iop-hub">
        <div className="iop-hub-tag">Appended later</div>
        <div className="iop-hub-title">User feedback</div>
        <div className="iop-hub-desc">Any feedback provided by users, whether structured ratings or free-text comments.</div>
        <a className="iop-hub-link" href="/specification/user-feedback">Read the field reference</a>
      </div>

      <div className="iop-branches">
        <div className="iop-branch" data-std="uscdi">
          <div className="iop-panel">
            <div className="iop-panel-head"><span className="iop-swatch" />USCDI</div>

            <div className="iop-chips">
              <span className="iop-chip iop-chip-none">No direct counterpart</span>
            </div>

            <div className="iop-note">No direct counterpart for AI-specific feedback; clinical assessment data are not automatically equivalent to feedback on an AI interaction.</div>
          </div>
        </div>

        <div className="iop-branch" data-std="fhir">
          <div className="iop-panel">
            <div className="iop-panel-head"><span className="iop-swatch" />FHIR R5</div>

            <div className="iop-chips">
              <a className="iop-chip" href="https://hl7.org/fhir/R5/questionnaireresponse.html" target="_blank" rel="noreferrer">QuestionnaireResponse</a>
            </div>

            <div className="iop-note"><code>QuestionnaireResponse</code> can represent feedback collected through a defined questionnaire. Its author, subject, encounter, and questionnaire linkage can provide additional context where applicable. Other ratings or comments can remain in a linked MedLog payload. Preserve the feedback instrument and version, respondent attribution, and explicit linkage to the invocation or output.</div>
          </div>
        </div>

        <div className="iop-branch" data-std="otel">
          <div className="iop-panel">
            <div className="iop-panel-head"><span className="iop-swatch" />OpenTelemetry</div>

            <div className="iop-chips">
              <a className="iop-chip iop-chip-medlog" href="/specification/user-feedback">medlog.feedback.\*</a>
              <a className="iop-chip" href="https://opentelemetry.io/docs/specs/semconv/registry/attributes/gen-ai/#gen-ai-evaluation-name" target="_blank" rel="noreferrer">gen\_ai.evaluation.name</a>
              <a className="iop-chip" href="https://opentelemetry.io/docs/specs/semconv/registry/attributes/gen-ai/#gen-ai-evaluation-score-value" target="_blank" rel="noreferrer">gen\_ai.evaluation.score.value</a>
              <a className="iop-chip" href="https://opentelemetry.io/docs/specs/semconv/registry/attributes/gen-ai/#gen-ai-evaluation-score-label" target="_blank" rel="noreferrer">gen\_ai.evaluation.score.label</a>
            </div>

            <div className="iop-note">Preserve feedback in <code>medlog.feedback.\*</code>. Feedback explicitly evaluating a generative-AI response can additionally use <code>gen\_ai.evaluation.name</code> together with <code>gen\_ai.evaluation.score.value</code> or <code>gen\_ai.evaluation.score.label</code> where applicable. General comments should not be converted into an artificial score.</div>
          </div>
        </div>
      </div>
    </div>
  </div>

  <div className="iop-legend">
    <span className="iop-legend-item iop-legend-uscdi"><span className="iop-swatch" />USCDI data classes and elements</span>
    <span className="iop-legend-item iop-legend-fhir"><span className="iop-swatch" />FHIR R5 resources and elements</span>
    <span className="iop-legend-item iop-legend-otel"><span className="iop-swatch" />OpenTelemetry attributes</span>
    <span className="iop-legend-item iop-legend-medlog"><span className="iop-swatch" />MedLog-specific attributes</span>
  </div>
</div>

## How to read this map

USCDI entries identify **related data concepts** rather than exact equivalents or an audit-event schema.
FHIR examples use [Release 5 (5.0.0)](https://hl7.org/fhir/R5/). OpenTelemetry mappings are conditional
on matching semantics, available source information, and capture policy.

The `medlog.*` namespace denotes MedLog-specific attributes for concepts not captured by existing
semantic conventions. **These derived attributes do not replace the canonical MedLog payload** — they
make a MedLog record legible to tooling that already speaks these standards.

<Note>
  A mapping is only appropriate when the semantics genuinely match. Several fields have no direct
  counterpart in USCDI, and reusing an attribute whose meaning differs — for example, recording a
  patient who is the subject of a prediction as an application `user.id` — produces records that look
  standards-compliant but describe something that did not happen.
</Note>
