{
  "resourceType": "StructureDefinition",
  "url": "http://example.org/fhir/StructureDefinition/Provenance_KR_PHR",
  "name": "Provenance_KR_PHR",
  "status": "draft",
  "fhirVersion": "3.0.2",
  "mapping": [
    {
      "identity": "rim",
      "uri": "http://hl7.org/v3",
      "name": "RIM Mapping"
    },
    {
      "identity": "w3c.prov",
      "uri": "http://www.w3.org/ns/prov",
      "name": "W3C PROV"
    },
    {
      "identity": "w5",
      "uri": "http://hl7.org/fhir/w5",
      "name": "W5 Mapping"
    },
    {
      "identity": "fhirauditevent",
      "uri": "http://hl7.org/fhir/auditevent",
      "name": "FHIR AuditEvent"
    }
  ],
  "kind": "resource",
  "abstract": false,
  "type": "Provenance",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Provenance",
  "derivation": "constraint",
  "snapshot": {
    "element": [
      {
        "id": "Provenance",
        "path": "Provenance",
        "short": "리소스 집합의 출처 (사용자, 용도, 시기)",
        "definition": "리소스의 출처는 리소스의 생산과 제공 또는 그 밖의 영향을 미치는 기관과 프로세스를 기술하는 기록임. 출처는 진정성을 평가하고, 신뢰를 활성화하며, 재현을 위한 기반을 제공함. 출처 결과 (provenance assertion)는 메타데이터로서 자신의 출처에 대한 중요한 기록이 될 수 있음. 출처 증명서(Provenance statement)는 신뢰도, 신뢰성, 무결성 및 라이프사이클의 단계(예: 문서 완료 - 인공물이 법적으로 인증되었음)의 측면에서 임상적 중요성을 나타내며, 보안, 프라이버시 및 신뢰 정책에 영향을 미칠 수 있음.",
        "comment": "Some parties may be duplicated between the target resource and its provenance.  For instance, the prescriber is usually (but not always) the author of the prescription resource. This resource is defined with close consideration for W3C Provenance.",
        "alias": [
          "History",
          "Event",
          "Activity"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "Resource",
          "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-1",
            "severity": "error",
            "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
            "expression": "contained.text.empty()",
            "xpath": "not(parent::f:contained and f:text)",
            "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-3",
            "severity": "error",
            "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
            "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
            "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
            "source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "Entity. Role, or Act"
          },
          {
            "identity": "rim",
            "map": "ControlAct[isNormalAct() and subsumes(CACT, classCode) and moodCode=EVN]"
          },
          {
            "identity": "w3c.prov",
            "map": "Activity"
          },
          {
            "identity": "w5",
            "map": "infrastructure.information"
          }
        ]
      },
      {
        "id": "Provenance.id",
        "path": "Provenance.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": "id"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Provenance.meta",
        "path": "Provenance.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 may 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"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Provenance.implicitRules",
        "path": "Provenance.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.",
        "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. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Resource.implicitRules",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "uri"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div"
          }
        ],
        "isModifier": true,
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Provenance.language",
        "path": "Provenance.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"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div"
          }
        ],
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
              "valueReference": {
                "reference": "http://hl7.org/fhir/ValueSet/all-languages"
              }
            },
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "Language"
            }
          ],
          "strength": "extensible",
          "description": "A human language.",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/languages"
          }
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Provenance.text",
        "path": "Provenance.text",
        "short": "Text summary of the resource, for human interpretation",
        "definition": "A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
        "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 in formation is added later.",
        "alias": [
          "narrative",
          "html",
          "xhtml",
          "display"
        ],
        "min": 0,
        "max": "1",
        "base": {
          "path": "DomainResource.text",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Narrative"
          }
        ],
        "condition": [
          "ele-1",
          "dom-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "N/A"
          },
          {
            "identity": "rim",
            "map": "Act.text?"
          }
        ]
      },
      {
        "id": "Provenance.contained",
        "path": "Provenance.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.",
        "alias": [
          "inline resources",
          "anonymous resources",
          "contained resources"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "DomainResource.contained",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Resource"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "Entity. Role, or Act"
          },
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Provenance.extension",
        "path": "Provenance.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 resource. In order 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.",
        "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"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          },
          {
            "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"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Provenance.modifierExtension",
        "path": "Provenance.modifierExtension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "description": "Extensions are always sliced by (at least) url",
          "rules": "open"
        },
        "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. Usually modifier elements provide negation or qualification. In order 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.",
        "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.modifierExtension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          },
          {
            "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,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Provenance.target",
        "path": "Provenance.target",
        "short": "출처에 대한 참조 (레퍼런스)",
        "definition": "리소스에 설명된 활동에 의해 생성되거나 업데이트된 레퍼런스. 여러 개의 리소스가 동일한 활동에 의해 생성/업데이트된 경우 출처는 한개 이상의 대상을 가리킬 수 있음.",
        "comment": "Target references are usually version specific, but may not be, if a version has not been assigned or if the provenance information is part of the set of resources being maintained (i.e. a document). When using the RESTful API, the identity of the resource may not be known (especially not the version specific one); the client may either submit the resource first, and then the provenance, or it may submit both using a single transaction. See the notes on transaction for further discussion.",
        "min": 1,
        "max": "*",
        "base": {
          "path": "Provenance.target",
          "min": 1,
          "max": "*"
        },
        "type": [
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Reference"
          },
          {
            "key": "ref-1",
            "severity": "error",
            "human": "SHALL have a contained resource if a local reference is provided",
            "expression": "reference.exists() implies (reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) or (reference='#' and %rootResource!=%resource))",
            "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])",
            "source": "http://hl7.org/fhir/StructureDefinition/Reference"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)"
          },
          {
            "identity": "rim",
            "map": "./outboundRelationship[isNormalActRelationship() and typeCode=SUBJ]/target  OR  ./participation[isNormalParticipation() and typeCode=SBJ]/role  OR  ./participation[isNormalParticipation() and typeCode=SBJ]/role[isNormalRole()]/player"
          },
          {
            "identity": "fhirauditevent",
            "map": "AuditEvent.entity.reference"
          },
          {
            "identity": "w3c.prov",
            "map": "Entity Created/Updated"
          },
          {
            "identity": "w5",
            "map": "what"
          }
        ]
      },
      {
        "id": "Provenance.period",
        "path": "Provenance.period",
        "short": "활동이 발생한 시기",
        "definition": "활동이 발생한 시기.",
        "comment": "The period can be a little arbitrary; where possible, the time should correspond to human assessment of the activity time.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Provenance.period",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Period"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Period"
          },
          {
            "key": "per-1",
            "severity": "error",
            "human": "If present, start SHALL have a lower value than end",
            "expression": "start.empty() or end.empty() or (start <= end)",
            "xpath": "not(exists(f:start)) or not(exists(f:end)) or (f:start/@value <= f:end/@value)",
            "source": "http://hl7.org/fhir/StructureDefinition/Period"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "DR"
          },
          {
            "identity": "rim",
            "map": "IVL<TS>[lowClosed=\"true\" and highClosed=\"true\"] or URG<TS>[lowClosed=\"true\" and highClosed=\"true\"]"
          },
          {
            "identity": "rim",
            "map": "./effectiveTime[type=IVL_TS]"
          },
          {
            "identity": "w3c.prov",
            "map": "Activity.startTime & Activity.endTime"
          },
          {
            "identity": "w5",
            "map": "when.done"
          }
        ]
      },
      {
        "id": "Provenance.recorded",
        "path": "Provenance.recorded",
        "short": "활동이 기록/업데이트된 시기",
        "definition": "활동이 기록/업데이트된 시기.",
        "comment": "This can be a little different from the time stamp on the resource if there is a delay between recording the event and updating the provenance and target resource.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Provenance.recorded",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "instant"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "unique(./participation[isNormalParticipation() and typeCode=AUT]/time[type=TS])"
          },
          {
            "identity": "fhirauditevent",
            "map": "AuditEvent.recorded"
          },
          {
            "identity": "w3c.prov",
            "map": "Activity.when"
          },
          {
            "identity": "w5",
            "map": "when.recorded"
          }
        ]
      },
      {
        "id": "Provenance.policy",
        "path": "Provenance.policy",
        "short": "활동을 정의하는 계획 또는 정책",
        "definition": "활동을 정의하는 계획 또는 정책. 일반적으로 단일 활동에는 환자 동의, 보증인 자금 지원 등과 같은 여러 개의 적용 가능한 정책 문서가 있을 수 있음.",
        "comment": "For example: Where an OAuth token authorizes, the unique identifier from the OAuth token is placed into the policy element Where a policy engine (e.g. XACML) holds policy logic, the unique policy identifier is placed into the policy element.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Provenance.policy",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "uri"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "./inboundRelationship[isNormalActRelationship() and typeCode=\"SUBJ\"]/source[isNormalAct and subsumes(POLICY, classCode) and moodCode=EVN]/text[typeCode='ED'/tel"
          },
          {
            "identity": "fhirauditevent",
            "map": "AuditEvent.agent.policy"
          }
        ]
      },
      {
        "id": "Provenance.location",
        "path": "Provenance.location",
        "short": "활동이 일어난 곳",
        "definition": "활동이 일어난 곳.",
        "comment": "References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Provenance.location",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Reference"
          },
          {
            "key": "ref-1",
            "severity": "error",
            "human": "SHALL have a contained resource if a local reference is provided",
            "expression": "reference.exists() implies (reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) or (reference='#' and %rootResource!=%resource))",
            "xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])",
            "source": "http://hl7.org/fhir/StructureDefinition/Reference"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)"
          },
          {
            "identity": "rim",
            "map": "unique(./participation[isNormalParticipation() and typeCode=LOC]/role[isNormalRole() and subsumes(SDLOC, classCode)]/player[isNormalEntity and classCode=\"LOC\" and determinerCode=\"INST\"]"
          },
          {
            "identity": "fhirauditevent",
            "map": "AuditEvent.agent.location"
          },
          {
            "identity": "w3c.prov",
            "map": "Activity.location"
          },
          {
            "identity": "w5",
            "map": "where"
          }
        ]
      },
      {
        "id": "Provenance.reason",
        "path": "Provenance.reason",
        "short": "활동의 이유",
        "definition": "활동의 이유.",
        "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.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Provenance.reason",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Coding"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div"
          }
        ],
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "ProvenanceReason"
            }
          ],
          "strength": "extensible",
          "description": "The reason the activity took place.",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/v3-PurposeOfUse"
          }
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "CE/CNE/CWE subset one of the sets of component 1-3 or 4-6"
          },
          {
            "identity": "rim",
            "map": "CV"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding rdfs:subClassOf dt:CDCoding"
          },
          {
            "identity": "rim",
            "map": "unique(./reasonCode)"
          },
          {
            "identity": "fhirauditevent",
            "map": "AuditEvent.purposeOfEvent"
          },
          {
            "identity": "w3c.prov",
            "map": "Activity.Activity"
          },
          {
            "identity": "w5",
            "map": "why"
          }
        ]
      },
      {
        "id": "Provenance.activity",
        "path": "Provenance.activity",
        "short": "발생한 활동",
        "definition": "활동은 일정 기간에 걸쳐 발생하며 특정 대상에 작용하는 것으로, 대상을 소비, 처리, 변형, 수정, 재배치, 사용 또는 생성하는 것을 포함할 수 있음.",
        "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.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Provenance.activity",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Coding"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div"
          }
        ],
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "ProvenanceActivity"
            }
          ],
          "strength": "extensible",
          "description": "The activity that took place.",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/provenance-activity-type"
          }
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "CE/CNE/CWE subset one of the sets of component 1-3 or 4-6"
          },
          {
            "identity": "rim",
            "map": "CV"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding rdfs:subClassOf dt:CDCoding"
          },
          {
            "identity": "rim",
            "map": "Act.code"
          },
          {
            "identity": "fhirauditevent",
            "map": "AuditEvent.purposeOfEvent"
          },
          {
            "identity": "w3c.prov",
            "map": "Activity.Activity"
          },
          {
            "identity": "w5",
            "map": "why"
          }
        ]
      },
      {
        "id": "Provenance.agent",
        "path": "Provenance.agent",
        "short": "활동 수행자",
        "definition": "수행되는 활동에 대해 어느 정도 책임을 부여할 수 있는 역할 수행자.",
        "comment": "Several agents may be associated (i.e. has some responsibility for an activity) with an activity and vice-versa.",
        "requirements": "An agent can be a person, an organization, software, device, or other entities that may be ascribed responsibility.",
        "min": 1,
        "max": "*",
        "base": {
          "path": "Provenance.agent",
          "min": 1,
          "max": "*"
        },
        "type": [
          {
            "code": "BackboneElement"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "./participation[isNormalParticipation()]  OR  ./outboundRelationship[isNormalActRelationship() and typeCode='DRIV']"
          },
          {
            "identity": "fhirauditevent",
            "map": "AuditEvent.agent"
          },
          {
            "identity": "w3c.prov",
            "map": "Agent"
          },
          {
            "identity": "w5",
            "map": "who"
          }
        ]
      },
      {
        "id": "Provenance.agent.id",
        "path": "Provenance.agent.id",
        "representation": [
          "xmlAttr"
        ],
        "short": "xml:id (or equivalent in JSON)",
        "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
        "comment": "Note that FHIR strings may not exceed 1MB in size",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Element.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Provenance.agent.extension",
        "path": "Provenance.agent.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. In order 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.",
        "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"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          },
          {
            "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"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Provenance.agent.modifierExtension",
        "path": "Provenance.agent.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 element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order 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.",
        "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",
          "modifiers"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "BackboneElement.modifierExtension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          },
          {
            "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,
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Provenance.agent.role",
        "path": "Provenance.agent.role",
        "short": "수행자의 역할",
        "definition": "활동과 관련된 수행자의 기능. 수행자가 활동을 실행할 수 있도록 해주는 보안 역할.",
        "comment": "For example: author, performer, enterer, attester, doctor, nurse, clerk, etc.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Provenance.agent.role",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "ProvenanceAgentRole"
            }
          ],
          "strength": "extensible",
          "description": "The role that a provenance agent played with respect to the activity.",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/security-role-type"
          }
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "CE/CNE/CWE"
          },
          {
            "identity": "rim",
            "map": "CD"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
          },
          {
            "identity": "rim",
            "map": ".role and/or .typecode"
          },
          {
            "identity": "fhirauditevent",
            "map": "AuditEvent.agent.role"
          },
          {
            "identity": "w3c.prov",
            "map": "Agent.Attribution"
          }
        ]
      },
      {
        "id": "Provenance.agent.who[x]",
        "path": "Provenance.agent.who[x]",
        "short": "참여자",
        "definition": "이벤트/활동에 참여한 개인, 장치 또는 조직",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Provenance.agent.who[x]",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "uri"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": ".id"
          },
          {
            "identity": "w5",
            "map": "who.actor"
          }
        ]
      },
      {
        "id": "Provenance.agent.onBehalfOf[x]",
        "path": "Provenance.agent.onBehalfOf[x]",
        "short": "수행자가 대신하는 사람/조직/장치",
        "definition": "수행자가 대신하는 사람/조직/장치.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Provenance.agent.onBehalfOf[x]",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "uri"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "Person, Practitioner, Organization, Device :* .role [classCode = RoleClassMutualRelationship; role.code and * .scopes[Role](classCode=IDENT) and *.plays [Role.Code]"
          }
        ]
      },
      {
        "id": "Provenance.agent.relatedAgentType",
        "path": "Provenance.agent.relatedAgentType",
        "short": "수행자 사이의 관계",
        "definition": "수행자 사이의 관계.",
        "comment": "Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Provenance.agent.relatedAgentType",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div"
          }
        ],
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "RelatedAgentType"
            }
          ],
          "strength": "example",
          "description": "Type of relationship between two provenance agents.",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/v3-RoleLinkType"
          }
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "CE/CNE/CWE"
          },
          {
            "identity": "rim",
            "map": "CD"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
          },
          {
            "identity": "rim",
            "map": ".typeCode"
          },
          {
            "identity": "w3c.prov",
            "map": "type"
          }
        ]
      },
      {
        "id": "Provenance.entity",
        "path": "Provenance.entity",
        "short": "이 활동에 사용된 상대 (entity)",
        "definition": "이 활동에 사용된 상대 (entity).",
        "comment": "Multiple userIds may be associated with the same Practitioner or other individual across various appearances, each with distinct privileges.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Provenance.entity",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "BackboneElement"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "./subjectOf"
          },
          {
            "identity": "fhirauditevent",
            "map": "AuditEvent.entity"
          },
          {
            "identity": "w3c.prov",
            "map": "Entity"
          }
        ]
      },
      {
        "id": "Provenance.entity.id",
        "path": "Provenance.entity.id",
        "representation": [
          "xmlAttr"
        ],
        "short": "xml:id (or equivalent in JSON)",
        "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
        "comment": "Note that FHIR strings may not exceed 1MB in size",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Element.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Provenance.entity.extension",
        "path": "Provenance.entity.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. In order 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.",
        "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"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          },
          {
            "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"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Provenance.entity.modifierExtension",
        "path": "Provenance.entity.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 element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order 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.",
        "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",
          "modifiers"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "BackboneElement.modifierExtension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          },
          {
            "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,
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Provenance.entity.role",
        "path": "Provenance.entity.role",
        "short": "파생 | 수정 | 인용 | 출처 | 제거",
        "definition": "활동 중에 상대 (entity)가 사용된 방법.",
        "comment": "Note that FHIR strings may not exceed 1MB in size",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Provenance.entity.role",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "ProvenanceEntityRole"
            }
          ],
          "strength": "required",
          "description": "How an entity was used in an activity.",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/provenance-entity-role"
          }
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "./typeCode"
          },
          {
            "identity": "fhirauditevent",
            "map": "AuditEvent.entity.lifecycle"
          },
          {
            "identity": "w3c.prov",
            "map": "Entity.role"
          }
        ]
      },
      {
        "id": "Provenance.entity.what[x]",
        "path": "Provenance.entity.what[x]",
        "short": "entity의 정체",
        "definition": "entity의 정체. logical or physical uri 일 수 있으며 절대치이거나 상대치일 수 있음.",
        "comment": "Identity may be a reference to a resource or to something else, depending on the type.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Provenance.entity.what[x]",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "uri"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
          },
          {
            "code": "Identifier"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "./text/reference"
          },
          {
            "identity": "fhirauditevent",
            "map": "AuditEvent.entity.reference"
          },
          {
            "identity": "w3c.prov",
            "map": "Entity.Identity"
          }
        ]
      },
      {
        "id": "Provenance.entity.agent",
        "path": "Provenance.entity.agent",
        "short": "수행자에게 귀속된 entity",
        "definition": "entity는 그 entity에 대한 수행자의 책임을 표현하기 위해 수행자에게 귀속됨. 수행자는 entity를 만든 활동에 대한 책임이 있다고 이해할 수 있음.",
        "comment": "A usecase where one Provenance.entity.agent is used where the Entity that was used in the creation/updating of the Target, is not in the context of the same custodianship as the Target, and thus the meaning of Provenance.entity.agent is to say that the entity referenced is managed elsewhere and that this Agent provided access to it.  This would be similar to where the Entity being referenced is managed outside FHIR, such as through HL7 v2, v3, or XDS. This might be where the Entity being referenced is managed in another FHIR resource server. Thus it explains the Provenance of that Entity's use in the context of this Provenance activity.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Provenance.entity.agent",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "BackboneElement"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "./author/role"
          }
        ]
      },
      {
        "id": "Provenance.entity.agent.id",
        "path": "Provenance.entity.agent.id",
        "representation": [
          "xmlAttr"
        ],
        "short": "xml:id (or equivalent in JSON)",
        "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
        "comment": "Note that FHIR strings may not exceed 1MB in size",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Element.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Provenance.entity.agent.extension",
        "path": "Provenance.entity.agent.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. In order 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.",
        "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"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          },
          {
            "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"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Provenance.entity.agent.modifierExtension",
        "path": "Provenance.entity.agent.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 element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order 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.",
        "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",
          "modifiers"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "BackboneElement.modifierExtension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          },
          {
            "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,
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Provenance.entity.agent.role",
        "path": "Provenance.entity.agent.role",
        "short": "수행자의 역할",
        "definition": "활동과 관련된 수행자의 기능. 수행자가 활동을 실행할 수 있도록 해주는 보안 역할.",
        "comment": "For example: author, performer, enterer, attester, doctor, nurse, clerk, etc.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Provenance.agent.role",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "ProvenanceAgentRole"
            }
          ],
          "strength": "extensible",
          "description": "The role that a provenance agent played with respect to the activity.",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/security-role-type"
          }
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "CE/CNE/CWE"
          },
          {
            "identity": "rim",
            "map": "CD"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
          },
          {
            "identity": "rim",
            "map": ".role and/or .typecode"
          },
          {
            "identity": "fhirauditevent",
            "map": "AuditEvent.agent.role"
          },
          {
            "identity": "w3c.prov",
            "map": "Agent.Attribution"
          }
        ]
      },
      {
        "id": "Provenance.entity.agent.who[x]",
        "path": "Provenance.entity.agent.who[x]",
        "short": "참여자",
        "definition": "이벤트/활동에 참여한 개인, 장치 또는 조직",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Provenance.agent.who[x]",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "uri"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": ".id"
          },
          {
            "identity": "w5",
            "map": "who.actor"
          }
        ]
      },
      {
        "id": "Provenance.entity.agent.onBehalfOf[x]",
        "path": "Provenance.entity.agent.onBehalfOf[x]",
        "short": "수행자가 대신하는 사람/조직/장치",
        "definition": "수행자가 대신하는 사람/조직/장치.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Provenance.agent.onBehalfOf[x]",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "uri"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "Person, Practitioner, Organization, Device :* .role [classCode = RoleClassMutualRelationship; role.code and * .scopes[Role](classCode=IDENT) and *.plays [Role.Code]"
          }
        ]
      },
      {
        "id": "Provenance.entity.agent.relatedAgentType",
        "path": "Provenance.entity.agent.relatedAgentType",
        "short": "수행자 사이의 관계",
        "definition": "수행자 사이의 관계.",
        "comment": "Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Provenance.agent.relatedAgentType",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div"
          }
        ],
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "RelatedAgentType"
            }
          ],
          "strength": "example",
          "description": "Type of relationship between two provenance agents.",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/v3-RoleLinkType"
          }
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "CE/CNE/CWE"
          },
          {
            "identity": "rim",
            "map": "CD"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
          },
          {
            "identity": "rim",
            "map": ".typeCode"
          },
          {
            "identity": "w3c.prov",
            "map": "type"
          }
        ]
      },
      {
        "id": "Provenance.signature",
        "path": "Provenance.signature",
        "short": "대상에 대한 디지털 서명",
        "definition": "대상 참조의 디지털 서명. 서명자는 출처의 수행자 (provenance.agent)와 일치해야 함. 서명 목적이 표시되어야 함.",
        "comment": "The elements of the Signature Resource are for ease of access of these elements. Foro digital signatures (Xml DigSig, JWT), the non-repudiation proof comes from the Signature  validation, which includes validation of the referenced objects (e.g. Resources) (a.k.a., Content) in the XML-Signature Detached form.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Provenance.signature",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Signature"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "N/A"
          },
          {
            "identity": "rim",
            "map": "./signatureText"
          }
        ]
      },
      {
        "id": "Provenance.signature.id",
        "path": "Provenance.signature.id",
        "representation": [
          "xmlAttr"
        ],
        "short": "xml:id (or equivalent in JSON)",
        "definition": "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
        "comment": "Note that FHIR strings may not exceed 1MB in size",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Element.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Provenance.signature.extension",
        "path": "Provenance.signature.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. In order 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.",
        "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"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          },
          {
            "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"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "Provenance.signature.type",
        "path": "Provenance.signature.type",
        "short": "디지털 서명의 이유",
        "definition": "entity가 이 문서에 서명한 이유에 대한 표시. 이는 서명 정보의 일부로 명시적으로 포함될 수 있으며, 문서에 관한 다양한 조치에 대한 책임을 결정할 때 사용할 수 있음.",
        "comment": "Examples include attesting to: authorship, correct transcription, and witness of specific event. Also known as a &quot;Commitment Type Indication&quot;.",
        "min": 1,
        "max": "*",
        "base": {
          "path": "Signature.type",
          "min": 1,
          "max": "*"
        },
        "type": [
          {
            "code": "Coding"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "SignatureType"
            }
          ],
          "strength": "preferred",
          "description": "An indication of the reason that an entity signed the object",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/signature-type"
          }
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          },
          {
            "identity": "v2",
            "map": "CE/CNE/CWE subset one of the sets of component 1-3 or 4-6"
          },
          {
            "identity": "rim",
            "map": "CV"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding rdfs:subClassOf dt:CDCoding"
          }
        ]
      },
      {
        "id": "Provenance.signature.when",
        "path": "Provenance.signature.when",
        "short": "디지털 서명의 시간",
        "definition": "디지털 서명의 시간.",
        "comment": "This should agree with the information in the signature.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Signature.when",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "instant"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Provenance.signature.who[x]",
        "path": "Provenance.signature.who[x]",
        "short": "서명자",
        "definition": "서명자에 대한 설명을 포함한 참조 (예: 서명시 private key를 활용함).",
        "comment": "This should agree with the information in the signature.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Signature.who[x]",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "uri"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Provenance.signature.onBehalfOf[x]",
        "path": "Provenance.signature.onBehalfOf[x]",
        "short": "서명이 대표하는 사람/기관",
        "definition": "서명이 대표하는 사람/기관에 대한 설명을 포함한 참조.",
        "comment": "The party that can't sign. For example a child.",
        "requirements": "used when the signature is on behalf of a non-signer.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Signature.onBehalfOf[x]",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "uri"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
          },
          {
            "code": "Reference",
            "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Provenance.signature.contentType",
        "path": "Provenance.signature.contentType",
        "short": "서명의 기술적 형식",
        "definition": "서명의 기술 형식을 나타내는 mime 유형. 중요한 Mime 유형은 X ML DigSig의 애플리케이션/signature+xml, JWT의 애플리케이션/jwt, 시그니처의 그래픽 이미지용 이미지/* 등임.",
        "comment": "Note that FHIR strings may not exceed 1MB in size",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Signature.contentType",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "MimeType"
            }
          ],
          "strength": "required",
          "description": "The mime type of an attachment. Any valid mime type is allowed.",
          "valueSetUri": "http://www.rfc-editor.org/bcp/bcp13.txt"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Provenance.signature.blob",
        "path": "Provenance.signature.blob",
        "short": "실제 서명 내용(XML DigSig. JWT, picture, etc.)",
        "definition": "서명 내용의 base64 인코딩. 서명이 전자적으로 기록되지 않을 때 이 항목은 비어 있음.",
        "comment": "Where the signature type is an XML DigSig, the signed content is a FHIR Resource(s), the signature is of the XML form of the Resource(s) using  XML-Signature (XMLDIG) \"Detached Signature\" form.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Signature.blob",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "base64Binary"
          }
        ],
        "condition": [
          "ele-1"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() | (children().count() > id.count())",
            "xpath": "@value|f:*|h:div"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      }
    ]
  },
  "differential": {
    "element": [
      {
        "id": "Provenance",
        "path": "Provenance",
        "short": "리소스 집합의 출처 (사용자, 용도, 시기)",
        "definition": "리소스의 출처는 리소스의 생산과 제공 또는 그 밖의 영향을 미치는 기관과 프로세스를 기술하는 기록임. 출처는 진정성을 평가하고, 신뢰를 활성화하며, 재현을 위한 기반을 제공함. 출처 결과 (provenance assertion)는 메타데이터로서 자신의 출처에 대한 중요한 기록이 될 수 있음. 출처 증명서(Provenance statement)는 신뢰도, 신뢰성, 무결성 및 라이프사이클의 단계(예: 문서 완료 - 인공물이 법적으로 인증되었음)의 측면에서 임상적 중요성을 나타내며, 보안, 프라이버시 및 신뢰 정책에 영향을 미칠 수 있음."
      },
      {
        "id": "Provenance.target",
        "path": "Provenance.target",
        "short": "출처에 대한 참조 (레퍼런스)",
        "definition": "리소스에 설명된 활동에 의해 생성되거나 업데이트된 레퍼런스. 여러 개의 리소스가 동일한 활동에 의해 생성/업데이트된 경우 출처는 한개 이상의 대상을 가리킬 수 있음."
      },
      {
        "id": "Provenance.period",
        "path": "Provenance.period",
        "short": "활동이 발생한 시기",
        "definition": "활동이 발생한 시기."
      },
      {
        "id": "Provenance.recorded",
        "path": "Provenance.recorded",
        "short": "활동이 기록/업데이트된 시기",
        "definition": "활동이 기록/업데이트된 시기."
      },
      {
        "id": "Provenance.policy",
        "path": "Provenance.policy",
        "short": "활동을 정의하는 계획 또는 정책",
        "definition": "활동을 정의하는 계획 또는 정책. 일반적으로 단일 활동에는 환자 동의, 보증인 자금 지원 등과 같은 여러 개의 적용 가능한 정책 문서가 있을 수 있음."
      },
      {
        "id": "Provenance.location",
        "path": "Provenance.location",
        "short": "활동이 일어난 곳",
        "definition": "활동이 일어난 곳."
      },
      {
        "id": "Provenance.reason",
        "path": "Provenance.reason",
        "short": "활동의 이유",
        "definition": "활동의 이유."
      },
      {
        "id": "Provenance.activity",
        "path": "Provenance.activity",
        "short": "발생한 활동",
        "definition": "활동은 일정 기간에 걸쳐 발생하며 특정 대상에 작용하는 것으로, 대상을 소비, 처리, 변형, 수정, 재배치, 사용 또는 생성하는 것을 포함할 수 있음."
      },
      {
        "id": "Provenance.agent",
        "path": "Provenance.agent",
        "short": "활동 수행자",
        "definition": "수행되는 활동에 대해 어느 정도 책임을 부여할 수 있는 역할 수행자."
      },
      {
        "id": "Provenance.agent.role",
        "path": "Provenance.agent.role",
        "short": "수행자의 역할",
        "definition": "활동과 관련된 수행자의 기능. 수행자가 활동을 실행할 수 있도록 해주는 보안 역할."
      },
      {
        "id": "Provenance.agent.who[x]",
        "path": "Provenance.agent.who[x]",
        "short": "참여자",
        "definition": "이벤트/활동에 참여한 개인, 장치 또는 조직"
      },
      {
        "id": "Provenance.agent.onBehalfOf[x]",
        "path": "Provenance.agent.onBehalfOf[x]",
        "short": "수행자가 대신하는 사람/조직/장치",
        "definition": "수행자가 대신하는 사람/조직/장치."
      },
      {
        "id": "Provenance.agent.relatedAgentType",
        "path": "Provenance.agent.relatedAgentType",
        "short": "수행자 사이의 관계",
        "definition": "수행자 사이의 관계."
      },
      {
        "id": "Provenance.entity",
        "path": "Provenance.entity",
        "short": "이 활동에 사용된 상대 (entity)",
        "definition": "이 활동에 사용된 상대 (entity)."
      },
      {
        "id": "Provenance.entity.role",
        "path": "Provenance.entity.role",
        "short": "파생 | 수정 | 인용 | 출처 | 제거",
        "definition": "활동 중에 상대 (entity)가 사용된 방법."
      },
      {
        "id": "Provenance.entity.what[x]",
        "path": "Provenance.entity.what[x]",
        "short": "entity의 정체",
        "definition": "entity의 정체. logical or physical uri 일 수 있으며 절대치이거나 상대치일 수 있음."
      },
      {
        "id": "Provenance.entity.agent",
        "path": "Provenance.entity.agent",
        "short": "수행자에게 귀속된 entity",
        "definition": "entity는 그 entity에 대한 수행자의 책임을 표현하기 위해 수행자에게 귀속됨. 수행자는 entity를 만든 활동에 대한 책임이 있다고 이해할 수 있음."
      },
      {
        "id": "Provenance.entity.agent.role",
        "path": "Provenance.entity.agent.role",
        "short": "수행자의 역할",
        "definition": "활동과 관련된 수행자의 기능. 수행자가 활동을 실행할 수 있도록 해주는 보안 역할."
      },
      {
        "id": "Provenance.entity.agent.who[x]",
        "path": "Provenance.entity.agent.who[x]",
        "short": "참여자",
        "definition": "이벤트/활동에 참여한 개인, 장치 또는 조직"
      },
      {
        "id": "Provenance.entity.agent.onBehalfOf[x]",
        "path": "Provenance.entity.agent.onBehalfOf[x]",
        "short": "수행자가 대신하는 사람/조직/장치",
        "definition": "수행자가 대신하는 사람/조직/장치."
      },
      {
        "id": "Provenance.entity.agent.relatedAgentType",
        "path": "Provenance.entity.agent.relatedAgentType",
        "short": "수행자 사이의 관계",
        "definition": "수행자 사이의 관계."
      },
      {
        "id": "Provenance.signature",
        "path": "Provenance.signature",
        "short": "대상에 대한 디지털 서명",
        "definition": "대상 참조의 디지털 서명. 서명자는 출처의 수행자 (provenance.agent)와 일치해야 함. 서명 목적이 표시되어야 함."
      },
      {
        "id": "Provenance.signature.type",
        "path": "Provenance.signature.type",
        "short": "디지털 서명의 이유",
        "definition": "entity가 이 문서에 서명한 이유에 대한 표시. 이는 서명 정보의 일부로 명시적으로 포함될 수 있으며, 문서에 관한 다양한 조치에 대한 책임을 결정할 때 사용할 수 있음."
      },
      {
        "id": "Provenance.signature.when",
        "path": "Provenance.signature.when",
        "short": "디지털 서명의 시간",
        "definition": "디지털 서명의 시간."
      },
      {
        "id": "Provenance.signature.who[x]",
        "path": "Provenance.signature.who[x]",
        "short": "서명자",
        "definition": "서명자에 대한 설명을 포함한 참조 (예: 서명시 private key를 활용함)."
      },
      {
        "id": "Provenance.signature.onBehalfOf[x]",
        "path": "Provenance.signature.onBehalfOf[x]",
        "short": "서명이 대표하는 사람/기관",
        "definition": "서명이 대표하는 사람/기관에 대한 설명을 포함한 참조."
      },
      {
        "id": "Provenance.signature.contentType",
        "path": "Provenance.signature.contentType",
        "short": "서명의 기술적 형식",
        "definition": "서명의 기술 형식을 나타내는 mime 유형. 중요한 Mime 유형은 X ML DigSig의 애플리케이션/signature+xml, JWT의 애플리케이션/jwt, 시그니처의 그래픽 이미지용 이미지/* 등임."
      },
      {
        "id": "Provenance.signature.blob",
        "path": "Provenance.signature.blob",
        "short": "실제 서명 내용(XML DigSig. JWT, picture, etc.)",
        "definition": "서명 내용의 base64 인코딩. 서명이 전자적으로 기록되지 않을 때 이 항목은 비어 있음."
      }
    ]
  }
}