다음을 통해 공유


FHIR 서비스에 프로필 저장

HL7 FHIR®(Fast Healthcare Interoperability Resources)은 의료 데이터를 저장하고 교환하는 표준적이고 상호 운용 가능한 방법을 정의합니다. 기본 FHIR 사양 내에서도 FHIR이 사용되는 컨텍스트에 따라 다른 규칙 또는 확장을 정의하는 것이 유용할 수 있습니다. FHIR 의 컨텍스트별 사용의 경우 FHIR 프로필 은 추가 사양 계층에 사용됩니다. FHIR 프로필을 사용하면 제약 조건 및 확장을 사용하여 리소스 정의를 좁히고 사용자 지정할 수 있습니다.

Azure Health Data Services FHIR 서비스를 사용하면 프로필에 대한 리소스의 유효성을 검사하여 리소스가 프로필을 준수하는지 확인할 수 있습니다. 이 문서에서는 FHIR 프로필의 기본 사항과 이를 저장하는 방법을 안내합니다. FHIR 프로필에 대한 자세한 내용은 HL7.org 방문하세요.

FHIR 프로필: 기본 사항

프로필은 리소스로 표시되는 리소스에 대한 추가 컨텍스트를 StructureDefinition 설정합니다. A StructureDefinition 는 리소스의 콘텐츠 또는 데이터 형식에 대한 규칙 집합(예: 리소스에 있는 요소 및 이러한 요소가 취할 수 있는 값)을 정의합니다.

다음은 프로필이 기본 리소스를 수정하는 방법의 몇 가지 예입니다.

  • 카디널리티 제한: 예를 들어 요소의 최대 카디널리티를 0으로 설정할 수 있습니다. 즉, 요소가 특정 컨텍스트에서 제외됩니다.
  • 요소의 내용을 단일 고정 값으로 제한합니다.
  • 리소스에 필요한 확장을 정의합니다.

A StructureDefinition 는 정식 URL로 식별됩니다. http://hl7.org/fhir/StructureDefinition/{profile}

예시:

  • http://hl7.org/fhir/StructureDefinition/patient-birthPlace 는 환자의 출생의 등록된 주소에 대한 정보가 필요한 기본 프로필입니다.
  • http://hl7.org/fhir/StructureDefinition/bmi 는 BMI(체질량 지수) 관찰을 나타내는 방법을 정의하는 또 다른 기본 프로필입니다.
  • http://hl7.org/fhir/us/core/StructureDefinition/us-core-allergyintolerance 는 환자와 연결된 리소스에 대한 AllergyIntolerance 최소 기대치를 설정하고 확장 및 값 집합과 같은 필수 필드를 식별하는 US Core 프로필입니다.

리소스가 프로필을 준수하는 경우 프로필은 리소스의 요소 내에 profile 지정됩니다. 다음 예제에서는 프로필이 있는 'Patient' 리소스 http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-Patient 의 시작을 볼 수 있습니다.

