FHIR 적합성 명세

Cloud Healthcare API 내의 FHIR 저장소는 Health Level 7 International(HL7)에서 게시한 Fast Healthcare Interoperability Resources(FHIR) 사양의 여러 버전을 지원합니다.

v1 API는 다음 버전을 지원합니다.

FHIR 저장소를 만들 때 FHIR 버전을 fhirStores.create 메서드의 매개변수로 지정합니다. 저장소를 만든 후에는 FHIR 버전을 변경할 수 없습니다.

각 저장소의 API 인터페이스는 해당 저장소의 FHIR 버전을 따릅니다. 예를 들어 DSTU2 conformance 상호작용은 STU3 capabilities 상호작용과 다르지만 둘 다 /fhir/metadata REST 경로를 공유하므로 저장소의 FHIR 버전에 따라 다른 응답이 반환됩니다.

이후 FHIR 버전에 추가된 기능은 호환되지 않는 경우 이전 FHIR 버전을 사용하는 저장소에서 이용할 수 있습니다. 예를 들어 patch 상호작용은 STU3에서만 정의됨에도 불구하고 DSTU2 저장소에서 사용할 수 있습니다.

FHIR 버전의 v1 API에서 지원되는 기능의 세부정보

R4

서버의 기능 구문은 지원되는 사양의 일부를 나타냅니다.

  • 확장 프로그램 요소 지원을 포함하여 모든 R4 리소스를 저장하고 검색합니다. 이 API는 모든 데이터 요소에서 확장 프로그램을 허용, 저장, 반환합니다.
  • JSON 콘텐츠 유형을 사용하는 RESTful API의 모든 메서드가 지원되며 다음은 제외됩니다.
    • 여러 리소스에서 기록을 검색하는 유형 수준 및 시스템 수준 기록 상호작용은 지원되지 않습니다. 리소스 기록은 한 번에 하나의 리소스에 대해서만 검색할 수 있습니다.
    • 배치/트랜잭션 상호작용은 번들 내에서 검색 작업을 지원하지 않습니다.
  • 프로필 유효성 검사 및 적용이 지원됩니다.
  • 확장 프로그램 요소 검색을 포함한 사용자 정의 검색 매개변수는 v1beta1 API에서 지원됩니다.
  • 다음을 제외한 모든 검색 기능이 지원됩니다.

    • 검색 매개변수 Group-characteristic-value, Location-near, Bundle-composition, Bundle-message는 지원되지 않습니다.
    • 음성 일치를 수행하는 검색 매개변수는 지원되지 않습니다.
    • 검색결과 매개변수 _contained, _containedType, _summary=count, _summary=true는 지원되지 않습니다.
    • 특수 검색 매개변수 _content는 검색 매개변수가 참조하는 리소스의 모든 필드를 검색합니다. 검색할 수 없는 필드는 제외됩니다. 명시적 AND(검색어가 암시적으로 AND와 결합됨) 또는 대괄호를 지원하지 않습니다.
    • 특수 검색 매개변수 _query, _filter, _list는 지원되지 않습니다.
    • 반복되는 요소가 있는 필드에서 사용되는 _sort 매개변수는 첫 번째 요소를 기준으로 정렬되며 이는 사양과 다릅니다. 특수 검색 매개변수 _content을 제외하고 지원되는 모든 검색 매개변수는 _sort에 사용할 수 있습니다.
    • 토큰 검색 한정자 :of-type과 참조 검색 한정자 :identifier는 지원되지 않습니다.
    • 표준 참조 검색은 지원되지 않습니다. 표준 참조는 정규 참조로 처리됩니다.
    • _type 매개변수를 사용할 때 지정된 소스 유형과 교차되는 매개변수가 아니라 모든 리소스에 공통인 검색 매개변수만 사용할 수 있습니다.
    • 다음과 같은 복합 검색 매개변수의 일부분이 지원됩니다.

      • DocumentReference-relationship
      • Observation-code-value-concept
      • Observation-code-value-date
      • Observation-code-value-quantity
      • Observation-code-value-string
      • Observation-combo-code-value-concept
      • Observation-combo-code-value-quantity
      • Observation-component-code-value-concept
      • Observation-component-code-value-quantity

      나머지 복합 검색 매개변수는 지원되지 않습니다.

    • POST 메서드를 사용하여 검색하면 요청 본문에서 application/x-www-form-urlencoded 매개변수가 허용되지 않습니다.

    • 와일드 카드(*)는 _include에 지원되지만 _revinclude에 지원되지 않습니다.

