臺灣核心實作指引(TW Core IG)
0.3.2 - Ci-Build Trial Use

臺灣核心實作指引(TW Core IG), published by 衛生福利部. This guide is not an authorized publication; it is the continuous build for version 0.3.2 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/cctwFHIRterm/MOHW_TWCoreIG_Build/ and changes regularly. See the Directory of published versions

Resource Profile: TW Core Observation Screening Assessment

Official URL: https://twcore.mohw.gov.tw/ig/twcore/StructureDefinition/Observation-screening-assessment-twcore Version: 0.3.2
Active as of 2025-02-04 Computable Name: TWCoreObservationScreeningAssessment

此臺灣核心-健康狀態篩檢與評估(TW Core Observation Screening Assessment) Profile說明本IG如何進一步定義FHIR的Observation Resource以呈現健康狀態篩檢與評估資料。

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C 0..* Observation Measurements and simple assertions
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
obs-6: dataAbsentReason SHALL only be present if Observation.value[x] is not present
obs-7: If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present
tw-core-4: If there is no component or hasMember element then either a value[x] or a data absent reason must be present.
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... status ?!SΣ 1..1 code registered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.


ele-1: All FHIR elements must have a @value or children
.... category:survey S 1..1 CodeableConcept Classification of type of observation
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.


ele-1: All FHIR elements must have a @value or children

Required Pattern: At least the following
..... coding 1..* Coding Code defined by a terminology system
Fixed Value: (complex)
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: survey
.... category:twcore S 0..* CodeableConcept Classification of type of observation
Binding: 臺灣衛福部資訊處Observation Screening Assessment類型值集 (required)
ele-1: All FHIR elements must have a @value or children
... code SΣ 1..1 CodeableConceptTW Type of observation (code / type)
Binding: LOINC篩檢與評估值集 (preferred)
ele-1: All FHIR elements must have a @value or children
... subject SΣ 1..1 Reference(TW Core Patient | TW Core Location | Group | Device) Who and/or what the observation is about
ele-1: All FHIR elements must have a @value or children
... effective[x] SΣC 0..1 Clinically relevant time/time-period for observation
ele-1: All FHIR elements must have a @value or children
tw-core-3: Datetime must be at least to day.
.... effectiveDateTime dateTime
... performer SΣ 0..* Reference(TW Core Practitioner | TW Core Organization | TW Core Patient | TW Core PractitionerRole | TW Core CareTeam | TW Core RelatedPerson) Who is responsible for the observation
ele-1: All FHIR elements must have a @value or children
... value[x] SΣC 0..1 Actual result
ele-1: All FHIR elements must have a @value or children
tw-core-5: SHALL use UCUM for coded quantity units.
.... valueQuantity Quantity
.... valueCodeableConcept CodeableConcept
.... valueString string
... dataAbsentReason SC 0..1 CodeableConceptTW Why the result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.


ele-1: All FHIR elements must have a @value or children
... hasMember SΣ 0..* Reference(TW Core Observation Screening Assessment | TW Core QuestionnaireResponse | MolecularSequence) Related resource that belongs to the Observation group
ele-1: All FHIR elements must have a @value or children
... derivedFrom SΣ 0..* Reference(TW Core Observation Screening Assessment | TW Core QuestionnaireResponse) Related measurements the observation is made from
ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Observation.statusrequiredObservationStatus
http://hl7.org/fhir/ValueSet/observation-status|4.0.1
from the FHIR Standard
Observation.categorypreferredObservationCategoryCodes
http://hl7.org/fhir/ValueSet/observation-category
from the FHIR Standard
Observation.category:surveypreferredPattern: survey
http://hl7.org/fhir/ValueSet/observation-category
from the FHIR Standard
Observation.category:twcorerequiredTWObservationScreeningAssessmentCategory (a valid code from 臺灣衛福部資訊處類型代碼)
https://twcore.mohw.gov.tw/ig/twcore/ValueSet/observation-screening-assessment-category
from this IG
Observation.codepreferredLOINCSurveyCode
https://twcore.mohw.gov.tw/ig/twcore/ValueSet/loinc-survey-codes
from this IG
Observation.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorObservationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorObservationIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorObservationIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorObservationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceObservationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
obs-6errorObservationdataAbsentReason SHALL only be present if Observation.value[x] is not present
: dataAbsentReason.empty() or value.empty()
obs-7errorObservationIf Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present
: value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()
tw-core-3errorObservation.effective[x]Datetime must be at least to day.
: $this is dateTime implies $this.toString().length() >= 10
tw-core-4errorObservationIf there is no component or hasMember element then either a value[x] or a data absent reason must be present.
: (component.empty() and hasMember.empty()) implies (dataAbsentReason.exists() or value.exists())
tw-core-5errorObservation.value[x]SHALL use UCUM for coded quantity units.
: ofType(Quantity).system.empty() or ofType(Quantity).system = 'http://unitsofmeasure.org'

 