{
  "resourceType" : "Patient",
  "id" : "ExamplePatient1",
  "meta" : {
    "lastUpdated" : "2020-10-30T09:48:01.8512764-04:00",
    "source" : "Organization/PayerOrganizationExample1",
    "profile" : [
      "http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-Patient"
    ]
  },

참고 항목

프로필은 기본 리소스를 기반으로 빌드해야 하며 기본 리소스와 충돌할 수 없습니다. 예를 들어 요소의 카디널리티가 1..1인 경우 프로필은 이를 선택적으로 만들 수 없습니다.

프로필은 다양한 IG(구현 가이드)로도 지정됩니다. 다음은 일반적인 IG 목록입니다. 자세한 내용은 특정 IG 사이트를 방문하여 IG 및 그 안에 정의된 프로필에 대해 자세히 알아보세요.

참고 항목

FHIR 서비스는 기본적으로 구현 가이드의 프로필을 저장하지 않습니다. FHIR 서비스에 로드해야 합니다.

프로필 액세스 및 프로필 저장

프로필 저장

FHIR 서비스에 프로필을 저장하려면 요청 본문에 프로필 콘텐츠를 포함할 수 있습니다 PUT StructureDefinition . 표준 PUT 또는 조건부 업데이트는 모두 FHIR 서비스에 프로필을 저장하는 좋은 방법입니다. 사용할지 확실하지 않은 경우 조건부 업데이트를 사용합니다.

표준 PUT: PUT http://<your FHIR service base URL>/StructureDefinition/profile-id

or

조건부 업데이트: PUT http://<your FHIR service base URL>/StructureDefinition?url=http://sample-profile-url

{ 
"resourceType" : "StructureDefinition",
"id" : "profile-id",
"url": "http://sample-profile-url"
	…
}

예를 들어 프로필을 저장 us-core-allergyintolerance 하려는 경우 본문에 US Core 알레르기 불관용 프로필과 함께 다음 rest 명령을 사용합니다. 예제를 위해 이 프로필의 코드 조각을 포함했습니다.

PUT https://<your FHIR service base URL>/StructureDefinition?url=http://hl7.org/fhir/us/core/StructureDefinition/us-core-allergyintolerance
{
    "resourceType" : "StructureDefinition",
    "id" : "us-core-allergyintolerance",
    "text" : {
        "status" : "extensions"
    },
    "url" : "http://hl7.org/fhir/us/core/StructureDefinition/us-core-allergyintolerance",
    "version" : "3.1.1",
    "name" : "USCoreAllergyIntolerance",
    "title" : "US  Core AllergyIntolerance Profile",
    "status" : "active",
    "experimental" : false,
    "date" : "2020-06-29",
        "publisher" : "HL7 US Realm Steering Committee",
    "contact" : [
    {
      "telecom" : [
        {
          "system" : "url",
          "value" : "http://www.healthit.gov"
        }
      ]
    }
  ],
    "description" : "Defines constraints and extensions on the AllergyIntolerance resource for the minimal set of data to query and retrieve allergy information.",

자세한 예제는 US Core 프로필 저장을 안내하는 오픈 소스 사이트의 US Core 샘플 REST 파일을 참조하세요. 최신 프로필을 얻으려면 HL7에서 직접 프로필을 가져와야 하며 이를 정의하는 구현 가이드가 있어야 합니다.

프로필 보기

요청을 GET http://<your FHIR service base URL>/StructureDefinition?url={canonicalUrl}사용하여 GET 기존 사용자 지정 프로필에 액세스할 수 있습니다. 여기서 프로필의 정식 URL은 다음과 {canonicalUrl} 같습니다.

예를 들어 US Core 목표 리소스 프로필을 보려면 다음을 수행합니다.

GET https://<your FHIR service base URL>/StructureDefinition?url=http://hl7.org/fhir/us/core/StructureDefinition/us-core-goal

그러면 다음과 같이 시작되는 US Core 목표 프로필의 리소스가 반환 StructureDefinition 됩니다.

{
  "resourceType" : "StructureDefinition",
  "id" : "us-core-goal",
  "url" : "http://hl7.org/fhir/us/core/StructureDefinition/us-core-goal",
  "version" : "3.1.1",
  "name" : "USCoreGoalProfile",
  "title" : "US Core Goal Profile",
  "status" : "active",
  "experimental" : false,
  "date" : "2020-07-21",
  "publisher" : "HL7 US Realm Steering Committee",
  "contact" : [
    {
      "telecom" : [
        {
          "system" : "url",
          "value" : "http://www.healthit.gov"
        }
      ]
    }
  ],
  "description" : "Defines constraints and extensions on the Goal resource for the minimal set of data to query and retrieve a patient's goal(s).",

}

참고 항목

FHIR 서비스에 로드한 프로필만 표시됩니다.

FHIR 서비스는 기본 프로필에 대한 인스턴스를 반환 StructureDefinition 하지 않지만 다음과 같이 HL7 웹 사이트에서 쉽게 찾을 수 있습니다.

  • http://hl7.org/fhir/Observation.profile.json.html
  • http://hl7.org/fhir/Patient.profile.json.html

기능 문의 프로필

FHIR Capability Statement 서비스의 가능한 모든 동작을 나열합니다. FHIR 서비스는 다음 형식으로 저장된 프로필의 세부 정보로 기능 문을 업데이트합니다.

  • CapabilityStatement.rest.resource.profile
  • CapabilityStatement.rest.resource.supportedProfile

예를 들어 다음과 같이 시작하는 US Core 환자 프로필인 경우 POST

{
  "resourceType": "StructureDefinition",
  "id": "us-core-patient",
  "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient",
  "version": "3.1.1",
  "name": "USCorePatientProfile",
  "title": "US Core Patient Profile",
  "status": "active",
  "experimental": false,
  "date": "2020-06-27",
  "publisher": "HL7 US Realm Steering Committee",

다음 사항에 GET 대한 요청을 보냅니다 metadata.

GET http://<your FHIR service base URL>/metadata

FHIR 서버에 업로드한 US Core 환자 프로필에 대한 다음 정보가 포함된 A CapabilityStatement 가 반환됩니다.

...
{
    "type": "Patient",
    "profile": "http://hl7.org/fhir/StructureDefinition/Patient",
    "supportedProfile":[
        "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient"
    ],

프로필의 바인딩

용어 서비스는 코드 유효성 검사, 코드 번역 및 값 집합 확장과 같은 의료 "용어"에 대한 작업을 수행할 수 있는 함수 집합입니다. FHIR 서비스는 용어 서비스를 지원하지 않습니다. 지원되는 작업($), 리소스 종류 및 상호 작용에 대한 정보는 서비스의 CapabilityStatement에서 찾을 수 있습니다. 리소스 종류 ValueSet, StructureDefinition 및 CodeSystem은 기본 CRUD 작업 및 검색(CapabilityStatement에 정의된 대로)과 함께 지원되며 시스템에서 $validate 사용할 수 있습니다.

ValueSets에는 복잡한 규칙 집합과 외부 참조가 포함될 수 있습니다. 현재 서비스는 미리 확장된 인라인 코드만 고려합니다. 고객은 $validate 작업을 활용하기 전에 지원되는 ValueSets를 FHIR 서버에 업로드해야 합니다. 위의 프로필 저장 섹션에서 설명한 대로 PUT 또는 조건부 업데이트를 사용하여 ValueSet 리소스를 FHIR 서버에 업로드해야 합니다.

다음 단계

이 문서에서는 FHIR 프로필에 대해 알아보았습니다. 다음으로, $validate 사용하여 리소스가 이러한 프로필을 준수하는지 확인하는 방법을 알아봅니다.

참고 항목

FHIR®은 HL7의 등록 상표이며, HL7의 사용 허가 하에 사용됩니다.