지원되지 않는 영역은 다음과 같습니다.

  • 대부분의 확장 프로그램 작업은 구현되지 않습니다.
  • XML 콘텐츠 유형이 지원되지 않습니다.
  • 패치 작업에서 XML 패치 또는 FHIRPath 패치가 지원되지 않습니다.
  • HTTP HEAD 요청은 지원되지 않습니다.

하위 호환성을 허용하기 위해 API가 FHIR 사양에서 벗어나는 영역:

  • null은 필수 입력란에 허용됩니다.
  • 필수 입력란에는 빈 코드가 허용됩니다.
  • urn:uuid 참조는 일괄 번들에서 허용됩니다.

STU3

서버의 기능 구문은 지원되는 사양의 일부를 나타냅니다.

  • 확장 프로그램 요소 지원을 포함하여 모든 STU3 리소스를 저장하고 검색합니다. 이 API는 모든 데이터 요소에서 확장 프로그램을 허용, 저장, 반환합니다.
  • JSON 콘텐츠 유형을 사용하는 RESTful API의 모든 메서드가 지원되며 다음은 제외됩니다.

    • 여러 리소스에서 기록을 검색하는 유형 수준 및 시스템 수준 기록 상호작용은 지원되지 않습니다. 리소스 기록은 한 번에 하나의 리소스에 대해서만 검색할 수 있습니다.
    • 배치/트랜잭션 상호작용은 번들 내에서 검색 작업을 지원하지 않습니다.
  • 프로필 유효성 검사 및 적용이 지원됩니다.

  • 확장 프로그램 요소 검색을 포함한 사용자 정의 검색 매개변수는 v1beta1 API에서 지원됩니다.

  • 다음을 제외한 모든 검색 기능이 지원됩니다.

    • 검색 매개변수 Group-characteristic-value, Sequence-coordinate, Location-near, Location-near-distance, Bundle-composition, Bundle-message는 지원되지 않습니다.
    • 음성 일치를 수행하는 검색 매개변수는 지원되지 않습니다.
    • 검색결과 매개변수 _contained, _containedType, _summary=count, _summary=true는 지원되지 않습니다.
    • 특수 검색 매개변수 _content는 검색 매개변수로 참조되는 리소스의 모든 필드를 검색합니다. 검색할 수 없는 필드는 제외됩니다. 명시적 AND(검색어가 암시적으로 AND와 결합됨) 또는 대괄호를 지원하지 않습니다.
    • 특수 검색 매개변수 _query, _filter, _list는 지원되지 않습니다.
    • 반복되는 요소가 있는 필드에서 사용되는 _sort 매개변수는 첫 번째 요소를 기준으로 정렬되며 이는 사양과 다릅니다. 특수 검색 매개변수 _content을 제외하고 지원되는 모든 검색 매개변수는 _sort에 사용할 수 있습니다.
    • POST 메서드를 사용하여 검색하면 요청 본문에서 application/x-www-form-urlencoded 매개변수가 허용되지 않습니다.
    • 와일드 카드(*)는 _include에 지원되지만 _revinclude에 지원되지 않습니다.

지원되지 않는 영역은 다음과 같습니다.

  • 대부분의 확장 프로그램 작업은 구현되지 않습니다.
  • XML 콘텐츠 유형이 지원되지 않습니다.
  • 패치 작업에서 XML 패치 또는 FHIRPath 패치가 지원되지 않습니다.

하위 호환성을 허용하기 위해 API가 FHIR 사양에서 벗어나는 영역:

  • null은 필수 입력란에 허용됩니다.
  • 필수 입력란에는 빈 코드가 허용됩니다.
  • urn:uuid 참조는 일괄 번들에서 허용됩니다.

DSTU2

