{
  "resourceType": "StructureDefinition",
  "id": "Appointment",
  "meta": {
    "lastUpdated": "2019-10-31T22:29:23.356+00:00"
  },
  "extension": [
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-category",
      "valueString": "Base.Workflow"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
      "valueCode": "trial-use"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
      "valueInteger": 3
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-security-category",
      "valueCode": "patient"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
      "valueCode": "pa"
    }
  ],
  "url": "http://hl7.org/fhir/StructureDefinition/Appointment",
  "version": "4.0.1",
  "name": "KR_Appointment",
  "status": "draft",
  "date": "2019-10-31T22:29:23+00:00",
  "publisher": "Health Level Seven International (Patient Administration)",
  "contact": [
    {
      "telecom": [
        {
          "system": "url",
          "value": "http://hl7.org/fhir"
        }
      ]
    },
    {
      "telecom": [
        {
          "system": "url",
          "value": "http://www.hl7.org/Special/committees/pafm/index.cfm"
        }
      ]
    }
  ],
  "description": "약속에 대한 프로필 특정 날짜 / 시간 동안 환자, 실무자 (들), 관련 인물 (들) 및 / 또는 장치 사이의 의료 이벤트 예약. 이로 인해 하나 이상의 만남이 발생가능",
  "fhirVersion": "4.0.1",
  "mapping": [
    {
      "identity": "workflow",
      "uri": "http://hl7.org/fhir/workflow",
      "name": "Workflow Pattern"
    },
    {
      "identity": "rim",
      "uri": "http://hl7.org/v3",
      "name": "RIM Mapping"
    },
    {
      "identity": "ical",
      "uri": "http://ietf.org/rfc/2445",
      "name": "iCalendar"
    },
    {
      "identity": "w5",
      "uri": "http://hl7.org/fhir/fivews",
      "name": "FiveWs Pattern Mapping"
    },
    {
      "identity": "v2",
      "uri": "http://hl7.org/v2",
      "name": "HL7 v2 Mapping"
    }
  ],
  "kind": "resource",
  "abstract": false,
  "type": "Appointment",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
  "derivation": "specialization",
  "differential": {
    "element": [
      {
        "id": "Appointment",
        "path": "Appointment",
        "short": "특정 날짜/시간 동안 patient[환자], practitioner[시술자], related persons[관련자]및/또는 장치 간의 의료 이벤트 예약(appointment). 이로 인해 하나 이상의 Encounter[]가 발생할 수 있음.",
        "definition": "특정 날짜/시간 동안 patient[환자], practitioner[시술자], related persons[관련자]및/또는 장치 간의 의료 이벤트 예약(appointment). 이로 인해 하나 이상의 Encounter[]가 발생할 수 있음.",
        "constraint": [
          {
            "key": "app-4",
            "severity": "error",
            "human": "Cancelation reason is only used for appointments that have been cancelled, or no-show",
            "expression": "Appointment.cancelationReason.exists() implies (Appointment.status='no-show' or Appointment.status='cancelled')",
            "xpath": "not(exists(f:cancellationReason)) or f:status/@value=('no-show', 'cancelled')",
            "source": "http://hl7.org/fhir/StructureDefinition/Appointment"
          },
          {
            "key": "app-3",
            "severity": "error",
            "human": "Only proposed or cancelled appointments can be missing start/end dates",
            "expression": "(start.exists() and end.exists()) or (status in ('proposed' | 'cancelled' | 'waitlist'))",
            "xpath": "((exists(f:start) and exists(f:end)) or (f:status/@value='proposed') or (f:status/@value='cancelled') or (f:status/@value='waitlist'))",
            "source": "http://hl7.org/fhir/StructureDefinition/Appointment"
          },
          {
            "key": "app-2",
            "severity": "error",
            "human": "Either start and end are specified, or neither",
            "expression": "start.exists() = end.exists()",
            "xpath": "((exists(f:start) and exists(f:end)) or (not(exists(f:start)) and not(exists(f:end))))",
            "source": "http://hl7.org/fhir/StructureDefinition/Appointment"
          }
        ],
        "mapping": [
          {
            "identity": "workflow",
            "map": "Request"
          },
          {
            "identity": "rim",
            "map": "Act[@moodCode <= 'INT']"
          },
          {
            "identity": "ical",
            "map": "VEVENT"
          }
        ]
      },
      {
        "id": "Appointment.identifier",
        "path": "Appointment.identifier",
        "short": "항목의 외부(external) ID",
        "definition": "이것은 비즈니스 프로세스에 의해 정의되거나 자원 자체에 대한 직접 URL 참조가 적절하지 않을 때 참조하여 사용이 되고 Appointment[] 문제와 연관된 식별자를 기록함 (예 : CDA 문서또는설명서제공)",
        "type": [
          {
            "code": "Identifier"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "workflow",
            "map": "Request.identifier"
          },
          {
            "identity": "w5",
            "map": "FiveWs.identifier"
          },
          {
            "identity": "v2",
            "map": "SCH-1, SCH-2, ARQ-1, ARQ-2"
          },
          {
            "identity": "rim",
            "map": ".id"
          },
          {
            "identity": "ical",
            "map": "UID"
          }
        ]
      },
      {
        "id": "Appointment.identifier.use",
        "path": "Appointment.identifier.use",
        "short": "usual | official | temp | secondary | old (If known)",
        "definition": "해당 식별자의 목적"
      },
      {
        "id": "Appointment.identifier.type",
        "path": "Appointment.identifier.type",
        "short": "식별자에 대한 설명",
        "definition": "특정 목적으로 사용되는 식별자를 결정하기 위해 사용하는 식별자의 코드 유형을 나타냄."
      },
      {
        "id": "Appointment.identifier.type.coding",
        "path": "Appointment.identifier.type.coding",
        "short": "전문용어체계(terminology system)에 의해 정의된 코드",
        "definition": "전문용어체계(terminology system)에 의해 정의된 코드를 참조"
      },
      {
        "id": "Appointment.identifier.type.coding.system",
        "path": "Appointment.identifier.type.coding.system",
        "short": "해당 전문용어체계(terminology system)의 식별",
        "definition": "코드에서 기호의 의미를 정의하는 CodeSystem[코드시스템]를 식별"
      },
      {
        "id": "Appointment.identifier.type.coding.version",
        "path": "Appointment.identifier.type.coding.version",
        "short": "해당 시스템의 버전 정보 - 필요한 경우",
        "definition": "해당 코드를 선택한 시점에 사용된 코드 시스템의 버전임. 올바로 관리된 코드 시스템은 코드의 의미가 버전과 관계없이 일관적이므로 버전을 보고할 필요가 없음. 그러나 코드 시스템의 관리 상태는 지속적으로 보장할 수 없는 부분이며, 코드의 의미가 일관적임을 보장할 수 없는 경우 버전이 교체되어야 함."
      },
      {
        "id": "Appointment.identifier.type.coding.code",
        "path": "Appointment.identifier.type.coding.code",
        "short": "시스템에 정의된 구문(syntax)의 기호(symbol)",
        "definition": "시스템에 정의된 구문의 기호. 기호는 CodeSystem[코드시스템]에 의해 정의된 구문에서 미리 정의된 코드 또는 표현(expression)일 수 있음. (예: post-coordination)"
      },
      {
        "id": "Appointment.identifier.type.coding.display",
        "path": "Appointment.identifier.type.coding.display",
        "short": "시스템에 정의된 표현",
        "definition": "시스템 내 코드의 의미를 시스템의 규칙에 따라 표현한 것을 의미함."
      },
      {
        "id": "Appointment.identifier.type.coding.userSelected",
        "path": "Appointment.identifier.type.coding.userSelected",
        "short": "해당 코딩 방법이 사용자에 의해 직접 선택되었는지 여부",
        "definition": "해당 코딩 방법이 사용자에 의해 직접 선택되었음을 나타냄. 즉, 선택 가능한 항목 (코드 혹은 디스플레이) 목록에 존재하지 않음을 나타냄."
      },
      {
        "id": "Appointment.identifier.type.text",
        "path": "Appointment.identifier.type.text",
        "short": "개념에 대한 일반 텍스트 묘사",
        "definition": "데이터를 입력한 사용자의 입장에서 보거나/선택하거나/언급한대로의 개념, 혹은 사용자가 의도한 의미를 사람이 사용하는 언어로 표현한 것임."
      },
      {
        "id": "Appointment.identifier.system",
        "path": "Appointment.identifier.system",
        "short": "식별자 값의 네임스페이스(namespace)",
        "definition": "설정값에 대한 네임 스페이스 (namespace), 즉 고유한 설정값을 설명하는 URL을 설정함."
      },
      {
        "id": "Appointment.identifier.value",
        "path": "Appointment.identifier.value",
        "short": "고유 설정값",
        "definition": "일반적으로 식별자의 사용과와 관련이 있으며, 시스템 컨텍스트 (context) 내에서 고유한 식별자의 일부분임."
      },
      {
        "id": "Appointment.identifier.period",
        "path": "Appointment.identifier.period",
        "short": "식별자의 유효 기간",
        "definition": "식별자가 사용 가능했거나 가능한 기간을 나타냄."
      },
      {
        "id": "Appointment.identifier.period.start",
        "path": "Appointment.identifier.period.start",
        "short": "해당 유효 기간의 시작 시점 (설정된 날짜 포함)",
        "definition": "해당 유효 기간이 시작되는 시점을 나타냄. 유효 기간은 시작 시점으로 설정된 날짜를 포함함."
      },
      {
        "id": "Appointment.identifier.period.end",
        "path": "Appointment.identifier.period.end",
        "short": "해당 유효 기간의 종료 시점 (설정된 날짜 포함)",
        "definition": "기간의 종료. 기간의 종료가 누락된 경우, 인스턴스가 생성될 때 끝이 알려지거나 계획되지 않았음을 의미함. 시작일은 과거일 수 있고 종료일은 미래일 수 있음. 이는 해당 기간이 해당 시간에 종료될 예정임을 의미함"
      },
      {
        "id": "Appointment.identifier.assigner",
        "path": "Appointment.identifier.assigner",
        "short": "식별자를 발급한 조직 (단순 텍스트 기입 가능)",
        "definition": "식별자를 발급하고 관리하는 조직을 나타냄."
      },
      {
        "id": "Appointment.identifier.assigner.reference",
        "path": "Appointment.identifier.assigner.reference",
        "short": "문안 참조, 상대적, 내부적 혹은 절대적인 URL",
        "definition": "다른 리소스(resource)을 찾을 수 있는 위치에 대한 참조를 의미함. 해당 참조는 service base URL에 상대적인 경우 상대 참조, 혹은 해당 리소스를 찾을 수 있는 위치인 절대 URL일 수 있음. 해당 참조는 버전에 따라 다를 수 있음. 해당 참조가 FHIR RESTful 서버가 아닌 경우, 버전에 따라 다른 것으로 간주함. 내부 구문 참조('#'으로 시작)는 포함되어 있는 리소스를 참조함."
      },
      {
        "id": "Appointment.identifier.assigner.type",
        "path": "Appointment.identifier.assigner.type",
        "short": "참조(reference)가 참조하는 유형  (예. \"Patient\")",
        "definition": "참조 대상의 예상 형식임. Reference.type과 Reference.reference가 모두 채워지고 Reference.reference가 FHIR URL이면 두가지 모두 일치해야함. 유형은이 참조가 참조하는 유형 인 리소스 정의의 표준 URL임. 참조는 http://hl7.org/fhir/StructureDefinition/과 관련된 URL임. (예) \" 환자 \" http://hl7.org/fhir/StructureDefinition/Patient에 대한 참조. 절대 URL은 논리 모델에만 허용됨 (리소스가 아닌 논리 모델의 참조에서만 사용할 수 있음)."
      },
      {
        "id": "Appointment.identifier.assigner.identifier",
        "path": "Appointment.identifier.assigner.identifier",
        "short": "문안 참조를 알 수 없는 경우의 논리 참조 (logical reference)",
        "definition": "대상 리소스의 식별자. 이것은 다른 리소스를 직접 참조할 방법이 없을 때 사용- 해당 앤티티(entity)가 FHIR 서버를 통해 사용할 수 없거나  리소스 작성자가 알려진 식별자를 실제 위치로 변활할 방법이 없기 때문에 이 방법이 사용됨. Reference.identifier가 실제로 FHIR 인스턴스로 노출되는 것을 가르킬(point) 필요는 없지만, FHIR 인스턴스로 노출될 것으로 예상되는 비즈니스 개념을 가리켜야하며, 해당 인스턴스는 참조가 허용되는 FHIR 리소스 유형이여야함."
      },
      {
        "id": "Appointment.identifier.assigner.display",
        "path": "Appointment.identifier.assigner.display",
        "short": "해당 리소스를 대체하는 텍스트 설명",
        "definition": "리소스 참조 외에도 리소스를 식별하기 위한 일반 텍스트 설명임."
      },
      {
        "id": "Appointment.status",
        "path": "Appointment.status",
        "short": "proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist",
        "definition": "예약의 전반적인 상태. 각 참가자는 프로세스에 대한 참여를 나타내는 상태를 가지고 있지만, 이 상태는 모든 참가자의 참여 상태를 나타냄.",
        "comment": "만약 Appointment[] \"cancelled\"상태라면; 모든참가자는달력에기제된예약을모두취소해야하며 BUSY로표시된슬롯은 FREE로제설정이가능함. 이요소(element)는수식어(modifier)로표시되는데그이유는상태(status)에 entered-in-error 코드가탑재되어있어약속시간을현제잡을수없다고뜸.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "code"
          }
        ],
        "isModifier": true,
        "isModifierReason": "This element is labelled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid",
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "AppointmentStatus"
            }
          ],
          "strength": "required",
          "description": "The free/busy status of an appointment.",
          "valueSet": "http://hl7.org/fhir/ValueSet/appointmentstatus|4.0.1"
        },
        "mapping": [
          {
            "identity": "workflow",
            "map": "Request.status"
          },
          {
            "identity": "w5",
            "map": "FiveWs.status"
          },
          {
            "identity": "v2",
            "map": "SCH-25"
          },
          {
            "identity": "rim",
            "map": ".statusCode"
          },
          {
            "identity": "ical",
            "map": "STATUS"
          }
        ]
      },
      {
        "id": "Appointment.cancelationReason",
        "path": "Appointment.cancelationReason",
        "short": "Appointment[]을취소되는코드화된이유",
        "definition": "취소된 Appointment[]에 대한 코드화된 이유. 이는추가조치가필요한지또는특정수수료가적용되는지결정하기위해reporting/billing/futher processing이주로사용됨",
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "cancelation-reason"
            }
          ],
          "strength": "example",
          "valueSet": "http://hl7.org/fhir/ValueSet/appointment-cancellation-reason"
        }
      },
      {
        "id": "Appointment.cancelationReason.coding",
        "path": "Appointment.cancelationReason.coding",
        "short": "전문용어체계(terminology system)에 의해 정의된 코드",
        "definition": "전문용어체계(terminology system)에 의해 정의된 코드를 참조"
      },
      {
        "id": "Appointment.cancelationReason.coding.system",
        "path": "Appointment.cancelationReason.coding.system",
        "short": "해당 전문용어체계(terminology system)의 식별",
        "definition": "코드에서 기호의 의미를 정의하는 CodeSystem[코드시스템]를 식별"
      },
      {
        "id": "Appointment.cancelationReason.coding.version",
        "path": "Appointment.cancelationReason.coding.version",
        "short": "해당 시스템의 버전 정보 - 필요한 경우",
        "definition": "해당 코드를 선택한 시점에 사용된 코드 시스템의 버전임. 올바로 관리된 코드 시스템은 코드의 의미가 버전과 관계없이 일관적이므로 버전을 보고할 필요가 없음. 그러나 코드 시스템의 관리 상태는 지속적으로 보장할 수 없는 부분이며, 코드의 의미가 일관적임을 보장할 수 없는 경우 버전이 교체되어야 함."
      },
      {
        "id": "Appointment.cancelationReason.coding.code",
        "path": "Appointment.cancelationReason.coding.code",
        "short": "시스템에 정의된 구문(syntax)의 기호(symbol)",
        "definition": "시스템에 정의된 구문의 기호. 기호는 CodeSystem[코드시스템]에 의해 정의된 구문에서 미리 정의된 코드 또는 표현(expression)일 수 있음. (예: post-coordination)"
      },
      {
        "id": "Appointment.cancelationReason.coding.display",
        "path": "Appointment.cancelationReason.coding.display",
        "short": "시스템에 정의된 표현",
        "definition": "시스템 내 코드의 의미를 시스템의 규칙에 따라 표현한 것을 의미함."
      },
      {
        "id": "Appointment.cancelationReason.coding.userSelected",
        "path": "Appointment.cancelationReason.coding.userSelected",
        "short": "해당 코딩 방법이 사용자에 의해 직접 선택되었는지 여부",
        "definition": "해당 코딩 방법이 사용자에 의해 직접 선택되었음을 나타냄. 즉, 선택 가능한 항목 (코드 혹은 디스플레이) 목록에 존재하지 않음을 나타냄."
      },
      {
        "id": "Appointment.cancelationReason.text",
        "path": "Appointment.cancelationReason.text",
        "short": "개념에 대한 일반 텍스트 묘사",
        "definition": "데이터를 입력한 사용자의 입장에서 보거나/선택하거나/언급한대로의 개념, 혹은 사용자가 의도한 의미를 사람이 사용하는 언어로 표현한 것임."
      },
      {
        "id": "Appointment.serviceCategory",
        "path": "Appointment.serviceCategory",
        "short": "Appointment[]에 수행 되어야 할 서비스에 대한 광범위한 분류",
        "definition": "Appointment[]에 수행 되어야 할 서비스에 대한 광범위한 분류",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "service-category"
            }
          ],
          "strength": "example",
          "valueSet": "http://hl7.org/fhir/ValueSet/service-category"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a, might be inferred from the ServiceDeliveryLocation"
          },
          {
            "identity": "ical",
            "map": "CATEGORIES"
          }
        ]
      },
      {
        "id": "Appointment.serviceCategory.coding",
        "path": "Appointment.serviceCategory.coding",
        "short": "전문용어체계(terminology system)에 의해 정의된 코드",
        "definition": "전문용어체계(terminology system)에 의해 정의된 코드를 참조"
      },
      {
        "id": "Appointment.serviceCategory.coding.system",
        "path": "Appointment.serviceCategory.coding.system",
        "short": "해당 전문용어체계(terminology system)의 식별",
        "definition": "코드에서 기호의 의미를 정의하는 CodeSystem[코드시스템]를 식별"
      },
      {
        "id": "Appointment.serviceCategory.coding.version",
        "path": "Appointment.serviceCategory.coding.version",
        "short": "해당 시스템의 버전 정보 - 필요한 경우",
        "definition": "해당 코드를 선택한 시점에 사용된 코드 시스템의 버전임. 올바로 관리된 코드 시스템은 코드의 의미가 버전과 관계없이 일관적이므로 버전을 보고할 필요가 없음. 그러나 코드 시스템의 관리 상태는 지속적으로 보장할 수 없는 부분이며, 코드의 의미가 일관적임을 보장할 수 없는 경우 버전이 교체되어야 함."
      },
      {
        "id": "Appointment.serviceCategory.coding.code",
        "path": "Appointment.serviceCategory.coding.code",
        "short": "시스템에 정의된 구문(syntax)의 기호(symbol)",
        "definition": "시스템에 정의된 구문의 기호. 기호는 CodeSystem[코드시스템]에 의해 정의된 구문에서 미리 정의된 코드 또는 표현(expression)일 수 있음. (예: post-coordination)"
      },
      {
        "id": "Appointment.serviceCategory.coding.display",
        "path": "Appointment.serviceCategory.coding.display",
        "short": "시스템에 정의된 표현",
        "definition": "시스템 내 코드의 의미를 시스템의 규칙에 따라 표현한 것을 의미함."
      },
      {
        "id": "Appointment.serviceCategory.coding.userSelected",
        "path": "Appointment.serviceCategory.coding.userSelected",
        "short": "해당 코딩 방법이 사용자에 의해 직접 선택되었는지 여부",
        "definition": "해당 코딩 방법이 사용자에 의해 직접 선택되었음을 나타냄. 즉, 선택 가능한 항목 (코드 혹은 디스플레이) 목록에 존재하지 않음을 나타냄."
      },
      {
        "id": "Appointment.serviceCategory.text",
        "path": "Appointment.serviceCategory.text",
        "short": "개념에 대한 일반 텍스트 묘사",
        "definition": "데이터를 입력한 사용자의 입장에서 보거나/선택하거나/언급한대로의 개념, 혹은 사용자가 의도한 의미를 사람이 사용하는 언어로 표현한 것임."
      },
      {
        "id": "Appointment.serviceType",
        "path": "Appointment.serviceType",
        "short": "진료예약 중에 수행할 특정 서비스",
        "definition": "진료예약 중에 수행할 특정 서비스.",
        "comment": "공급자가 공급자 Appointment[]을 임명하려면 \" FOLLOWUP \" 코드를 사용하는 것이 적절함. 과거에 봐왔던 환자에 대한 논의를 할것으로 예측하기때문임.",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "service-type"
            }
          ],
          "strength": "example",
          "valueSet": "http://hl7.org/fhir/ValueSet/service-type"
        },
        "mapping": [
          {
            "identity": "workflow",
            "map": "Request.code"
          },
          {
            "identity": "rim",
            "map": "n/a, might be inferred from the ServiceDeliveryLocation"
          }
        ]
      },
      {
        "id": "Appointment.serviceType.coding",
        "path": "Appointment.serviceType.coding",
        "short": "전문용어체계(terminology system)에 의해 정의된 코드",
        "definition": "전문용어체계(terminology system)에 의해 정의된 코드를 참조"
      },
      {
        "id": "Appointment.serviceType.coding.system",
        "path": "Appointment.serviceType.coding.system",
        "short": "해당 전문용어체계(terminology system)의 식별",
        "definition": "코드에서 기호의 의미를 정의하는 CodeSystem[코드시스템]를 식별"
      },
      {
        "id": "Appointment.serviceType.coding.version",
        "path": "Appointment.serviceType.coding.version",
        "short": "해당 시스템의 버전 정보 - 필요한 경우",
        "definition": "해당 코드를 선택한 시점에 사용된 코드 시스템의 버전임. 올바로 관리된 코드 시스템은 코드의 의미가 버전과 관계없이 일관적이므로 버전을 보고할 필요가 없음. 그러나 코드 시스템의 관리 상태는 지속적으로 보장할 수 없는 부분이며, 코드의 의미가 일관적임을 보장할 수 없는 경우 버전이 교체되어야 함."
      },
      {
        "id": "Appointment.serviceType.coding.code",
        "path": "Appointment.serviceType.coding.code",
        "short": "시스템에 정의된 구문(syntax)의 기호(symbol)",
        "definition": "시스템에 정의된 구문의 기호. 기호는 CodeSystem[코드시스템]에 의해 정의된 구문에서 미리 정의된 코드 또는 표현(expression)일 수 있음. (예: post-coordination)"
      },
      {
        "id": "Appointment.serviceType.coding.display",
        "path": "Appointment.serviceType.coding.display",
        "short": "시스템에 정의된 표현",
        "definition": "시스템 내 코드의 의미를 시스템의 규칙에 따라 표현한 것을 의미함."
      },
      {
        "id": "Appointment.serviceType.coding.userSelected",
        "path": "Appointment.serviceType.coding.userSelected",
        "short": "해당 코딩 방법이 사용자에 의해 직접 선택되었는지 여부",
        "definition": "해당 코딩 방법이 사용자에 의해 직접 선택되었음을 나타냄. 즉, 선택 가능한 항목 (코드 혹은 디스플레이) 목록에 존재하지 않음을 나타냄."
      },
      {
        "id": "Appointment.serviceType.text",
        "path": "Appointment.serviceType.text",
        "short": "개념에 대한 일반 텍스트 묘사",
        "definition": "데이터를 입력한 사용자의 입장에서 보거나/선택하거나/언급한대로의 개념, 혹은 사용자가 의도한 의미를 사람이 사용하는 언어로 표현한 것임."
      },
      {
        "id": "Appointment.specialty",
        "path": "Appointment.specialty",
        "short": "예약에서 요청한 서비스를 수행하는 데 필요한 실무자의 전문성.",
        "definition": "예약에서 요청한 서비스를 수행하는 데 필요한 실무자의 전문성.",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "specialty"
            }
          ],
          "strength": "preferred",
          "valueSet": "http://hl7.org/fhir/ValueSet/c80-practice-codes"
        },
        "mapping": [
          {
            "identity": "w5",
            "map": "FiveWs.class"
          },
          {
            "identity": "rim",
            "map": ".performer.AssignedPerson.code"
          }
        ]
      },
      {
        "id": "Appointment.specialty.coding",
        "path": "Appointment.specialty.coding",
        "short": "전문용어체계(terminology system)에 의해 정의된 코드",
        "definition": "전문용어체계(terminology system)에 의해 정의된 코드를 참조"
      },
      {
        "id": "Appointment.specialty.coding.system",
        "path": "Appointment.specialty.coding.system",
        "short": "해당 전문용어체계(terminology system)의 식별",
        "definition": "코드에서 기호의 의미를 정의하는 CodeSystem[코드시스템]를 식별"
      },
      {
        "id": "Appointment.specialty.coding.version",
        "path": "Appointment.specialty.coding.version",
        "short": "해당 시스템의 버전 정보 - 필요한 경우",
        "definition": "해당 코드를 선택한 시점에 사용된 코드 시스템의 버전임. 올바로 관리된 코드 시스템은 코드의 의미가 버전과 관계없이 일관적이므로 버전을 보고할 필요가 없음. 그러나 코드 시스템의 관리 상태는 지속적으로 보장할 수 없는 부분이며, 코드의 의미가 일관적임을 보장할 수 없는 경우 버전이 교체되어야 함."
      },
      {
        "id": "Appointment.specialty.coding.code",
        "path": "Appointment.specialty.coding.code",
        "short": "시스템에 정의된 구문(syntax)의 기호(symbol)",
        "definition": "시스템에 정의된 구문의 기호. 기호는 CodeSystem[코드시스템]에 의해 정의된 구문에서 미리 정의된 코드 또는 표현(expression)일 수 있음. (예: post-coordination)"
      },
      {
        "id": "Appointment.specialty.coding.display",
        "path": "Appointment.specialty.coding.display",
        "short": "시스템에 정의된 표현",
        "definition": "시스템 내 코드의 의미를 시스템의 규칙에 따라 표현한 것을 의미함."
      },
      {
        "id": "Appointment.specialty.coding.userSelected",
        "path": "Appointment.specialty.coding.userSelected",
        "short": "해당 코딩 방법이 사용자에 의해 직접 선택되었는지 여부",
        "definition": "해당 코딩 방법이 사용자에 의해 직접 선택되었음을 나타냄. 즉, 선택 가능한 항목 (코드 혹은 디스플레이) 목록에 존재하지 않음을 나타냄."
      },
      {
        "id": "Appointment.specialty.text",
        "path": "Appointment.specialty.text",
        "short": "개념에 대한 일반 텍스트 묘사",
        "definition": "데이터를 입력한 사용자의 입장에서 보거나/선택하거나/언급한대로의 개념, 혹은 사용자가 의도한 의미를 사람이 사용하는 언어로 표현한 것임."
      },
      {
        "id": "Appointment.appointmentType",
        "path": "Appointment.appointmentType",
        "short": "슬롯에 예약된 예약 또는 환자의 스타일(서비스 유형이 아님)",
        "definition": "슬롯에 예약된 예약 또는 환자의 스타일(서비스 유형이 아님).",
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "appointment-type"
            }
          ],
          "strength": "preferred",
          "valueSet": "http://terminology.hl7.org/ValueSet/v2-0276"
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "ARQ-7"
          },
          {
            "identity": "rim",
            "map": ".code"
          },
          {
            "identity": "ical",
            "map": "CLASSIFICATION"
          }
        ]
      },
      {
        "id": "Appointment.appointmentType.coding",
        "path": "Appointment.appointmentType.coding",
        "short": "전문용어체계(terminology system)에 의해 정의된 코드",
        "definition": "전문용어체계(terminology system)에 의해 정의된 코드를 참조"
      },
      {
        "id": "Appointment.appointmentType.coding.system",
        "path": "Appointment.appointmentType.coding.system",
        "short": "해당 전문용어체계(terminology system)의 식별",
        "definition": "코드에서 기호의 의미를 정의하는 CodeSystem[코드시스템]를 식별"
      },
      {
        "id": "Appointment.appointmentType.coding.version",
        "path": "Appointment.appointmentType.coding.version",
        "short": "해당 시스템의 버전 정보 - 필요한 경우",
        "definition": "해당 코드를 선택한 시점에 사용된 코드 시스템의 버전임. 올바로 관리된 코드 시스템은 코드의 의미가 버전과 관계없이 일관적이므로 버전을 보고할 필요가 없음. 그러나 코드 시스템의 관리 상태는 지속적으로 보장할 수 없는 부분이며, 코드의 의미가 일관적임을 보장할 수 없는 경우 버전이 교체되어야 함."
      },
      {
        "id": "Appointment.appointmentType.coding.code",
        "path": "Appointment.appointmentType.coding.code",
        "short": "시스템에 정의된 구문(syntax)의 기호(symbol)",
        "definition": "시스템에 정의된 구문의 기호. 기호는 CodeSystem[코드시스템]에 의해 정의된 구문에서 미리 정의된 코드 또는 표현(expression)일 수 있음. (예: post-coordination)"
      },
      {
        "id": "Appointment.appointmentType.coding.display",
        "path": "Appointment.appointmentType.coding.display",
        "short": "시스템에 정의된 표현",
        "definition": "시스템 내 코드의 의미를 시스템의 규칙에 따라 표현한 것을 의미함."
      },
      {
        "id": "Appointment.appointmentType.coding.userSelected",
        "path": "Appointment.appointmentType.coding.userSelected",
        "short": "해당 코딩 방법이 사용자에 의해 직접 선택되었는지 여부",
        "definition": "해당 코딩 방법이 사용자에 의해 직접 선택되었음을 나타냄. 즉, 선택 가능한 항목 (코드 혹은 디스플레이) 목록에 존재하지 않음을 나타냄."
      },
      {
        "id": "Appointment.appointmentType.text",
        "path": "Appointment.appointmentType.text",
        "short": "개념에 대한 일반 텍스트 묘사",
        "definition": "데이터를 입력한 사용자의 입장에서 보거나/선택하거나/언급한대로의 개념, 혹은 사용자가 의도한 의미를 사람이 사용하는 언어로 표현한 것임."
      },
      {
        "id": "Appointment.reasonCode",
        "path": "Appointment.reasonCode",
        "short": "Appointment[] 예약이코드된이유",
        "definition": "Appointment[]가 예약 되고 있다는 코드 이유. 이것은 행정적인 것보다 더 임상적임",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "ApptReason"
            }
          ],
          "strength": "preferred",
          "description": "The Reason for the appointment to take place.",
          "valueSet": "http://hl7.org/fhir/ValueSet/encounter-reason"
        },
        "mapping": [
          {
            "identity": "workflow",
            "map": "Request.reasonCode"
          },
          {
            "identity": "v2",
            "map": "AIS-3, SCH-7"
          },
          {
            "identity": "rim",
            "map": ".reasonCode"
          }
        ]
      },
      {
        "id": "Appointment.reasonCode.coding",
        "path": "Appointment.reasonCode.coding",
        "short": "전문용어체계(terminology system)에 의해 정의된 코드",
        "definition": "전문용어체계(terminology system)에 의해 정의된 코드를 참조"
      },
      {
        "id": "Appointment.reasonCode.coding.system",
        "path": "Appointment.reasonCode.coding.system",
        "short": "해당 전문용어체계(terminology system)의 식별",
        "definition": "코드에서 기호의 의미를 정의하는 CodeSystem[코드시스템]를 식별"
      },
      {
        "id": "Appointment.reasonCode.coding.version",
        "path": "Appointment.reasonCode.coding.version",
        "short": "해당 시스템의 버전 정보 - 필요한 경우",
        "definition": "해당 코드를 선택한 시점에 사용된 코드 시스템의 버전임. 올바로 관리된 코드 시스템은 코드의 의미가 버전과 관계없이 일관적이므로 버전을 보고할 필요가 없음. 그러나 코드 시스템의 관리 상태는 지속적으로 보장할 수 없는 부분이며, 코드의 의미가 일관적임을 보장할 수 없는 경우 버전이 교체되어야 함."
      },
      {
        "id": "Appointment.reasonCode.coding.code",
        "path": "Appointment.reasonCode.coding.code",
        "short": "시스템에 정의된 구문(syntax)의 기호(symbol)",
        "definition": "시스템에 정의된 구문의 기호. 기호는 CodeSystem[코드시스템]에 의해 정의된 구문에서 미리 정의된 코드 또는 표현(expression)일 수 있음. (예: post-coordination)"
      },
      {
        "id": "Appointment.reasonCode.coding.display",
        "path": "Appointment.reasonCode.coding.display",
        "short": "시스템에 정의된 표현",
        "definition": "시스템 내 코드의 의미를 시스템의 규칙에 따라 표현한 것을 의미함."
      },
      {
        "id": "Appointment.reasonCode.coding.userSelected",
        "path": "Appointment.reasonCode.coding.userSelected",
        "short": "해당 코딩 방법이 사용자에 의해 직접 선택되었는지 여부",
        "definition": "해당 코딩 방법이 사용자에 의해 직접 선택되었음을 나타냄. 즉, 선택 가능한 항목 (코드 혹은 디스플레이) 목록에 존재하지 않음을 나타냄."
      },
      {
        "id": "Appointment.reasonCode.text",
        "path": "Appointment.reasonCode.text",
        "short": "개념에 대한 일반 텍스트 묘사",
        "definition": "데이터를 입력한 사용자의 입장에서 보거나/선택하거나/언급한대로의 개념, 혹은 사용자가 의도한 의미를 사람이 사용하는 언어로 표현한 것임."
      },
      {
        "id": "Appointment.reasonReference",
        "path": "Appointment.reasonReference",
        "short": "Appointment[]가이루어져야하는이유 (자원)",
        "definition": "다른 리소스의 정보를 사용하여 지정된 대로 예약이 실행되도록 예약된 이유. 환자가 도착하여 인카운터가 시작되면 이를 입원 진단으로 사용할 수 있다. 일반적으로 조건(Condition)(증거.상세에 언급된 다른 리소스과 함께) 또는 절차(Procedure)일 것임.",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Condition",
              "http://hl7.org/fhir/StructureDefinition/Procedure",
              "http://hl7.org/fhir/StructureDefinition/Observation",
              "http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation"
            ]
          }
        ],
        "mapping": [
          {
            "identity": "workflow",
            "map": "Request.reasonReference"
          },
          {
            "identity": "rim",
            "map": ".inboundRelationship[@typeCode = 'RSON'].observation"
          }
        ]
      },
      {
        "id": "Appointment.reasonReference.reference",
        "path": "Appointment.reasonReference.reference",
        "short": "문안 참조, 상대적, 내부적 혹은 절대적인 URL",
        "definition": "다른 리소스(resource)을 찾을 수 있는 위치에 대한 참조를 의미함. 해당 참조는 service base URL에 상대적인 경우 상대 참조, 혹은 해당 리소스를 찾을 수 있는 위치인 절대 URL일 수 있음. 해당 참조는 버전에 따라 다를 수 있음. 해당 참조가 FHIR RESTful 서버가 아닌 경우, 버전에 따라 다른 것으로 간주함. 내부 구문 참조('#'으로 시작)는 포함되어 있는 리소스를 참조함."
      },
      {
        "id": "Appointment.reasonReference.type",
        "path": "Appointment.reasonReference.type",
        "short": "참조(reference)가 참조하는 유형  (예. \"Patient\")",
        "definition": "참조 대상의 예상 형식임. Reference.type과 Reference.reference가 모두 채워지고 Reference.reference가 FHIR URL이면 두가지 모두 일치해야함. 유형은이 참조가 참조하는 유형 인 리소스 정의의 표준 URL임. 참조는 http://hl7.org/fhir/StructureDefinition/과 관련된 URL임. (예) \" 환자 \" http://hl7.org/fhir/StructureDefinition/Patient에 대한 참조. 절대 URL은 논리 모델에만 허용됨 (리소스가 아닌 논리 모델의 참조에서만 사용할 수 있음)."
      },
      {
        "id": "Appointment.reasonReference.identifier",
        "path": "Appointment.reasonReference.identifier",
        "short": "문안 참조를 알 수 없는 경우의 논리 참조 (logical reference)",
        "definition": "대상 리소스의 식별자. 이것은 다른 리소스를 직접 참조할 방법이 없을 때 사용- 해당 앤티티(entity)가 FHIR 서버를 통해 사용할 수 없거나  리소스 작성자가 알려진 식별자를 실제 위치로 변활할 방법이 없기 때문에 이 방법이 사용됨. Reference.identifier가 실제로 FHIR 인스턴스로 노출되는 것을 가르킬(point) 필요는 없지만, FHIR 인스턴스로 노출될 것으로 예상되는 비즈니스 개념을 가리켜야하며, 해당 인스턴스는 참조가 허용되는 FHIR 리소스 유형이여야함."
      },
      {
        "id": "Appointment.reasonReference.identifier.use",
        "path": "Appointment.reasonReference.identifier.use",
        "short": "usual | official | temp | secondary | old (If known)",
        "definition": "해당 식별자의 목적"
      },
      {
        "id": "Appointment.reasonReference.identifier.type",
        "path": "Appointment.reasonReference.identifier.type",
        "short": "식별자에 대한 설명",
        "definition": "특정 목적으로 사용되는 식별자를 결정하기 위해 사용하는 식별자의 코드 유형을 나타냄."
      },
      {
        "id": "Appointment.reasonReference.identifier.type.coding",
        "path": "Appointment.reasonReference.identifier.type.coding",
        "short": "전문용어체계(terminology system)에 의해 정의된 코드",
        "definition": "전문용어체계(terminology system)에 의해 정의된 코드를 참조"
      },
      {
        "id": "Appointment.reasonReference.identifier.type.coding.system",
        "path": "Appointment.reasonReference.identifier.type.coding.system",
        "short": "해당 전문용어체계(terminology system)의 식별",
        "definition": "코드에서 기호의 의미를 정의하는 CodeSystem[코드시스템]를 식별"
      },
      {
        "id": "Appointment.reasonReference.identifier.type.coding.version",
        "path": "Appointment.reasonReference.identifier.type.coding.version",
        "short": "해당 시스템의 버전 정보 - 필요한 경우",
        "definition": "해당 코드를 선택한 시점에 사용된 코드 시스템의 버전임. 올바로 관리된 코드 시스템은 코드의 의미가 버전과 관계없이 일관적이므로 버전을 보고할 필요가 없음. 그러나 코드 시스템의 관리 상태는 지속적으로 보장할 수 없는 부분이며, 코드의 의미가 일관적임을 보장할 수 없는 경우 버전이 교체되어야 함."
      },
      {
        "id": "Appointment.reasonReference.identifier.type.coding.code",
        "path": "Appointment.reasonReference.identifier.type.coding.code",
        "short": "시스템에 정의된 구문(syntax)의 기호(symbol)",
        "definition": "시스템에 정의된 구문의 기호. 기호는 CodeSystem[코드시스템]에 의해 정의된 구문에서 미리 정의된 코드 또는 표현(expression)일 수 있음. (예: post-coordination)"
      },
      {
        "id": "Appointment.reasonReference.identifier.type.coding.display",
        "path": "Appointment.reasonReference.identifier.type.coding.display",
        "short": "시스템에 정의된 표현",
        "definition": "시스템 내 코드의 의미를 시스템의 규칙에 따라 표현한 것을 의미함."
      },
      {
        "id": "Appointment.reasonReference.identifier.type.coding.userSelected",
        "path": "Appointment.reasonReference.identifier.type.coding.userSelected",
        "short": "해당 코딩 방법이 사용자에 의해 직접 선택되었는지 여부",
        "definition": "해당 코딩 방법이 사용자에 의해 직접 선택되었음을 나타냄. 즉, 선택 가능한 항목 (코드 혹은 디스플레이) 목록에 존재하지 않음을 나타냄."
      },
      {
        "id": "Appointment.reasonReference.identifier.type.text",
        "path": "Appointment.reasonReference.identifier.type.text",
        "short": "개념에 대한 일반 텍스트 묘사",
        "definition": "데이터를 입력한 사용자의 입장에서 보거나/선택하거나/언급한대로의 개념, 혹은 사용자가 의도한 의미를 사람이 사용하는 언어로 표현한 것임."
      },
      {
        "id": "Appointment.reasonReference.identifier.system",
        "path": "Appointment.reasonReference.identifier.system",
        "short": "식별자 값의 네임스페이스(namespace)",
        "definition": "설정값에 대한 네임 스페이스 (namespace), 즉 고유한 설정값을 설명하는 URL을 설정함."
      },
      {
        "id": "Appointment.reasonReference.identifier.value",
        "path": "Appointment.reasonReference.identifier.value",
        "short": "고유 설정값",
        "definition": "일반적으로 식별자의 사용과와 관련이 있으며, 시스템 컨텍스트 (context) 내에서 고유한 식별자의 일부분임."
      },
      {
        "id": "Appointment.reasonReference.identifier.period",
        "path": "Appointment.reasonReference.identifier.period",
        "short": "식별자의 유효 기간",
        "definition": "식별자가 사용 가능했거나 가능한 기간을 나타냄."
      },
      {
        "id": "Appointment.reasonReference.identifier.period.start",
        "path": "Appointment.reasonReference.identifier.period.start",
        "short": "해당 유효 기간의 시작 시점 (설정된 날짜 포함)",
        "definition": "해당 유효 기간이 시작되는 시점을 나타냄. 유효 기간은 시작 시점으로 설정된 날짜를 포함함."
      },
      {
        "id": "Appointment.reasonReference.identifier.period.end",
        "path": "Appointment.reasonReference.identifier.period.end",
        "short": "해당 유효 기간의 종료 시점 (설정된 날짜 포함)",
        "definition": "기간의 종료. 기간의 종료가 누락된 경우, 인스턴스가 생성될 때 끝이 알려지거나 계획되지 않았음을 의미함. 시작일은 과거일 수 있고 종료일은 미래일 수 있음. 이는 해당 기간이 해당 시간에 종료될 예정임을 의미함"
      },
      {
        "id": "Appointment.reasonReference.identifier.assigner",
        "path": "Appointment.reasonReference.identifier.assigner",
        "short": "식별자를 발급한 조직 (단순 텍스트 기입 가능)",
        "definition": "식별자를 발급하고 관리하는 조직을 나타냄."
      },
      {
        "id": "Appointment.reasonReference.display",
        "path": "Appointment.reasonReference.display",
        "short": "해당 리소스를 대체하는 텍스트 설명",
        "definition": "리소스 참조 외에도 리소스를 식별하기 위한 일반 텍스트 설명임."
      },
      {
        "id": "Appointment.priority",
        "path": "Appointment.priority",
        "short": "우선순위를 다시 정해야 하는 경우 현명한 결정(informed decision)을 내릴 때 사용",
        "definition": "예약의 우선순위. 예약의 우선순위를 다시 정해야 하는 경우 정보에 입각한 결정을 내리는 데 사용할 수 있음. (iCal 표준은 0을 정의되지 않은 것으로, 1을 가장 높은 것으로, 9를 가장 낮은 우선순위로 지정한다.)",
        "comment": "현속성 및 상호운용성에 대한 구현자 피드백을 구함. 확장을 사용하여 명명된 값에 대한 CodeableConcept를 기록하는것은 향후 콘넥타톤(connectathon)에서 테스트될수있음.",
        "max": "1",
        "type": [
          {
            "code": "unsignedInt"
          }
        ],
        "mapping": [
          {
            "identity": "workflow",
            "map": "Request.priority"
          },
          {
            "identity": "w5",
            "map": "FiveWs.class"
          },
          {
            "identity": "v2",
            "map": "ARQ-12, SCH-11.6 / TQ1-9"
          },
          {
            "identity": "rim",
            "map": ".priorityCode"
          },
          {
            "identity": "ical",
            "map": "PRIORITY"
          }
        ]
      },
      {
        "id": "Appointment.description",
        "path": "Appointment.description",
        "short": "회의 요청 또는 예약 목록의 제목 줄에 표시",
        "definition": "예약에 대한 간략한 설명은 회의 요청 또는 예약 목록의 제목 줄에 표기됨. 상세 정보 또는 확장된 정보를 주석 필드에 넣어야 함.",
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "mapping": [
          {
            "identity": "v2",
            "map": "NTE-3"
          },
          {
            "identity": "rim",
            "map": ".text"
          },
          {
            "identity": "ical",
            "map": "SUMMARY"
          }
        ]
      },
      {
        "id": "Appointment.supportingInformation",
        "path": "Appointment.supportingInformation",
        "short": "예약을 지원하기 위한 추가 정보",
        "definition": "예약을 지원하기 위한 추가 정보.",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Resource"
            ]
          }
        ],
        "mapping": [
          {
            "identity": "workflow",
            "map": "Request.supportingInfo"
          },
          {
            "identity": "w5",
            "map": "FiveWs.context"
          },
          {
            "identity": "rim",
            "map": ".inboundRelationship[@typeCode = 'SPRT'].observation"
          },
          {
            "identity": "ical",
            "map": "ATTACH"
          }
        ]
      },
      {
        "id": "Appointment.supportingInformation.reference",
        "path": "Appointment.supportingInformation.reference",
        "short": "문안 참조, 상대적, 내부적 혹은 절대적인 URL",
        "definition": "다른 리소스(resource)을 찾을 수 있는 위치에 대한 참조를 의미함. 해당 참조는 service base URL에 상대적인 경우 상대 참조, 혹은 해당 리소스를 찾을 수 있는 위치인 절대 URL일 수 있음. 해당 참조는 버전에 따라 다를 수 있음. 해당 참조가 FHIR RESTful 서버가 아닌 경우, 버전에 따라 다른 것으로 간주함. 내부 구문 참조('#'으로 시작)는 포함되어 있는 리소스를 참조함."
      },
      {
        "id": "Appointment.supportingInformation.type",
        "path": "Appointment.supportingInformation.type",
        "short": "참조(reference)가 참조하는 유형  (예. \"Patient\")",
        "definition": "참조 대상의 예상 형식임. Reference.type과 Reference.reference가 모두 채워지고 Reference.reference가 FHIR URL이면 두가지 모두 일치해야함. 유형은이 참조가 참조하는 유형 인 리소스 정의의 표준 URL임. 참조는 http://hl7.org/fhir/StructureDefinition/과 관련된 URL임. (예) \" 환자 \" http://hl7.org/fhir/StructureDefinition/Patient에 대한 참조. 절대 URL은 논리 모델에만 허용됨 (리소스가 아닌 논리 모델의 참조에서만 사용할 수 있음)."
      },
      {
        "id": "Appointment.supportingInformation.identifier",
        "path": "Appointment.supportingInformation.identifier",
        "short": "문안 참조를 알 수 없는 경우의 논리 참조 (logical reference)",
        "definition": "대상 리소스의 식별자. 이것은 다른 리소스를 직접 참조할 방법이 없을 때 사용- 해당 앤티티(entity)가 FHIR 서버를 통해 사용할 수 없거나  리소스 작성자가 알려진 식별자를 실제 위치로 변활할 방법이 없기 때문에 이 방법이 사용됨. Reference.identifier가 실제로 FHIR 인스턴스로 노출되는 것을 가르킬(point) 필요는 없지만, FHIR 인스턴스로 노출될 것으로 예상되는 비즈니스 개념을 가리켜야하며, 해당 인스턴스는 참조가 허용되는 FHIR 리소스 유형이여야함."
      },
      {
        "id": "Appointment.supportingInformation.identifier.use",
        "path": "Appointment.supportingInformation.identifier.use",
        "short": "usual | official | temp | secondary | old (If known)",
        "definition": "해당 식별자의 목적"
      },
      {
        "id": "Appointment.supportingInformation.identifier.type",
        "path": "Appointment.supportingInformation.identifier.type",
        "short": "식별자에 대한 설명",
        "definition": "특정 목적으로 사용되는 식별자를 결정하기 위해 사용하는 식별자의 코드 유형을 나타냄."
      },
      {
        "id": "Appointment.supportingInformation.identifier.type.coding",
        "path": "Appointment.supportingInformation.identifier.type.coding",
        "short": "전문용어체계(terminology system)에 의해 정의된 코드",
        "definition": "전문용어체계(terminology system)에 의해 정의된 코드를 참조"
      },
      {
        "id": "Appointment.supportingInformation.identifier.type.coding.system",
        "path": "Appointment.supportingInformation.identifier.type.coding.system",
        "short": "해당 전문용어체계(terminology system)의 식별",
        "definition": "코드에서 기호의 의미를 정의하는 CodeSystem[코드시스템]를 식별"
      },
      {
        "id": "Appointment.supportingInformation.identifier.type.coding.version",
        "path": "Appointment.supportingInformation.identifier.type.coding.version",
        "short": "해당 시스템의 버전 정보 - 필요한 경우",
        "definition": "해당 코드를 선택한 시점에 사용된 코드 시스템의 버전임. 올바로 관리된 코드 시스템은 코드의 의미가 버전과 관계없이 일관적이므로 버전을 보고할 필요가 없음. 그러나 코드 시스템의 관리 상태는 지속적으로 보장할 수 없는 부분이며, 코드의 의미가 일관적임을 보장할 수 없는 경우 버전이 교체되어야 함."
      },
      {
        "id": "Appointment.supportingInformation.identifier.type.coding.code",
        "path": "Appointment.supportingInformation.identifier.type.coding.code",
        "short": "시스템에 정의된 구문(syntax)의 기호(symbol)",
        "definition": "시스템에 정의된 구문의 기호. 기호는 CodeSystem[코드시스템]에 의해 정의된 구문에서 미리 정의된 코드 또는 표현(expression)일 수 있음. (예: post-coordination)"
      },
      {
        "id": "Appointment.supportingInformation.identifier.type.coding.display",
        "path": "Appointment.supportingInformation.identifier.type.coding.display",
        "short": "시스템에 정의된 표현",
        "definition": "시스템 내 코드의 의미를 시스템의 규칙에 따라 표현한 것을 의미함."
      },
      {
        "id": "Appointment.supportingInformation.identifier.type.coding.userSelected",
        "path": "Appointment.supportingInformation.identifier.type.coding.userSelected",
        "short": "해당 코딩 방법이 사용자에 의해 직접 선택되었는지 여부",
        "definition": "해당 코딩 방법이 사용자에 의해 직접 선택되었음을 나타냄. 즉, 선택 가능한 항목 (코드 혹은 디스플레이) 목록에 존재하지 않음을 나타냄."
      },
      {
        "id": "Appointment.supportingInformation.identifier.type.text",
        "path": "Appointment.supportingInformation.identifier.type.text",
        "short": "개념에 대한 일반 텍스트 묘사",
        "definition": "데이터를 입력한 사용자의 입장에서 보거나/선택하거나/언급한대로의 개념, 혹은 사용자가 의도한 의미를 사람이 사용하는 언어로 표현한 것임."
      },
      {
        "id": "Appointment.supportingInformation.identifier.system",
        "path": "Appointment.supportingInformation.identifier.system",
        "short": "식별자 값의 네임스페이스(namespace)",
        "definition": "설정값에 대한 네임 스페이스 (namespace), 즉 고유한 설정값을 설명하는 URL을 설정함."
      },
      {
        "id": "Appointment.supportingInformation.identifier.value",
        "path": "Appointment.supportingInformation.identifier.value",
        "short": "고유 설정값",
        "definition": "일반적으로 식별자의 사용과와 관련이 있으며, 시스템 컨텍스트 (context) 내에서 고유한 식별자의 일부분임."
      },
      {
        "id": "Appointment.supportingInformation.identifier.period",
        "path": "Appointment.supportingInformation.identifier.period",
        "short": "식별자의 유효 기간",
        "definition": "식별자가 사용 가능했거나 가능한 기간을 나타냄."
      },
      {
        "id": "Appointment.supportingInformation.identifier.period.start",
        "path": "Appointment.supportingInformation.identifier.period.start",
        "short": "해당 유효 기간의 시작 시점 (설정된 날짜 포함)",
        "definition": "해당 유효 기간이 시작되는 시점을 나타냄. 유효 기간은 시작 시점으로 설정된 날짜를 포함함."
      },
      {
        "id": "Appointment.supportingInformation.identifier.period.end",
        "path": "Appointment.supportingInformation.identifier.period.end",
        "short": "해당 유효 기간의 종료 시점 (설정된 날짜 포함)",
        "definition": "기간의 종료. 기간의 종료가 누락된 경우, 인스턴스가 생성될 때 끝이 알려지거나 계획되지 않았음을 의미함. 시작일은 과거일 수 있고 종료일은 미래일 수 있음. 이는 해당 기간이 해당 시간에 종료될 예정임을 의미함"
      },
      {
        "id": "Appointment.supportingInformation.identifier.assigner",
        "path": "Appointment.supportingInformation.identifier.assigner",
        "short": "식별자를 발급한 조직 (단순 텍스트 기입 가능)",
        "definition": "식별자를 발급하고 관리하는 조직을 나타냄."
      },
      {
        "id": "Appointment.supportingInformation.display",
        "path": "Appointment.supportingInformation.display",
        "short": "해당 리소스를 대체하는 텍스트 설명",
        "definition": "리소스 참조 외에도 리소스를 식별하기 위한 일반 텍스트 설명임."
      },
      {
        "id": "Appointment.start",
        "path": "Appointment.start",
        "short": "예약 시작 시간",
        "definition": "예약 시작 시간.",
        "max": "1",
        "type": [
          {
            "code": "instant"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "workflow",
            "map": "Request.occurrence[x]"
          },
          {
            "identity": "w5",
            "map": "FiveWs.init"
          },
          {
            "identity": "v2",
            "map": "ARQ-11.1, SCH-11.4 / TQ1-7"
          },
          {
            "identity": "rim",
            "map": ".effectiveTime.low"
          },
          {
            "identity": "ical",
            "map": "DTSTART"
          }
        ]
      },
      {
        "id": "Appointment.end",
        "path": "Appointment.end",
        "short": "예약 종료 시간",
        "definition": "예약 종료 시간.",
        "max": "1",
        "type": [
          {
            "code": "instant"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "workflow",
            "map": "Request.occurrence[x]"
          },
          {
            "identity": "w5",
            "map": "FiveWs.done[x]"
          },
          {
            "identity": "v2",
            "map": "SCH-11.5 / TQ1-8/ calculated based on the start and the duration which is in ARQ-9"
          },
          {
            "identity": "rim",
            "map": ".effectiveTime.high"
          },
          {
            "identity": "ical",
            "map": "DTEND"
          }
        ]
      },
      {
        "id": "Appointment.minutesDuration",
        "path": "Appointment.minutesDuration",
        "short": "start/end 보다 낮을 수 있음 (예: 추정)",
        "definition": "Appointment()가 시간(분) 걸릴 지에 대한 시간. 이는 시작 시간과 종료 시간 사이의 기간보다 적을 수 있음. 예를들어, 실제 Appointment() 시간은,  추정치일뿐이거나, 요청된 30 분 Appointment() 시간, 또는 아무시간 대나 괜찮음. 또한, 예를들어 긴 Appointment[] 중간에 계획된 15 분 휴식이 있는경우 시작과 끝사이의 차이보다 15 분 더 짧을수있음.",
        "max": "1",
        "type": [
          {
            "code": "positiveInt"
          }
        ],
        "mapping": [
          {
            "identity": "workflow",
            "map": "Request.occurrence[x]"
          },
          {
            "identity": "rim",
            "map": ".activityTime[@xsi:type = ('SXPR_TS', 'PIVL_TS')].width"
          },
          {
            "identity": "ical",
            "map": "DURATION (e.g. PT15M)"
          }
        ]
      },
      {
        "id": "Appointment.slot",
        "path": "Appointment.slot",
        "short": "예약이 채워지는 슬롯",
        "definition": "예약에 의해 채워질 참가자 일정의 슬롯.",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Slot"
            ]
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": ".outboundRelationship[@typeCode = 'REFR'].act[@classCode = 'ACT'][@moodCode = 'SLOT']"
          }
        ]
      },
      {
        "id": "Appointment.slot.reference",
        "path": "Appointment.slot.reference",
        "short": "문안 참조, 상대적, 내부적 혹은 절대적인 URL",
        "definition": "다른 리소스(resource)을 찾을 수 있는 위치에 대한 참조를 의미함. 해당 참조는 service base URL에 상대적인 경우 상대 참조, 혹은 해당 리소스를 찾을 수 있는 위치인 절대 URL일 수 있음. 해당 참조는 버전에 따라 다를 수 있음. 해당 참조가 FHIR RESTful 서버가 아닌 경우, 버전에 따라 다른 것으로 간주함. 내부 구문 참조('#'으로 시작)는 포함되어 있는 리소스를 참조함."
      },
      {
        "id": "Appointment.slot.type",
        "path": "Appointment.slot.type",
        "short": "참조(reference)가 참조하는 유형  (예. \"Patient\")",
        "definition": "참조 대상의 예상 형식임. Reference.type과 Reference.reference가 모두 채워지고 Reference.reference가 FHIR URL이면 두가지 모두 일치해야함. 유형은이 참조가 참조하는 유형 인 리소스 정의의 표준 URL임. 참조는 http://hl7.org/fhir/StructureDefinition/과 관련된 URL임. (예) \" 환자 \" http://hl7.org/fhir/StructureDefinition/Patient에 대한 참조. 절대 URL은 논리 모델에만 허용됨 (리소스가 아닌 논리 모델의 참조에서만 사용할 수 있음)."
      },
      {
        "id": "Appointment.slot.identifier",
        "path": "Appointment.slot.identifier",
        "short": "문안 참조를 알 수 없는 경우의 논리 참조 (logical reference)",
        "definition": "대상 리소스의 식별자. 이것은 다른 리소스를 직접 참조할 방법이 없을 때 사용- 해당 앤티티(entity)가 FHIR 서버를 통해 사용할 수 없거나  리소스 작성자가 알려진 식별자를 실제 위치로 변활할 방법이 없기 때문에 이 방법이 사용됨. Reference.identifier가 실제로 FHIR 인스턴스로 노출되는 것을 가르킬(point) 필요는 없지만, FHIR 인스턴스로 노출될 것으로 예상되는 비즈니스 개념을 가리켜야하며, 해당 인스턴스는 참조가 허용되는 FHIR 리소스 유형이여야함."
      },
      {
        "id": "Appointment.slot.identifier.use",
        "path": "Appointment.slot.identifier.use",
        "short": "usual | official | temp | secondary | old (If known)",
        "definition": "해당 식별자의 목적"
      },
      {
        "id": "Appointment.slot.identifier.type",
        "path": "Appointment.slot.identifier.type",
        "short": "식별자에 대한 설명",
        "definition": "특정 목적으로 사용되는 식별자를 결정하기 위해 사용하는 식별자의 코드 유형을 나타냄."
      },
      {
        "id": "Appointment.slot.identifier.type.coding",
        "path": "Appointment.slot.identifier.type.coding",
        "short": "전문용어체계(terminology system)에 의해 정의된 코드",
        "definition": "전문용어체계(terminology system)에 의해 정의된 코드를 참조"
      },
      {
        "id": "Appointment.slot.identifier.type.coding.system",
        "path": "Appointment.slot.identifier.type.coding.system",
        "short": "해당 전문용어체계(terminology system)의 식별",
        "definition": "코드에서 기호의 의미를 정의하는 CodeSystem[코드시스템]를 식별"
      },
      {
        "id": "Appointment.slot.identifier.type.coding.version",
        "path": "Appointment.slot.identifier.type.coding.version",
        "short": "해당 시스템의 버전 정보 - 필요한 경우",
        "definition": "해당 코드를 선택한 시점에 사용된 코드 시스템의 버전임. 올바로 관리된 코드 시스템은 코드의 의미가 버전과 관계없이 일관적이므로 버전을 보고할 필요가 없음. 그러나 코드 시스템의 관리 상태는 지속적으로 보장할 수 없는 부분이며, 코드의 의미가 일관적임을 보장할 수 없는 경우 버전이 교체되어야 함."
      },
      {
        "id": "Appointment.slot.identifier.type.coding.code",
        "path": "Appointment.slot.identifier.type.coding.code",
        "short": "시스템에 정의된 구문(syntax)의 기호(symbol)",
        "definition": "시스템에 정의된 구문의 기호. 기호는 CodeSystem[코드시스템]에 의해 정의된 구문에서 미리 정의된 코드 또는 표현(expression)일 수 있음. (예: post-coordination)"
      },
      {
        "id": "Appointment.slot.identifier.type.coding.display",
        "path": "Appointment.slot.identifier.type.coding.display",
        "short": "시스템에 정의된 표현",
        "definition": "시스템 내 코드의 의미를 시스템의 규칙에 따라 표현한 것을 의미함."
      },
      {
        "id": "Appointment.slot.identifier.type.coding.userSelected",
        "path": "Appointment.slot.identifier.type.coding.userSelected",
        "short": "해당 코딩 방법이 사용자에 의해 직접 선택되었는지 여부",
        "definition": "해당 코딩 방법이 사용자에 의해 직접 선택되었음을 나타냄. 즉, 선택 가능한 항목 (코드 혹은 디스플레이) 목록에 존재하지 않음을 나타냄."
      },
      {
        "id": "Appointment.slot.identifier.type.text",
        "path": "Appointment.slot.identifier.type.text",
        "short": "개념에 대한 일반 텍스트 묘사",
        "definition": "데이터를 입력한 사용자의 입장에서 보거나/선택하거나/언급한대로의 개념, 혹은 사용자가 의도한 의미를 사람이 사용하는 언어로 표현한 것임."
      },
      {
        "id": "Appointment.slot.identifier.system",
        "path": "Appointment.slot.identifier.system",
        "short": "식별자 값의 네임스페이스(namespace)",
        "definition": "설정값에 대한 네임 스페이스 (namespace), 즉 고유한 설정값을 설명하는 URL을 설정함."
      },
      {
        "id": "Appointment.slot.identifier.value",
        "path": "Appointment.slot.identifier.value",
        "short": "고유 설정값",
        "definition": "일반적으로 식별자의 사용과와 관련이 있으며, 시스템 컨텍스트 (context) 내에서 고유한 식별자의 일부분임."
      },
      {
        "id": "Appointment.slot.identifier.period",
        "path": "Appointment.slot.identifier.period",
        "short": "식별자의 유효 기간",
        "definition": "식별자가 사용 가능했거나 가능한 기간을 나타냄."
      },
      {
        "id": "Appointment.slot.identifier.period.start",
        "path": "Appointment.slot.identifier.period.start",
        "short": "해당 유효 기간의 시작 시점 (설정된 날짜 포함)",
        "definition": "해당 유효 기간이 시작되는 시점을 나타냄. 유효 기간은 시작 시점으로 설정된 날짜를 포함함."
      },
      {
        "id": "Appointment.slot.identifier.period.end",
        "path": "Appointment.slot.identifier.period.end",
        "short": "해당 유효 기간의 종료 시점 (설정된 날짜 포함)",
        "definition": "기간의 종료. 기간의 종료가 누락된 경우, 인스턴스가 생성될 때 끝이 알려지거나 계획되지 않았음을 의미함. 시작일은 과거일 수 있고 종료일은 미래일 수 있음. 이는 해당 기간이 해당 시간에 종료될 예정임을 의미함"
      },
      {
        "id": "Appointment.slot.identifier.assigner",
        "path": "Appointment.slot.identifier.assigner",
        "short": "식별자를 발급한 조직 (단순 텍스트 기입 가능)",
        "definition": "식별자를 발급하고 관리하는 조직을 나타냄."
      },
      {
        "id": "Appointment.slot.display",
        "path": "Appointment.slot.display",
        "short": "해당 리소스를 대체하는 텍스트 설명",
        "definition": "리소스 참조 외에도 리소스를 식별하기 위한 일반 텍스트 설명임."
      },
      {
        "id": "Appointment.created",
        "path": "Appointment.created",
        "short": "예약이 처음 생성된 날짜",
        "definition": "예약이 처음 생성된 날짜 이는 FHIR 서버에서 리소스를 생성하기 전일 수 있으므로 초기 항목의 meta.lastModified 값과 다를 수 있으며, 약속 기간 동안 변경되지 않은 상태로 유지되어야 함.",
        "comment": "해당 속성(property)은 약속 예약 및 청구를 위한 처리 workflows에서 약속기간을 고려하는 많은 사용 사례에 필요함.",
        "max": "1",
        "type": [
          {
            "code": "dateTime"
          }
        ],
        "mapping": [
          {
            "identity": "workflow",
            "map": "Request.authoredOn"
          },
          {
            "identity": "rim",
            "map": ".author.time"
          },
          {
            "identity": "ical",
            "map": "CREATED"
          }
        ]
      },
      {
        "id": "Appointment.comment",
        "path": "Appointment.comment",
        "short": "추가 의견",
        "definition": "예약에 대한 추가 의견",
        "comment": "약속을 촉진하는데 도움이 되는 추가텍스트임. 예를들어, \"patient 도착시즉시주입실로 arrival\" 라는 의견이 있을 수 있음. 이것이 예정된 Appointment[]이고 시작/끝 날짜가 설정되지 않은 경우 이 필드를 사용하여 Appointment[] 요청의 세부사항에 대한 추가지침을 제공할수있음. 예약할 때 제한사항도 포함됨.",
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "mapping": [
          {
            "identity": "workflow",
            "map": "Request.note"
          },
          {
            "identity": "v2",
            "map": "NTE-3"
          },
          {
            "identity": "rim",
            "map": ".subjectOf.observation[@moodCode = 'EVN'][code = 'annotation'].value"
          },
          {
            "identity": "ical",
            "map": "DESCRIPTION (for internal use)"
          }
        ]
      },
      {
        "id": "Appointment.patientInstruction",
        "path": "Appointment.patientInstruction",
        "short": "환자를위한 자세한 정보 및 지침",
        "definition": "Appointment.comment에는내부사용을위한정보가포함되어있지만 Appointment.patientInstructions는 appointment[] 대한환자대면정보를캡처하는데사용됨 (예 : 추천서를가져오거나전날오후 8 시부터금식).",
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "mapping": [
          {
            "identity": "v2",
            "map": "NTE-3"
          },
          {
            "identity": "rim",
            "map": ".subjectOf.observation[@moodCode = 'EVN'][code = 'annotation'].value"
          },
          {
            "identity": "ical",
            "map": "DESCRIPTION (for patient use)"
          }
        ]
      },
      {
        "id": "Appointment.basedOn",
        "path": "Appointment.basedOn",
        "short": "이 Appointment[]는평가를위해할당된서비스요청",
        "definition": "이 Appointment[]는평가를위해할당된서비스요청 (예 : 수신의뢰또는절차요청)",
        "alias": [
          "incomingReferral"
        ],
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/ServiceRequest"
            ]
          }
        ],
        "mapping": [
          {
            "identity": "workflow",
            "map": "Request.basedOn"
          },
          {
            "identity": "rim",
            "map": ".outboundRelationship[@typeCode = 'FLFS'].act[@classCode < 'ActCareProvisionRequestType'][@moodCode = 'RQO']"
          }
        ]
      },
      {
        "id": "Appointment.basedOn.reference",
        "path": "Appointment.basedOn.reference",
        "short": "문안 참조, 상대적, 내부적 혹은 절대적인 URL",
        "definition": "다른 리소스(resource)을 찾을 수 있는 위치에 대한 참조를 의미함. 해당 참조는 service base URL에 상대적인 경우 상대 참조, 혹은 해당 리소스를 찾을 수 있는 위치인 절대 URL일 수 있음. 해당 참조는 버전에 따라 다를 수 있음. 해당 참조가 FHIR RESTful 서버가 아닌 경우, 버전에 따라 다른 것으로 간주함. 내부 구문 참조('#'으로 시작)는 포함되어 있는 리소스를 참조함."
      },
      {
        "id": "Appointment.basedOn.type",
        "path": "Appointment.basedOn.type",
        "short": "참조(reference)가 참조하는 유형  (예. \"Patient\")",
        "definition": "참조 대상의 예상 형식임. Reference.type과 Reference.reference가 모두 채워지고 Reference.reference가 FHIR URL이면 두가지 모두 일치해야함. 유형은이 참조가 참조하는 유형 인 리소스 정의의 표준 URL임. 참조는 http://hl7.org/fhir/StructureDefinition/과 관련된 URL임. (예) \" 환자 \" http://hl7.org/fhir/StructureDefinition/Patient에 대한 참조. 절대 URL은 논리 모델에만 허용됨 (리소스가 아닌 논리 모델의 참조에서만 사용할 수 있음)."
      },
      {
        "id": "Appointment.basedOn.identifier",
        "path": "Appointment.basedOn.identifier",
        "short": "문안 참조를 알 수 없는 경우의 논리 참조 (logical reference)",
        "definition": "대상 리소스의 식별자. 이것은 다른 리소스를 직접 참조할 방법이 없을 때 사용- 해당 앤티티(entity)가 FHIR 서버를 통해 사용할 수 없거나  리소스 작성자가 알려진 식별자를 실제 위치로 변활할 방법이 없기 때문에 이 방법이 사용됨. Reference.identifier가 실제로 FHIR 인스턴스로 노출되는 것을 가르킬(point) 필요는 없지만, FHIR 인스턴스로 노출될 것으로 예상되는 비즈니스 개념을 가리켜야하며, 해당 인스턴스는 참조가 허용되는 FHIR 리소스 유형이여야함."
      },
      {
        "id": "Appointment.basedOn.identifier.use",
        "path": "Appointment.basedOn.identifier.use",
        "short": "usual | official | temp | secondary | old (If known)",
        "definition": "해당 식별자의 목적"
      },
      {
        "id": "Appointment.basedOn.identifier.type",
        "path": "Appointment.basedOn.identifier.type",
        "short": "식별자에 대한 설명",
        "definition": "특정 목적으로 사용되는 식별자를 결정하기 위해 사용하는 식별자의 코드 유형을 나타냄."
      },
      {
        "id": "Appointment.basedOn.identifier.type.coding",
        "path": "Appointment.basedOn.identifier.type.coding",
        "short": "전문용어체계(terminology system)에 의해 정의된 코드",
        "definition": "전문용어체계(terminology system)에 의해 정의된 코드를 참조"
      },
      {
        "id": "Appointment.basedOn.identifier.type.coding.system",
        "path": "Appointment.basedOn.identifier.type.coding.system",
        "short": "해당 전문용어체계(terminology system)의 식별",
        "definition": "코드에서 기호의 의미를 정의하는 CodeSystem[코드시스템]를 식별"
      },
      {
        "id": "Appointment.basedOn.identifier.type.coding.version",
        "path": "Appointment.basedOn.identifier.type.coding.version",
        "short": "해당 시스템의 버전 정보 - 필요한 경우",
        "definition": "해당 코드를 선택한 시점에 사용된 코드 시스템의 버전임. 올바로 관리된 코드 시스템은 코드의 의미가 버전과 관계없이 일관적이므로 버전을 보고할 필요가 없음. 그러나 코드 시스템의 관리 상태는 지속적으로 보장할 수 없는 부분이며, 코드의 의미가 일관적임을 보장할 수 없는 경우 버전이 교체되어야 함."
      },
      {
        "id": "Appointment.basedOn.identifier.type.coding.code",
        "path": "Appointment.basedOn.identifier.type.coding.code",
        "short": "시스템에 정의된 구문(syntax)의 기호(symbol)",
        "definition": "시스템에 정의된 구문의 기호. 기호는 CodeSystem[코드시스템]에 의해 정의된 구문에서 미리 정의된 코드 또는 표현(expression)일 수 있음. (예: post-coordination)"
      },
      {
        "id": "Appointment.basedOn.identifier.type.coding.display",
        "path": "Appointment.basedOn.identifier.type.coding.display",
        "short": "시스템에 정의된 표현",
        "definition": "시스템 내 코드의 의미를 시스템의 규칙에 따라 표현한 것을 의미함."
      },
      {
        "id": "Appointment.basedOn.identifier.type.coding.userSelected",
        "path": "Appointment.basedOn.identifier.type.coding.userSelected",
        "short": "해당 코딩 방법이 사용자에 의해 직접 선택되었는지 여부",
        "definition": "해당 코딩 방법이 사용자에 의해 직접 선택되었음을 나타냄. 즉, 선택 가능한 항목 (코드 혹은 디스플레이) 목록에 존재하지 않음을 나타냄."
      },
      {
        "id": "Appointment.basedOn.identifier.type.text",
        "path": "Appointment.basedOn.identifier.type.text",
        "short": "개념에 대한 일반 텍스트 묘사",
        "definition": "데이터를 입력한 사용자의 입장에서 보거나/선택하거나/언급한대로의 개념, 혹은 사용자가 의도한 의미를 사람이 사용하는 언어로 표현한 것임."
      },
      {
        "id": "Appointment.basedOn.identifier.system",
        "path": "Appointment.basedOn.identifier.system",
        "short": "식별자 값의 네임스페이스(namespace)",
        "definition": "설정값에 대한 네임 스페이스 (namespace), 즉 고유한 설정값을 설명하는 URL을 설정함."
      },
      {
        "id": "Appointment.basedOn.identifier.value",
        "path": "Appointment.basedOn.identifier.value",
        "short": "고유 설정값",
        "definition": "일반적으로 식별자의 사용과와 관련이 있으며, 시스템 컨텍스트 (context) 내에서 고유한 식별자의 일부분임."
      },
      {
        "id": "Appointment.basedOn.identifier.period",
        "path": "Appointment.basedOn.identifier.period",
        "short": "식별자의 유효 기간",
        "definition": "식별자가 사용 가능했거나 가능한 기간을 나타냄."
      },
      {
        "id": "Appointment.basedOn.identifier.period.start",
        "path": "Appointment.basedOn.identifier.period.start",
        "short": "해당 유효 기간의 시작 시점 (설정된 날짜 포함)",
        "definition": "해당 유효 기간이 시작되는 시점을 나타냄. 유효 기간은 시작 시점으로 설정된 날짜를 포함함."
      },
      {
        "id": "Appointment.basedOn.identifier.period.end",
        "path": "Appointment.basedOn.identifier.period.end",
        "short": "해당 유효 기간의 종료 시점 (설정된 날짜 포함)",
        "definition": "기간의 종료. 기간의 종료가 누락된 경우, 인스턴스가 생성될 때 끝이 알려지거나 계획되지 않았음을 의미함. 시작일은 과거일 수 있고 종료일은 미래일 수 있음. 이는 해당 기간이 해당 시간에 종료될 예정임을 의미함"
      },
      {
        "id": "Appointment.basedOn.identifier.assigner",
        "path": "Appointment.basedOn.identifier.assigner",
        "short": "식별자를 발급한 조직 (단순 텍스트 기입 가능)",
        "definition": "식별자를 발급하고 관리하는 조직을 나타냄."
      },
      {
        "id": "Appointment.basedOn.display",
        "path": "Appointment.basedOn.display",
        "short": "해당 리소스를 대체하는 텍스트 설명",
        "definition": "리소스 참조 외에도 리소스를 식별하기 위한 일반 텍스트 설명임."
      },
      {
        "id": "Appointment.participant",
        "path": "Appointment.participant",
        "short": "예약 관련자",
        "definition": "예약 관련자 목록.",
        "min": 1,
        "type": [
          {
            "code": "BackboneElement"
          }
        ],
        "constraint": [
          {
            "key": "app-1",
            "severity": "error",
            "human": "Either the type or actor on the participant SHALL be specified",
            "expression": "type.exists() or actor.exists()",
            "xpath": "(exists(f:type) or exists(f:actor))",
            "source": "http://hl7.org/fhir/StructureDefinition/Appointment"
          }
        ],
        "mapping": [
          {
            "identity": "workflow",
            "map": "Request.performer, Request.subject"
          },
          {
            "identity": "v2",
            "map": "PID, AIP, AIG, AIL"
          },
          {
            "identity": "rim",
            "map": "performer | reusableDevice | subject | location"
          },
          {
            "identity": "ical",
            "map": "ATTENDEE component to be created"
          }
        ]
      },
      {
        "id": "Appointment.participant.type",
        "path": "Appointment.participant.type",
        "short": "예약 관련자의 역할",
        "definition": "예약 관련자의 역할.",
        "comment": "참여자의 역할은 해당 약속의 범위에서 행위자(actor)가 할일을 선언하는데 사용될 수 있으며, 행위자(actor)가 지정 되지 않은 경우 나중에 계획 단계에서 행위자(actor)가 채워질 것으로 예상됨. AppointmentResponse를 생성할때 일치할수 있도록 동일해야하며 이후에 Appointment[]를 업데이트해야 함.",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "ParticipantType"
            }
          ],
          "strength": "extensible",
          "description": "인카운터(encounter) 참가자의 역할",
          "valueSet": "http://hl7.org/fhir/ValueSet/encounter-participant-type"
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "AIP-4, AIG-4"
          },
          {
            "identity": "rim",
            "map": "(performer | reusableDevice | subject | location).@typeCode"
          },
          {
            "identity": "ical",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "Appointment.participant.type.coding",
        "path": "Appointment.participant.type.coding",
        "short": "전문용어체계(terminology system)에 의해 정의된 코드",
        "definition": "전문용어체계(terminology system)에 의해 정의된 코드를 참조"
      },
      {
        "id": "Appointment.participant.type.coding.system",
        "path": "Appointment.participant.type.coding.system",
        "short": "해당 전문용어체계(terminology system)의 식별",
        "definition": "코드에서 기호의 의미를 정의하는 CodeSystem[코드시스템]를 식별"
      },
      {
        "id": "Appointment.participant.type.coding.version",
        "path": "Appointment.participant.type.coding.version",
        "short": "해당 시스템의 버전 정보 - 필요한 경우",
        "definition": "해당 코드를 선택한 시점에 사용된 코드 시스템의 버전임. 올바로 관리된 코드 시스템은 코드의 의미가 버전과 관계없이 일관적이므로 버전을 보고할 필요가 없음. 그러나 코드 시스템의 관리 상태는 지속적으로 보장할 수 없는 부분이며, 코드의 의미가 일관적임을 보장할 수 없는 경우 버전이 교체되어야 함."
      },
      {
        "id": "Appointment.participant.type.coding.code",
        "path": "Appointment.participant.type.coding.code",
        "short": "시스템에 정의된 구문(syntax)의 기호(symbol)",
        "definition": "시스템에 정의된 구문의 기호. 기호는 CodeSystem[코드시스템]에 의해 정의된 구문에서 미리 정의된 코드 또는 표현(expression)일 수 있음. (예: post-coordination)"
      },
      {
        "id": "Appointment.participant.type.coding.display",
        "path": "Appointment.participant.type.coding.display",
        "short": "시스템에 정의된 표현",
        "definition": "시스템 내 코드의 의미를 시스템의 규칙에 따라 표현한 것을 의미함."
      },
      {
        "id": "Appointment.participant.type.coding.userSelected",
        "path": "Appointment.participant.type.coding.userSelected",
        "short": "해당 코딩 방법이 사용자에 의해 직접 선택되었는지 여부",
        "definition": "해당 코딩 방법이 사용자에 의해 직접 선택되었음을 나타냄. 즉, 선택 가능한 항목 (코드 혹은 디스플레이) 목록에 존재하지 않음을 나타냄."
      },
      {
        "id": "Appointment.participant.type.text",
        "path": "Appointment.participant.type.text",
        "short": "개념에 대한 일반 텍스트 묘사",
        "definition": "데이터를 입력한 사용자의 입장에서 보거나/선택하거나/언급한대로의 개념, 혹은 사용자가 의도한 의미를 사람이 사용하는 언어로 표현한 것임."
      },
      {
        "id": "Appointment.participant.actor",
        "path": "Appointment.participant.actor",
        "short": "사용자(Person), 위치(Locaiton)/헬스케어 서비스(healthcareService) 또는 장치(Device)",
        "definition": "예약에 참여하는 사용자(Person), 위치(Locaiton)/헬스케어 서비스(healthcareService) 또는 장치(Device",
        "max": "1",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Patient",
              "http://hl7.org/fhir/StructureDefinition/Practitioner",
              "http://hl7.org/fhir/StructureDefinition/PractitionerRole",
              "http://hl7.org/fhir/StructureDefinition/RelatedPerson",
              "http://hl7.org/fhir/StructureDefinition/Device",
              "http://hl7.org/fhir/StructureDefinition/HealthcareService",
              "http://hl7.org/fhir/StructureDefinition/Location"
            ]
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "w5",
            "map": "FiveWs.who"
          },
          {
            "identity": "v2",
            "map": "PID-3-Patient ID List | AIL-3 | AIG-3 | AIP-3"
          },
          {
            "identity": "rim",
            "map": "performer.person | reusableDevice.manufacturedDevice | subject.patient | location.serviceDeliveryLocation"
          },
          {
            "identity": "ical",
            "map": "ATTENDEE: (Need to provide the common name CN and also the MAILTO properties from the practitioner resource) where the participant type is not \"information-only\""
          }
        ]
      },
      {
        "id": "Appointment.participant.actor.reference",
        "path": "Appointment.participant.actor.reference",
        "short": "문안 참조, 상대적, 내부적 혹은 절대적인 URL",
        "definition": "다른 리소스(resource)을 찾을 수 있는 위치에 대한 참조를 의미함. 해당 참조는 service base URL에 상대적인 경우 상대 참조, 혹은 해당 리소스를 찾을 수 있는 위치인 절대 URL일 수 있음. 해당 참조는 버전에 따라 다를 수 있음. 해당 참조가 FHIR RESTful 서버가 아닌 경우, 버전에 따라 다른 것으로 간주함. 내부 구문 참조('#'으로 시작)는 포함되어 있는 리소스를 참조함."
      },
      {
        "id": "Appointment.participant.actor.type",
        "path": "Appointment.participant.actor.type",
        "short": "참조(reference)가 참조하는 유형  (예. \"Patient\")",
        "definition": "참조 대상의 예상 형식임. Reference.type과 Reference.reference가 모두 채워지고 Reference.reference가 FHIR URL이면 두가지 모두 일치해야함. 유형은이 참조가 참조하는 유형 인 리소스 정의의 표준 URL임. 참조는 http://hl7.org/fhir/StructureDefinition/과 관련된 URL임. (예) \" 환자 \" http://hl7.org/fhir/StructureDefinition/Patient에 대한 참조. 절대 URL은 논리 모델에만 허용됨 (리소스가 아닌 논리 모델의 참조에서만 사용할 수 있음)."
      },
      {
        "id": "Appointment.participant.actor.identifier",
        "path": "Appointment.participant.actor.identifier",
        "short": "문안 참조를 알 수 없는 경우의 논리 참조 (logical reference)",
        "definition": "대상 리소스의 식별자. 이것은 다른 리소스를 직접 참조할 방법이 없을 때 사용- 해당 앤티티(entity)가 FHIR 서버를 통해 사용할 수 없거나  리소스 작성자가 알려진 식별자를 실제 위치로 변활할 방법이 없기 때문에 이 방법이 사용됨. Reference.identifier가 실제로 FHIR 인스턴스로 노출되는 것을 가르킬(point) 필요는 없지만, FHIR 인스턴스로 노출될 것으로 예상되는 비즈니스 개념을 가리켜야하며, 해당 인스턴스는 참조가 허용되는 FHIR 리소스 유형이여야함."
      },
      {
        "id": "Appointment.participant.actor.identifier.use",
        "path": "Appointment.participant.actor.identifier.use",
        "short": "usual | official | temp | secondary | old (If known)",
        "definition": "해당 식별자의 목적"
      },
      {
        "id": "Appointment.participant.actor.identifier.type",
        "path": "Appointment.participant.actor.identifier.type",
        "short": "식별자에 대한 설명",
        "definition": "특정 목적으로 사용되는 식별자를 결정하기 위해 사용하는 식별자의 코드 유형을 나타냄."
      },
      {
        "id": "Appointment.participant.actor.identifier.type.coding",
        "path": "Appointment.participant.actor.identifier.type.coding",
        "short": "전문용어체계(terminology system)에 의해 정의된 코드",
        "definition": "전문용어체계(terminology system)에 의해 정의된 코드를 참조"
      },
      {
        "id": "Appointment.participant.actor.identifier.type.coding.system",
        "path": "Appointment.participant.actor.identifier.type.coding.system",
        "short": "해당 전문용어체계(terminology system)의 식별",
        "definition": "코드에서 기호의 의미를 정의하는 CodeSystem[코드시스템]를 식별"
      },
      {
        "id": "Appointment.participant.actor.identifier.type.coding.version",
        "path": "Appointment.participant.actor.identifier.type.coding.version",
        "short": "해당 시스템의 버전 정보 - 필요한 경우",
        "definition": "해당 코드를 선택한 시점에 사용된 코드 시스템의 버전임. 올바로 관리된 코드 시스템은 코드의 의미가 버전과 관계없이 일관적이므로 버전을 보고할 필요가 없음. 그러나 코드 시스템의 관리 상태는 지속적으로 보장할 수 없는 부분이며, 코드의 의미가 일관적임을 보장할 수 없는 경우 버전이 교체되어야 함."
      },
      {
        "id": "Appointment.participant.actor.identifier.type.coding.code",
        "path": "Appointment.participant.actor.identifier.type.coding.code",
        "short": "시스템에 정의된 구문(syntax)의 기호(symbol)",
        "definition": "시스템에 정의된 구문의 기호. 기호는 CodeSystem[코드시스템]에 의해 정의된 구문에서 미리 정의된 코드 또는 표현(expression)일 수 있음. (예: post-coordination)"
      },
      {
        "id": "Appointment.participant.actor.identifier.type.coding.display",
        "path": "Appointment.participant.actor.identifier.type.coding.display",
        "short": "시스템에 정의된 표현",
        "definition": "시스템 내 코드의 의미를 시스템의 규칙에 따라 표현한 것을 의미함."
      },
      {
        "id": "Appointment.participant.actor.identifier.type.coding.userSelected",
        "path": "Appointment.participant.actor.identifier.type.coding.userSelected",
        "short": "해당 코딩 방법이 사용자에 의해 직접 선택되었는지 여부",
        "definition": "해당 코딩 방법이 사용자에 의해 직접 선택되었음을 나타냄. 즉, 선택 가능한 항목 (코드 혹은 디스플레이) 목록에 존재하지 않음을 나타냄."
      },
      {
        "id": "Appointment.participant.actor.identifier.type.text",
        "path": "Appointment.participant.actor.identifier.type.text",
        "short": "개념에 대한 일반 텍스트 묘사",
        "definition": "데이터를 입력한 사용자의 입장에서 보거나/선택하거나/언급한대로의 개념, 혹은 사용자가 의도한 의미를 사람이 사용하는 언어로 표현한 것임."
      },
      {
        "id": "Appointment.participant.actor.identifier.system",
        "path": "Appointment.participant.actor.identifier.system",
        "short": "식별자 값의 네임스페이스(namespace)",
        "definition": "설정값에 대한 네임 스페이스 (namespace), 즉 고유한 설정값을 설명하는 URL을 설정함."
      },
      {
        "id": "Appointment.participant.actor.identifier.value",
        "path": "Appointment.participant.actor.identifier.value",
        "short": "고유 설정값",
        "definition": "일반적으로 식별자의 사용과와 관련이 있으며, 시스템 컨텍스트 (context) 내에서 고유한 식별자의 일부분임."
      },
      {
        "id": "Appointment.participant.actor.identifier.period",
        "path": "Appointment.participant.actor.identifier.period",
        "short": "식별자의 유효 기간",
        "definition": "식별자가 사용 가능했거나 가능한 기간을 나타냄."
      },
      {
        "id": "Appointment.participant.actor.identifier.period.start",
        "path": "Appointment.participant.actor.identifier.period.start",
        "short": "해당 유효 기간의 시작 시점 (설정된 날짜 포함)",
        "definition": "해당 유효 기간이 시작되는 시점을 나타냄. 유효 기간은 시작 시점으로 설정된 날짜를 포함함."
      },
      {
        "id": "Appointment.participant.actor.identifier.period.end",
        "path": "Appointment.participant.actor.identifier.period.end",
        "short": "해당 유효 기간의 종료 시점 (설정된 날짜 포함)",
        "definition": "기간의 종료. 기간의 종료가 누락된 경우, 인스턴스가 생성될 때 끝이 알려지거나 계획되지 않았음을 의미함. 시작일은 과거일 수 있고 종료일은 미래일 수 있음. 이는 해당 기간이 해당 시간에 종료될 예정임을 의미함"
      },
      {
        "id": "Appointment.participant.actor.identifier.assigner",
        "path": "Appointment.participant.actor.identifier.assigner",
        "short": "식별자를 발급한 조직 (단순 텍스트 기입 가능)",
        "definition": "식별자를 발급하고 관리하는 조직을 나타냄."
      },
      {
        "id": "Appointment.participant.actor.display",
        "path": "Appointment.participant.actor.display",
        "short": "해당 리소스를 대체하는 텍스트 설명",
        "definition": "리소스 참조 외에도 리소스를 식별하기 위한 일반 텍스트 설명임."
      },
      {
        "id": "Appointment.participant.required",
        "path": "Appointment.participant.required",
        "short": "required | optional | information-only",
        "definition": "이 참가자가 회의에 참석해야 하는지 여부. 이는 특정환자에 대한 결과를 논의하기 위해 두명의 의사가 만나야하고 환자가 참석할 필요가 없는 use-case를 다룸",
        "max": "1",
        "type": [
          {
            "code": "code"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "ParticipantRequired"
            }
          ],
          "strength": "required",
          "description": "Is the Participant required to attend the appointment.",
          "valueSet": "http://hl7.org/fhir/ValueSet/participantrequired|4.0.1"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "(performer | reusableDevice | subject | location).@performInd"
          },
          {
            "identity": "ical",
            "map": "ROLE=REQ-PARTICIPANT (roleparam)"
          }
        ]
      },
      {
        "id": "Appointment.participant.status",
        "path": "Appointment.participant.status",
        "short": "accepted | declined | tentative | needs-action",
        "definition": "참가자의 참여 여부.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "code"
          }
        ],
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "ParticipationStatus"
            }
          ],
          "strength": "required",
          "description": "The Participation status of an appointment.",
          "valueSet": "http://hl7.org/fhir/ValueSet/participationstatus|4.0.1"
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "AIP-12, AIG-14"
          },
          {
            "identity": "rim",
            "map": "(performer | reusableDevice | subject | location).statusCode"
          },
          {
            "identity": "ical",
            "map": "ATTENDEE;CN=\"John Doe\";RSVP=TRUE:mailto:john@doe.com (rsvpparam | partstatparam)"
          }
        ]
      },
      {
        "id": "Appointment.participant.period",
        "path": "Appointment.participant.period",
        "short": "행위자(actor)의 참여 기간",
        "definition": "행위자(actor)의 참여 기간",
        "max": "1",
        "type": [
          {
            "code": "Period"
          }
        ]
      },
      {
        "id": "Appointment.participant.period.start",
        "path": "Appointment.participant.period.start",
        "short": "해당 유효 기간의 시작 시점 (설정된 날짜 포함)",
        "definition": "해당 유효 기간이 시작되는 시점을 나타냄. 유효 기간은 시작 시점으로 설정된 날짜를 포함함."
      },
      {
        "id": "Appointment.participant.period.end",
        "path": "Appointment.participant.period.end",
        "short": "해당 유효 기간의 종료 시점 (설정된 날짜 포함)",
        "definition": "기간의 종료. 기간의 종료가 누락된 경우, 인스턴스가 생성될 때 끝이 알려지거나 계획되지 않았음을 의미함. 시작일은 과거일 수 있고 종료일은 미래일 수 있음. 이는 해당 기간이 해당 시간에 종료될 예정임을 의미함"
      },
      {
        "id": "Appointment.requestedPeriod",
        "path": "Appointment.requestedPeriod",
        "short": "Appointment[]를 할당하기 위해 요청된 날짜/시간 (기간)",
        "definition": "Appointment[]가예약되기를 원하는 날짜범위(잠재적으로시간포함) 내에서 잡아줌. 또한 실제 할당된 start/end 시간을채우고, 채우는약속의길이를나타내는기간(일반적으로분단위)을제공할수있음. 그러나상황에따라일정시스템에서기간을계산할수있음.",
        "comment": "이것은 되풀이 되는 약속의 수를 도입하지 않음",
        "type": [
          {
            "code": "Period"
          }
        ],
        "mapping": [
          {
            "identity": "workflow",
            "map": "Request.occurrence[x]"
          },
          {
            "identity": "v2",
            "map": "ARQ-11"
          },
          {
            "identity": "rim",
            "map": ".activityTime[@xsi:type = ('SXPR_TS', 'PIVL_TS')]"
          }
        ]
      },
      {
        "id": "Appointment.requestedPeriod.start",
        "path": "Appointment.requestedPeriod.start",
        "short": "해당 유효 기간의 시작 시점 (설정된 날짜 포함)",
        "definition": "해당 유효 기간이 시작되는 시점을 나타냄. 유효 기간은 시작 시점으로 설정된 날짜를 포함함."
      },
      {
        "id": "Appointment.requestedPeriod.end",
        "path": "Appointment.requestedPeriod.end",
        "short": "해당 유효 기간의 종료 시점 (설정된 날짜 포함)",
        "definition": "기간의 종료. 기간의 종료가 누락된 경우, 인스턴스가 생성될 때 끝이 알려지거나 계획되지 않았음을 의미함. 시작일은 과거일 수 있고 종료일은 미래일 수 있음. 이는 해당 기간이 해당 시간에 종료될 예정임을 의미함"
      }
    ]
  }
}