다음을 통해 공유


Azure API for FHIR에 프로필 저장

Important

Azure API for FHIR은 2026년 9월 30일에 사용 중지됩니다. 해당 날짜까지 마이그레이션 전략에 따라 Azure Health Data Services FHIR® 서비스로 전환합니다. Azure API for FHIR의 사용 중지로 인해 2025년 4월 1일부터 신규 배포가 허용되지 않습니다. Azure Health Data Services FHIR 서비스는 고객이 다른 Azure 서비스에 통합하여 FHIR, DICOM 및 MedTech 서비스를 관리할 수 있도록 하는 Azure API for FHIR의 진화된 버전입니다.

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

Azure API for 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 지정됩니다. 다음은 프로필http://hl7.org/fhir/us/carin-bb/StructureDefinition/C4BB-Patient이 있는 리소스의 시작 부분에 대한 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 및 그 안에 정의된 프로필에 대해 자세히 알아보세요.

참고 항목

기본적으로 Azure API for FHIR은 구현 가이드의 프로필을 저장하지 않습니다. FHIR용 Azure API에 로드해야 합니다.

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

프로필 저장

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

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

or

조건부 업데이트: PUT http://<your Azure API for FHIR 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://myAzureAPIforFHIR.azurehealthcareapis.com/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 Azure API for FHIR base URL>/StructureDefinition?url={canonicalUrl}사용하여 GET 기존 사용자 지정 프로필에 액세스할 수 있습니다. 여기서 프로필의 정식 URL은 다음과 {canonicalUrl} 같습니다.

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

GET https://myworkspace-myfhirserver.fhir.azurehealthcareapis.com/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).",

}

참고 항목

Azure API for FHIR에 로드한 프로필만 표시됩니다.

Azure API for FHIR은 기본 프로필에 대한 인스턴스를 반환 StructureDefinition 하지 않지만 HL7 웹 사이트에서 찾을 수 있습니다.

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

기능 문의 프로필

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

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

예를 들어 다음과 같이 시작하는 US Core 환자 프로필을 저장하는 경우입니다.

{
  "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 Azure API for FHIR base URL>/metadata

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

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

프로필의 바인딩

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

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

다음 단계

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

참고 항목

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