<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="Subscription" />
  <meta>
    <lastUpdated value="2019-11-01T09:29:23.356+11:00" />
  </meta>
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-category">
    <valueString value="Foundation.Other" />
  </extension>
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
    <valueCode value="trial-use" />
  </extension>
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">
    <valueInteger value="3" />
  </extension>
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-security-category">
    <valueCode value="business" />
  </extension>
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
    <valueCode value="fhir" />
  </extension>
  <url value="http://hl7.org/fhir/StructureDefinition/Subscription" />
  <version value="4.0.1" />
  <name value="KR_Subscription" />
  <status value="draft" />
  <date value="2019-11-01T09:29:23+11:00" />
  <publisher value="Health Level Seven International (FHIR Infrastructure)" />
  <contact>
    <telecom>
      <system value="url" />
      <value value="http://hl7.org/fhir" />
    </telecom>
  </contact>
  <contact>
    <telecom>
      <system value="url" />
      <value value="http://www.hl7.org/Special/committees/fiwg/index.cfm" />
    </telecom>
  </contact>
  <description value="Subscription[] 리소스는 서버가 다른시스템으로 푸쉬(push)할 때 사용하는 구독(subscription)을 정의하는 데 사용됨. 일단 구독(subscription)이 서버에 등록되면, 서버는 생성 또는 업데이트 되는 모든 리소스를 체크하고, 만약 리소스가 주어진 기준(criteria)와 일치할 경우 다른시스템이 적절한 조치를 취하도록 정의된 &quot;channel&quot;에 메세지를 보냄" />
  <fhirVersion value="4.0.1" />
  <mapping>
    <identity value="rim" />
    <uri value="http://hl7.org/v3" />
    <name value="RIM Mapping" />
  </mapping>
  <mapping>
    <identity value="w5" />
    <uri value="http://hl7.org/fhir/fivews" />
    <name value="FiveWs Pattern Mapping" />
  </mapping>
  <kind value="resource" />
  <abstract value="false" />
  <type value="Subscription" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
  <derivation value="specialization" />
  <differential>
    <element id="Subscription">
      <path value="Subscription" />
      <short value="서버가 push하는 구독(subscription) 기준" />
      <definition value="Subscription[] 리소스는 서버가 다른시스템으로 푸쉬(push)할 때 사용하는 구독(subscription)을 정의하는 데 사용됨. 일단 구독(subscription)이 서버에 등록되면, 서버는 생성 또는 업데이트 되는 모든 리소스를 체크하고, 만약 리소스가 주어진 기준(criteria)와 일치할 경우 다른시스템이 적절한 조치를 취하도록 정의된 &quot;channel&quot;에 메세지를 보냄" />
      <alias value="WebHook" />
      <alias value="Hook" />
      <alias value="Routing Rule" />
      <mapping>
        <identity value="rim" />
        <map value="N/A" />
      </mapping>
    </element>
    <element id="Subscription.status">
      <path value="Subscription.status" />
      <short value="requested | active | error | off" />
      <definition value="구독(subscription)상태. 구독(subscription) 관리를 위한 서버상태(status)를 표시 함" />
      <comment value="클라이언트는 요청 또는 해제 상태에서만 구독(subscripton)리소스를 제출할 수 있음. 오직 서버만 요청한 구독(subscription)을 활성(active)로 이동한 다름 오류(error)로 이동할 수 있음. 서버 또는 클라이언트 중 하나가 구독(subscripton)을 없앨 수 있음. 상태(status)가 리소스를 유효하지 않는 것으로 표시하는 코드(code)를 가지고 있기 때문에 수정자(modifier)로 레이블을 지정함" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="code" />
      </type>
      <isModifier value="true" />
      <isModifierReason value="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 value="true" />
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="SubscriptionStatus" />
        </extension>
        <strength value="required" />
        <description value="The status of a subscription." />
        <valueSet value="http://hl7.org/fhir/ValueSet/subscription-status|4.0.1" />
      </binding>
      <mapping>
        <identity value="w5" />
        <map value="FiveWs.status" />
      </mapping>
    </element>
    <element id="Subscription.contact">
      <path value="Subscription.contact" />
      <short value="소스에 대한 연락처 세부정보 (예: 문제 해결)" />
      <definition value="사람이 구독(subscription)에 대해 연락할 수 있는 연락처 정보임. 시스템 관리자 문제 해결을 위해 이것을 주로 사용함." />
      <type>
        <code value="ContactPoint" />
      </type>
      <isSummary value="true" />
      <mapping>
        <identity value="w5" />
        <map value="FiveWs.subject[x]" />
      </mapping>
      <mapping>
        <identity value="w5" />
        <map value="FiveWs.subject" />
      </mapping>
    </element>
    <element id="Subscription.contact.system">
      <path value="Subscription.contact.system" />
      <short value="phone | fax | email | pager | url | sms | other" />
      <definition value="연락처에 대한 통신 방법 - 연락처를 활용하기 위해 필요한 연락 시스템." />
    </element>
    <element id="Subscription.contact.value">
      <path value="Subscription.contact.value" />
      <short value="실제 연락처(actual contact point)의 값" />
      <definition value="지정된 통신 방법을 통하여 연락을 할 수 있는 실제 연락처(actual contact point)의 값 (예: 전화번호, 이메일주소)" />
    </element>
    <element id="Subscription.contact.use">
      <path value="Subscription.contact.use" />
      <short value="home | work | temp | old | mobile - 연락처 경로" />
      <definition value="연락처의 경로를 식별함." />
    </element>
    <element id="Subscription.contact.rank">
      <path value="Subscription.contact.rank" />
      <short value="선호되는 사용 순서를 명시함 (1 = 가장 높은 순서)" />
      <definition value="연락처 세트를 사용할 선호 순서를 지정. 순위(rank) 값이 낮은 ContactPoint가 순위(rank) 값이 높은 ContactPoint보다 선호됨." />
    </element>
    <element id="Subscription.contact.period">
      <path value="Subscription.contact.period" />
      <short value="연락처가 사용/사용 된 기간" />
      <definition value="연락처가 사용/사용 된 기간" />
    </element>
    <element id="Subscription.contact.period.start">
      <path value="Subscription.contact.period.start" />
      <short value="해당 유효 기간의 시작 시점 (설정된 날짜 포함)" />
      <definition value="해당 유효 기간이 시작되는 시점을 나타냄. 유효 기간은 시작 시점으로 설정된 날짜를 포함함." />
    </element>
    <element id="Subscription.contact.period.end">
      <path value="Subscription.contact.period.end" />
      <short value="해당 유효 기간의 종료 시점 (설정된 날짜 포함)" />
      <definition value="기간의 종료. 기간의 종료가 누락된 경우, 인스턴스가 생성될 때 끝이 알려지거나 계획되지 않았음을 의미함. 시작일은 과거일 수 있고 종료일은 미래일 수 있음. 이는 해당 기간이 해당 시간에 종료될 예정임을 의미함" />
    </element>
    <element id="Subscription.end">
      <path value="Subscription.end" />
      <short value="구독(subscription)을 자동으로 삭제할 때" />
      <definition value="서버가 구독(subscription)을 끄는 시간" />
      <comment value="서버는 이 시간에서 벗어나는 것이 허용되지만 이를 준수(observe)해야 함" />
      <max value="1" />
      <type>
        <code value="instant" />
      </type>
      <isSummary value="true" />
      <mapping>
        <identity value="w5" />
        <map value="FiveWs.done[x]" />
      </mapping>
    </element>
    <element id="Subscription.reason">
      <path value="Subscription.reason" />
      <short value="이 구독(description)이 생성된 이유 설명" />
      <definition value="이 구독(description)이 정의된 이유 설명" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
      <isSummary value="true" />
      <mapping>
        <identity value="w5" />
        <map value="FiveWs.why[x]" />
      </mapping>
    </element>
    <element id="Subscription.criteria">
      <path value="Subscription.criteria" />
      <short value="서버 push 규칙(rule)" />
      <definition value="서버가 이 구독에 대한 알림을 언제 생성해야하는 지 결정할 때 사용해야 하는 규칙" />
      <comment value="규칙은 검색의 기준임(without the [base] part). Bundle.entry.request.url 처럼, 이것은 &quot;/&quot;.를 이끌지 않음" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
      <isSummary value="true" />
    </element>
    <element id="Subscription.error">
      <path value="Subscription.error" />
      <short value="최신 오류 노트(note)" />
      <definition value="서버에서 알림을 처리할 때 발생한 마지막 오류의 기록(record)" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
      <isSummary value="true" />
    </element>
    <element id="Subscription.channel">
      <path value="Subscription.channel" />
      <short value="보고할 채널이 기준과 일치" />
      <definition value="기준을 충족하는 리소스를 수신할 때 알림을 보낼 대상을 자세히 설명함" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="BackboneElement" />
      </type>
      <isSummary value="true" />
    </element>
    <element id="Subscription.channel.type">
      <path value="Subscription.channel.type" />
      <short value="rest-hook | websocket | email | sms | message" />
      <definition value="알림을 전송할 채널의 유형(type)" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="code" />
      </type>
      <isSummary value="true" />
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="SubscriptionChannelType" />
        </extension>
        <strength value="required" />
        <description value="The type of method used to execute a subscription." />
        <valueSet value="http://hl7.org/fhir/ValueSet/subscription-channel-type|4.0.1" />
      </binding>
    </element>
    <element id="Subscription.channel.endpoint">
      <path value="Subscription.channel.endpoint" />
      <short value="채널이 향하는 곳" />
      <definition value="메세지를 보낼 실제 엔드포인트(end-point)를 설명하는 url" />
      <comment value="rest-hook과 websocket의 경우, 엔드포인트(endpoint)는 http: 또는 https: URL임; 이메일의 경우 mailto: url, sms의 경우 tel: url 및 메시지의 경우 엔드포인트(endpoint)는 서버가 이해하는 모든 URL 형식 (일반적으로 http: 또는 mllp:) 일 수 있음. URI는 관계가 있어야함. 이 경우 서버 엔드포인트(endpoint)에 관계적임 (둘 이상이 있을 수 있으므로 클라이언트는 관계적 URI를 사용하지 않아야 함)" />
      <max value="1" />
      <type>
        <code value="url" />
      </type>
      <isSummary value="true" />
    </element>
    <element id="Subscription.channel.payload">
      <path value="Subscription.channel.payload" />
      <short value="전송할 MIME 타입(type), 페이로드(payload)가 없는 경우는 생략" />
      <definition value="페이로드(payload)를 application/fhir+xml 또는 application/fhir+json으로 전송하는 MIME 유형(type). 페이로드가 없는 경우 페이로드가 없는 통지(notification)만 있음. mime 타입 &quot;text/plain&quot; 은 이메일 및 SMS 구독(subscriptions)에도 사용될 수 있음" />
      <comment value="페이로드(payload)를 전송한느 것은 명백하게 보안적으로 함축된 의미를 가지고 있음. 서버는 컨텐츠를 적절하게 확보(secured)해야 하는 책임이 있음" />
      <max value="1" />
      <type>
        <code value="code" />
      </type>
      <isSummary value="true" />
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="MimeType" />
        </extension>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding">
          <valueBoolean value="true" />
        </extension>
        <strength value="required" />
        <description value="The mime type of an attachment. Any valid mime type is allowed." />
        <valueSet value="http://hl7.org/fhir/ValueSet/mimetypes|4.0.1" />
      </binding>
    </element>
    <element id="Subscription.channel.header">
      <path value="Subscription.channel.header" />
      <short value="용도는 채널 유형(type)에 따라 다름" />
      <definition value="알림(notification)의 일부로 보낼 추가 헤더/정보임." />
      <comment value="정확히 이 의미는 채널 유형에 따라 달라짐. 그들은 수신자에게 추가 정보를 전달하거나/또는 보안 요구 사항을 충족시킬 수 있음. 예를 들어, rest-hook 타입(type) 구독(subscription)을 위한 발신(outgoint) 통지(notification)의 다중 헤더(header)를 지원함" />
      <type>
        <code value="string" />
      </type>
      <isSummary value="true" />
    </element>
  </differential>
</StructureDefinition>