Other representations of profile: CSV, Excel, Schematron

Notes:

以下概述了此Profile所需的RESTful FHIR互動功能。有關TW Core IG支援的RESTful互動功能的完整清單,請參閱TW Core Server能力聲明

必須支援以下查詢參數:

  1. 必須(SHALL) 支援透過查詢參數 patientcategory 查詢所有Observation:
    (如何透過reference查詢)
    (如何透過token查詢)
    GET [base]/Observation?patient={Type/}[id]&category=https://twcore.mohw.gov.tw/ig/twcore/CodeSystem/category-code-tw|survey

    例子:
    (1) GET [base]/Observation?patient=Patient/pat-example&category=https://twcore.mohw.gov.tw/ig/twcore/CodeSystem/category-code-tw|survey

  2. 必須(SHALL) 支援透過查詢參數 patientcode 查詢所有Observation:
    (如何透過reference查詢)
    (如何透過token查詢)
    GET [base]/Observation?patient={Type/}[id]&code={system|}[code]{,{system|}[code],...}

    例子:
    (1) GET [base]/Observation?patient=Patient/pat-example&code=http://loinc.org|9271-8,http://loinc.org|32405-3,http://loinc.org|32403-8

  3. 必須(SHALL) 支援透過查詢參數 patientcategorydate 查詢所有Observation:
    (如何透過reference查詢)
    (如何透過token查詢)
    (如何透過date查詢)
    GET [base]/Observation?patient={Type/}[id]&category=https://twcore.mohw.gov.tw/ig/twcore/CodeSystem/category-code-tw|survey&date={gt|lt|ge|le}[date]{&date={gt|lt|ge|le}[date]&...}

    例子:
    (1) GET [base]/Observation?patient=Patient/pat-example&category=https://twcore.mohw.gov.tw/ig/twcore/CodeSystem/category-code-tw|survey&date=ge2020-01-01T00:00:00Z

建議應該支援以下查詢參數:

  1. 建議應該(SHOULD) 支援透過查詢參數 patientcategorystatus 查詢所有Observation:
    (如何透過reference查詢)
    (如何透過token查詢)
    GET [base]/Observation?patient={Type/}[id]&category=https://twcore.mohw.gov.tw/ig/twcore/CodeSystem/category-code-tw|survey&status={system|}[code]{,{system|}[code],...}

    例子:
    (1) GET [base]/Observation?patient=Patient/pat-example&category=https://twcore.mohw.gov.tw/ig/twcore/CodeSystem/category-code-tw|survey&status=final

  2. 建議應該(SHOULD) 支援透過查詢參數 patientcategory_lastUpdated 查詢所有Observation:
    (如何透過reference查詢)
    (如何透過token查詢)
    (如何透過date查詢)
    GET [base]/Observation?patient={Type/}[id]&category={system|}[code]&_lastUpdated={gt|lt|ge|le}[date]{&_lastUpdated={gt|lt|ge|le}[date]&...}

    例子:
    (1) GET [base]/Observation?patient=Patient/pat-example&category=https://twcore.mohw.gov.tw/ig/twcore/CodeSystem/category-code-tw|survey&_lastUpdated=ge2024-01-01T00:00:00Z

  3. 支援透過查詢參數 patientcodedate 查詢所有Observation:
    (如何透過reference查詢)
    (如何透過token查詢)
    (如何透過date查詢)
    GET [base]/Observation?patient={Type/}[id]&code={system|}[code]{,{system|}[code],...}&date={gt|lt|ge|le}[date]{&date={gt|lt|ge|le}[date]&...}

    例子:
    (1) GET [base]/Observation?patient=Patient/pat-example&code=http://loinc.org|9271-8&date=ge2020-01-01T00:00:00Z