작업 유효성 검사: 개요
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의 진화된 버전입니다.
Azure API for FHIR 문서의 저장소 프로필에서 FHIR 프로필의 기본 사항을 살펴보고 저장했습니다. 이 문서에서는 프로필에 대해 리소스의 유효성을 검사하는 데 사용하는 $validate
방법을 안내합니다. 프로필에 대해 리소스의 유효성을 검사한다는 것은 구현 가이드에 나열된 Resource.meta.profile
사양을 포함하여 리소스가 프로필을 준수하는지 확인하는 것을 의미합니다.
$validate
는 FHIR 리소스가 기본 리소스 요구 사항 또는 지정된 프로필을 준수하는지 확인할 수 있는 FHIR®(Fast Healthcare Interoperability Resources)의 작업입니다. 이 작업을 수행하면 Azure API for FHIR의 데이터에 예상된 특성과 값이 있습니다. 유효성 검사 작업에 대한 자세한 내용은 HL7 FHIR 사양을 참조 하세요. 사양에 따라 만들기 및 업데이트와 같은 모드를 $validate
지정할 수 있습니다.
create
: Azure API for FHIR은 프로필 콘텐츠가 기존 리소스에서 고유하며 새 리소스로 만들 수 있는지 확인합니다.update
: 프로필이 지정된 기존 리소스에 대한 업데이트인지 확인합니다(변경할 수 없는 필드에는 변경되지 않음).
리소스의 유효성을 검사하는 방법에는 여러 가지가 있습니다.
- 유효성 검사 작업을 사용하여 기존 리소스의 유효성을 검사합니다.
- 유효성 검사 작업을 사용하여 새 리소스의 유효성을 검사합니다.
- 헤더를 사용하여 리소스 CREATE/UPDATE에 대한 유효성을 검사합니다.
Azure API for FHIR은 항상 $validate 작업에 대한 유효성 검사 결과로 반환 OperationOutcome
됩니다. Azure API for FHIR 서비스는 리소스가 $validate 엔드포인트에 전달되면 두 단계 유효성 검사를 수행합니다. 첫 번째 단계는 리소스를 구문 분석할 수 있도록 하는 기본 유효성 검사입니다. 리소스 구문 분석 중에 개별 오류를 수정한 후 다음 단계로 진행해야 합니다. 리소스가 성공적으로 구문 분석되면 전체 유효성 검사가 두 번째 단계로 수행됩니다.
참고 항목
유효성 검사에 사용할 값 집합은 FHIR 서버에 업로드해야 합니다. 여기에는 FHIR 사양의 일부인 값 집합과 구현 가이드에 정의된 모든 ValueSets가 포함됩니다. 모든 코드의 전체 목록을 포함하는 완전히 확장된 값 집합만 지원됩니다. 외부 원본을 참조하는 ValueSet 정의는 지원되지 않습니다.
기존 리소스 유효성 검사
기존 리소스의 유효성을 검사하려면 요청에 사용합니다 $validate
GET
.
GET http://<your Azure API for FHIR base URL>/{resource}/{resource ID}/$validate
예시:
GET https://myworkspace-myfhirserver.fhir.azurehealthcareapis.com/Patient/a6e11662-def8-4dde-9ebc-4429e68d130e/$validate
이 예제에서는 기본 환자 리소스에 대해 기존 환자 리소스 a6e11662-def8-4dde-9ebc-4429e68d130e
의 유효성을 검사합니다. 유효한 경우 다음 코드 예제와 OperationOutcome
같은 항목이 표시됩니다.
{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "information",
"code": "informational",
"diagnostics": "All OK"
}
]
}
리소스가 유효하지 않으면 리소스가 잘못된 이유에 대한 세부 정보가 포함된 오류 코드와 오류 메시지가 표시됩니다. 예제 OperationOutcome
는 오류 메시지와 함께 반환되며 다음 코드 예제와 같이 표시할 수 있습니다.
{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "error",
"code": "invalid",
"details": {
"coding": [
{
"system": "http://hl7.org/fhir/dotnet-api-operation-outcome",
"code": "1028"
}
],
"text": "Instance count for 'Patient.identifier.value' is 0, which is not within the specified cardinality of 1..1"
},
"location": [
"Patient.identifier[1]"
]
},
{
"severity": "error",
"code": "invalid",
"details": {
"coding": [
{
"system": "http://hl7.org/fhir/dotnet-api-operation-outcome",
"code": "1028"
}
],
"text": "Instance count for 'Patient.gender' is 0, which is not within the specified cardinality of 1..1"
},
"location": [
"Patient"
]
}
]
}
이 예제에서는 리소스가 제공된 환자 프로필을 준수하지 않아 환자 식별자 값과 성별이 필요했습니다.
프로필을 매개 변수로 지정하려는 경우 HL7 기본 프로필에 대한 다음 예제와 같이 유효성을 검사할 프로필의 정식 URL을 heartrate
지정할 수 있습니다.
GET https://myAzureAPIforFHIR.azurehealthcareapis.com/Observation/12345678/$validate?profile=http://hl7.org/fhir/StructureDefinition/heartrate
새 리소스 유효성 검사
Azure API for FHIR에 업로드하는 새 리소스의 유효성을 검사하려면 요청을 수행할 POST
수 있습니다. 서버는 항상 OperationOutcome을 결과로 반환합니다.
POST http://<your Azure API for FHIR base URL>/{Resource}/$validate
예시:
POST https://myAzureAPIforFHIR.azurehealthcareapis.com/Patient/$validate
이 요청은 리소스의 유효성을 검사합니다. 유효성 검사 리소스가 FHIR 서비스에서 만들어지지 않은 경우 리소스를 만들 $validate 없이 POST 요청을 보내야 합니다.
헤더를 사용하여 리소스 CREATE/UPDATE에 대한 유효성을 검사합니다.
기본적으로 Azure API for FHIR은 리소스 Create/Update
에 대한 유효성 검사를 옵트아웃하도록 구성됩니다. 이 기능을 사용하면 헤더를 사용하여 유효성 Create/Update
을 검사할 x-ms-profile-validation
수 있습니다. 유효성 검사를 위해 'x-ms-profile-validation'을 true로 설정합니다.
참고 항목
오픈 소스 FHIR 서비스에서 CoreFeatures에서 서버 구성 설정을 변경할 수 있습니다.
{
"FhirServer": {
"CoreFeatures": {
"ProfileValidationOnCreate": true,
"ProfileValidationOnUpdate": false
}
}
다음 단계
이 문서에서는 .를 사용하여 $validate
프로필에 대해 리소스의 유효성을 검사하는 방법을 알아보았습니다. 다른 Azure API for FHIR 지원 기능에 대해 알아보려면 다음을 참조하세요.
FHIR®은 HL7의 등록 상표이며, HL7의 사용 허가 하에 사용됩니다.