FHIR의 Patient-Everything
Patient-all 작업은 환자와 관련된 모든 리소스의 보기를 제공하는 데 사용됩니다. 이 작업은 환자의 전체 기록에 대한 액세스 권한을 부여하거나 공급자 또는 다른 사용자가 환자와 관련된 대량 데이터 다운로드를 수행하는 데 유용할 수 있습니다. FHIR 사양에 따라 Patient-all은 이 작업이 호출되는 리소스 또는 컨텍스트에 설명된 하나 이상의 환자와 관련된 모든 정보를 반환합니다. Azure API for FHIR에서 Patient-everything은 특정 환자와 관련된 데이터를 끌어올 수 있습니다.
Patient-everything 사용
Patient-everything을 호출하려면 다음 명령을 사용합니다.
GET {FHIRURL}/Patient/{ID}/$everything
참고
특정 환자의 ID를 지정해야 합니다. 모든 환자에 대한 모든 데이터가 필요한 경우 $export 참조하세요.
Azure API for FHIR은 제공된 환자 ID와 일치하는 환자를 찾을 수 있는지 확인합니다. 결과가 발견되면 응답은 다음 정보가 포함된 형식 searchset
의 번들입니다.
- 환자 리소스
-
seealso가 아닌 링크 참조를 제외하고 또는 링크가 를 참조하는 경우를 제외하고 환자 리소스에서
seealso
직접 참조하는 리소스입니다RelatedPerson
. - 다른 환자에 대한 링크 참조가 있는
seealso
경우 결과에 나열된 환자에 대한seealso
Patient-everything 작업이 포함됩니다. - 환자 구획의 리소스
- 환자 리소스를 참조하는 디바이스 리소스입니다.
참고
환자에게 100개 이상의 디바이스가 연결된 경우 100개만 반환됩니다.
Patient-everything 매개 변수
Azure API for FHIR은 다음 쿼리 매개 변수를 지원합니다. 이러한 매개 변수는 모두 선택 사항입니다.
쿼리 매개 변수 | Description |
---|---|
_type | 응답에 포함할 리소스 유형을 지정할 수 있습니다. 예를 들어 _type=Encounter는 환자와 연결된 리소스만 Encounter 반환합니다. |
_이후 | 제공된 시간 이후 수정된 리소스만 반환합니다. |
start | 시작 날짜를 지정하면 임상 날짜가 지정된 시작 날짜 이후인 리소스가 가져옵니다. 시작 날짜가 제공되지 않으면 종료 날짜 이전의 모든 레코드가 scope. |
end | 종료 날짜를 지정하면 임상 날짜가 지정된 종료 날짜 이전인 리소스가 가져옵니다. 종료 날짜가 제공되지 않으면 시작 날짜 이후의 모든 레코드가 scope. |
참고
Patient-everything의 이 구현은 _count 매개 변수를 지원하지 않습니다.
환자 링크 처리
환자 리소스에는 환자를 다른 환자 또는 관련 사람과 연결하는 link라는 요소가 있습니다. 이 연결된 환자는 원래 환자의 전체적인 보기를 주는 것을 돕습니다. 링크 참조는 환자가 다른 환자를 교체하거나 두 개의 환자 리소스에 보완 정보가 있는 경우 사용할 수 있습니다. 링크의 한 가지 사용 사례는 ADT 38 또는 39 HL7v2 메시지가 오는 경우입니다. ADT38/39는 환자에 대한 업데이트를 설명합니다. 이 업데이트는 링크 요소에 있는 두 환자 간의 참조로 저장할 수 있습니다.
FHIR 사양에는 다양한 유형의 환자 링크에 대한 자세한 개요가 있지만 대략적인 요약은 다음과 같습니다.
- replaces - 환자 리소스가 다른 Patient를 대체합니다.
- refer - 환자는 유효하지만 기본 정보 원본으로 간주되지 않습니다. 추가 정보를 검색하기 위해 다른 환자를 가리킵니다.
- seealso - Patient에는 동등하게 유효한 다른 환자에 대한 링크가 포함되어 있습니다.
- replaced-by - Patient 리소스가 다른 Patient를 대체합니다.
환자-모든 환자 링크 세부 정보
Azure API for FHIR의 Patient-everything 작업은 환자 링크를 다양한 방법으로 처리하여 환자를 가장 전체적으로 볼 수 있도록 합니다.
참고
링크는 를 참조할 RelatedPerson
수도 있습니다. 현재 RelatedPerson
리소스는 Patient-everything에서 처리되지 않으며 번들에 반환되지 않습니다.
지금, 바꾸기 및 참조 링크는 Patient-everything 작업에 의해 무시되고, 연결된 환자는 번들에 반환되지 않습니다.
설명된 대로 seealso 링크는 원래 환자와 동일하게 유효한 것으로 간주되는 다른 환자를 참조합니다. Patient-everything 수술이 실행된 후에 환자가 다른 환자에 대한 링크가 있는 경우 수술은 seealso
각 seealso
링크에서 Patient-Everything을 실행합니다. 이것은 환자가 모형 seealso
링크를 가진 5명의 그밖 환자에 연결되는 경우에, 우리는 그 5명의 환자의 각각에 Patient-everything를 실행할 것이라는 것을 의미합니다.
참고
이는 한 계층 깊이의 링크만 따르 seealso
도록 설정됩니다. 링크의 링크를 seealso
처리 seealso
하지 않습니다.
최종 링크 형식이 대체됩니다. 이 경우 원래 환자 리소스는 더 이상 사용되지 않으며 replaced-by
링크는 사용해야 하는 환자를 가리킵니다. 의 이 구현 Patient-everything
에는 기본적으로 환자가 더 이상 유효하지 않음을 경고하는 연산 결과가 번들의 시작 부분에 포함됩니다. 헤더가 로 설정된 경우에도 Prefer
동작이 됩니다 handling=lenient
.
또한 헤더 handling=strict
를 Prefer
로 설정하여 오류를 throw할 수 있습니다. 이 경우 오류 코드 301 MovedPermanently
의 반환은 현재 환자가 만료되었음을 나타내고 링크에 포함된 올바른 환자의 ID를 반환합니다. 반환된 오류의 헤더는 ContentLocation
올바른 최신 요청을 가리킵니다.
참고
링크가 replaced-by
있고 Prefer: handling=lenient
결과가 여러 번들에 비동기적으로 반환되는 경우 작업 결과만 한 번들에 반환됩니다.
환자-모든 응답 순서
Patient-everything 작업은 결과를 단계별로 반환합니다.
- 1단계는
Patient
및generalPractitioner
managingOrganization
리소스 ir 참조 외에도 리소스 자체를 반환합니다. - 2단계와 3단계는 모두 환자 구획에 있는 자원을 반환합니다. 시작 또는 끝 쿼리 매개 변수를 지정하면 2단계는 임상 날짜별로 필터링할 수 있는 구획의 리소스를 반환하고, 3단계는 임상 날짜까지 필터링할 수 없는 구획에서 리소스를 반환합니다. 이러한 매개 변수를 모두 지정하지 않으면 2단계를 건너뛰고 3단계는 모든 환자 구획 리소스를 반환합니다.
- 4단계는 환자를 참조하는 모든 디바이스를 반환합니다.
각 단계에서는 번들로 결과를 반환합니다. 결과가 여러 페이지에 걸쳐 있는 경우 번들의 다음 링크는 해당 단계에 대한 결과의 다음 페이지를 가리킵니다. 단계의 모든 결과가 반환되면 번들의 다음 링크는 다음 단계를 시작하기 위한 호출을 가리킵니다.
원래 환자에게 어떤 링크가 있는 seealso
경우에, 단계 1에서 4는 그 환자의 각각을 위해 반복될 것입니다.
환자-모든 항목의 예
다음은 Patient-everything 연산을 사용하는 몇 가지 예입니다. 예제 외에도 및 replaced-by
동작의 작동 방식을 seealso
보여 주는 샘플 REST 파일이 있습니다.
Patient-everything를 사용하여 2010년과 2020년 사이에 쿼리하려면 다음 호출을 사용합니다.
GET {FHIRURL}/Patient/{ID}/$everything?start=2010&end=2020
$patient-everything를 사용하여 환자의 관찰 및 만남을 쿼리하려면 다음 호출을 사용합니다.
GET {FHIRURL}/Patient/{ID}/$everything?_type=Observation,Encounter
$patient-everything를 사용하여 2021-05-27T05:00:00Z 이후 환자의 "모든 것"을 쿼리하려면 다음 호출을 사용합니다.
GET {FHIRURL}/Patient/{ID}/$everything?_since=2021-05-27T05:00:00Z
이러한 각 호출에 대해 환자가 발견되면 해당 리소스의 를 사용하여 200 응답을 Bundle
다시 받게 됩니다.
다음 단계
이제 Patient-everything 작업을 사용하는 방법을 알게 되었으므로 검색 옵션에 대해 알아볼 수 있습니다.
FHIR®은 HL7의 등록 상표이며 HL7 의 권한으로 사용됩니다.