서버의 적합성 진술은 지원되는 사양의 일부를 나타냅니다.

  • 확장 프로그램 요소 지원을 포함하여 모든 DSTU2 리소스를 저장하고 검색합니다. 이 API는 모든 데이터 요소에서 확장 프로그램을 허용, 저장, 반환합니다.
  • JSON 콘텐츠 유형을 사용하는 RESTful API의 모든 메서드가 지원되며 다음은 제외됩니다.
    • 여러 리소스에서 기록을 검색하는 유형 수준 및 시스템 수준 기록 상호작용은 지원되지 않습니다. 리소스 기록은 한 번에 하나의 리소스에 대해서만 검색할 수 있습니다.
    • 배치/트랜잭션 상호작용은 번들 내에서 검색 작업을 지원하지 않습니다.
  • 프로필 유효성 검사 및 적용이 지원됩니다.
  • 다음을 제외한 모든 검색 기능이 지원됩니다.
    • 검색 매개변수 Group-characteristic-value, Location-near, Location-near-distance, Bundle-composition, Bundle-message, Coverage-dependent, Coverage-sequence는 지원되지 않습니다.
    • 확장 프로그램 요소에 정의된 검색 매개변수는 지원되지 않습니다.
    • 음성 일치를 수행하는 검색 매개변수는 지원되지 않습니다.
    • 검색결과 매개변수 _contained, _containedType, _summary=count, _summary=true는 지원되지 않습니다.
    • 특수 검색 매개변수 _content는 검색 매개변수로 참조되는 리소스의 모든 필드를 검색합니다. 검색할 수 없는 필드는 제외됩니다. 명시적 AND(검색어가 암시적으로 AND와 결합됨) 또는 대괄호를 지원하지 않습니다.
    • 특수 검색 매개변수 _query, _filter, _list는 지원되지 않습니다.
    • 반복되는 요소가 있는 필드에서 사용되는 _sort 매개변수는 첫 번째 요소를 기준으로 정렬되며 이는 사양과 다릅니다. 특수 검색 매개변수 _content을 제외하고 지원되는 모든 검색 매개변수는 _sort에 사용할 수 있습니다.
    • POST 메서드를 사용하여 검색하면 요청 본문에서 application/x-www-form-urlencoded 매개변수가 허용되지 않습니다.
    • 와일드 카드(*)는 _include에 지원되지만 _revinclude에 지원되지 않습니다.

지원되지 않는 영역은 다음과 같습니다.

  • 대부분의 확장 프로그램 작업은 구현되지 않습니다.
  • DSTU2에는 사용자 정의 검색 매개변수가 지원되지 않습니다.
  • XML 콘텐츠 유형이 지원되지 않습니다.

하위 호환성을 허용하기 위해 API가 FHIR 사양에서 벗어나는 영역:

  • null은 필수 입력란에 허용됩니다.
  • 필수 입력란에는 빈 코드가 허용됩니다.
  • urn:uuid 참조는 일괄 번들에서 허용됩니다.

게시된 사양 이외의 작업에 대한 세부정보

  • FHIR 저장소 구성에는 저장소의 모든 리소스 변경사항에 대해 사용자가 지정한 Pub/Sub 주제에 알리는 옵션이 포함되어 있습니다. 이 알림 메커니즘은 모든 Cloud Healthcare API 저장소에서 일반적이며 FHIR 구독(DSTU2, STU3, R4) 기능을 대체하지 않습니다.
  • Cloud Storage를 목적지로 하는 FHIR 저장소 내보내기 작업은 전체 저장소의 대량 내보내기만 제공합니다. 이는 FHIR 대량 데이터 초안 사양 구현이 아닙니다.
  • FHIR 저장소 가져오기 작업은 사양에 정의되어 있지 않습니다.
  • 리소스의 이전 버전을 삭제하는 Resource-purge 작업은 사양에 정의되어 있지 않습니다. 표준 프로세스 또는 다른 FHIR 구현에 이 사용 사례를 위해 다른 API 메서드가 포함된 경우 이 API가 이후에 변경될 수 있습니다.
  • ExecuteBundle 엔드포인트는 v1beta1의 history 번들을 사용하여 리소스의 이전 버전을 만듭니다.