臺灣核心實作指引(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 BMI

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

此臺灣核心-身體質量指數(TW Core Observation BMI) Profile說明本IG如何進一步定義臺灣核心-生命體徵(TW Core Observation Vital Signs) Profile以呈現身體質量指數資料。

Usage:

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C 0..* observation-bmi FHIR Body Mass Index (BMI) Profile
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
vs-2: 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)
ele-1: All FHIR elements must have a @value or children
.... category:VSCat 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
..... coding SΣ 1..* Coding Code defined by a terminology system
ele-1: All FHIR elements must have a @value or children
...... system SΣ 1..1 uri Identity of the terminology system
ele-1: All FHIR elements must have a @value or children
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... code SΣ 1..1 code Symbol in syntax defined by the system
ele-1: All FHIR elements must have a @value or children
Fixed Value: vital-signs
... code SΣ 1..1 CodeableConceptTW 身體質量指數(BMI)
Binding: VitalSigns (extensible): This identifies the vital sign result type.


ele-1: All FHIR elements must have a @value or children
.... Slices for coding Σ 1..1 Coding Code defined by a terminology system
Slice: Unordered, Open by value:code, value:system
ele-1: All FHIR elements must have a @value or children
..... coding:BMICode Σ 1..1 Coding Code defined by a terminology system
ele-1: All FHIR elements must have a @value or children
...... system Σ 1..1 uri Identity of the terminology system
ele-1: All FHIR elements must have a @value or children
Fixed Value: http://loinc.org
...... code Σ 1..1 code Symbol in syntax defined by the system
ele-1: All FHIR elements must have a @value or children
Fixed Value: 39156-5
... subject SΣ 1..1 Reference(TW Core Patient) Who and/or what the observation is about
ele-1: All FHIR elements must have a @value or children
... encounter Σ 0..1 Reference(TW Core Encounter) Healthcare event during which this observation is made
ele-1: All FHIR elements must have a @value or children
... effective[x] SΣC 1..1 Often just a dateTime for Vital Signs
ele-1: All FHIR elements must have a @value or children
vs-1: if Observation.effective[x] is dateTime and has a value then that value shall be precise to the day
.... effectiveDateTime dateTime
.... effectivePeriod Period
... performer Σ 0..* Reference(TW Core Practitioner | TW Core PractitionerRole | TW Core Organization | TW Core CareTeam | TW Core Patient | TW Core RelatedPerson) Who is responsible for the observation
ele-1: All FHIR elements must have a @value or children
... Slices for value[x] SΣC 0..1 Quantity Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept.
Slice: Unordered, Closed by type:$this
ele-1: All FHIR elements must have a @value or children
.... value[x]:valueQuantity SΣC 1..1 Quantity Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept.
ele-1: All FHIR elements must have a @value or children
..... value SΣ 1..1 decimal Numerical value (with implicit precision)
ele-1: All FHIR elements must have a @value or children
..... comparator ?!Σ 0..1 code < | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.


ele-1: All FHIR elements must have a @value or children
..... unit SΣ 1..1 string Unit representation
ele-1: All FHIR elements must have a @value or children
..... system SΣC 1..1 uri System that defines coded unit form
ele-1: All FHIR elements must have a @value or children
Fixed Value: http://unitsofmeasure.org
..... code SΣ 1..1 code Coded responses from the common UCUM units for vital signs value set.
ele-1: All FHIR elements must have a @value or children
Fixed Value: kg/m2
... dataAbsentReason SC 0..1 CodeableConcept 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
... bodySite 0..1 CodeableConcept Observed body part
Binding: SNOMEDCTBodyStructures (extensible)
ele-1: All FHIR elements must have a @value or children
... method 0..1 CodeableConcept How it was done
Binding: ObservationMethods (extensible)
ele-1: All FHIR elements must have a @value or children
... specimen 0..1 Reference(TW Core Specimen) Specimen used for this observation
ele-1: All FHIR elements must have a @value or children
... hasMember Σ 0..* Reference(TW Core QuestionnaireResponse | MolecularSequence | TW Core Observation Vital Signs) Used when reporting vital signs panel components
ele-1: All FHIR elements must have a @value or children
... derivedFrom Σ 0..* Reference(TW Core DocumentReference | TW Core ImagingStudy | TW Core Media | TW Core QuestionnaireResponse | TW Core Observation Vital Signs | MolecularSequence) Related measurements the observation is made from
ele-1: All FHIR elements must have a @value or children
... component SΣC 0..* BackboneElement Used when reporting systolic and diastolic blood pressure.
ele-1: All FHIR elements must have a @value or children
vs-3: If there is no a value a data absent reason must be present
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... code SΣ 1..1 CodeableConcept Type of component observation (code / type)
Binding: VitalSigns (extensible): This identifies the vital sign result type.


ele-1: All FHIR elements must have a @value or children
.... value[x] SΣC 0..1 Vital Sign Value recorded with UCUM
Binding: VitalSignsUnits (extensible): Common UCUM units for recording Vital Signs.


ele-1: All FHIR elements must have a @value or children
..... valueQuantity Quantity
..... valueCodeableConcept CodeableConcept
..... valueString string
..... valueBoolean boolean
..... valueInteger integer
..... valueRange Range
..... valueRatio Ratio
..... valueSampledData SampledData
..... valueTime time
..... valueDateTime dateTime
..... valuePeriod Period
.... dataAbsentReason SC 0..1 CodeableConcept Why the component 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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
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:VSCatpreferredObservationCategoryCodes
http://hl7.org/fhir/ValueSet/observation-category
from the FHIR Standard
Observation.codeextensibleVitalSigns
http://hl7.org/fhir/ValueSet/observation-vitalsignresult
from the FHIR Standard
Observation.value[x]:valueQuantity.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1
from the FHIR Standard
Observation.dataAbsentReasonextensibleDataAbsentReason
http://hl7.org/fhir/ValueSet/data-absent-reason
from the FHIR Standard
Observation.bodySiteextensibleSNOMEDCTBodyStructures
http://hl7.org/fhir/ValueSet/body-site
from the FHIR Standard
Observation.methodextensibleObservationMethods
http://hl7.org/fhir/ValueSet/observation-methods
from the FHIR Standard
Observation.component.codeextensibleVitalSigns
http://hl7.org/fhir/ValueSet/observation-vitalsignresult
from the FHIR Standard
Observation.component.value[x]extensibleVitalSignsUnits
http://hl7.org/fhir/ValueSet/ucum-vitals-common|4.0.1
from the FHIR Standard
Observation.component.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()
vs-1errorObservation.effective[x]if Observation.effective[x] is dateTime and has a value then that value shall be precise to the day
: $this is dateTime implies $this.toString().length() >= 10
vs-2errorObservationIf 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())
vs-3errorObservation.componentIf there is no a value a data absent reason must be present
: value.exists() or dataAbsentReason.exists()

 

Other representations of profile: CSV, Excel, Schematron

Notes:

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

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

  1. 建議應該(SHOULD) 支援透過查詢參數 _id 查詢所有Observation:
    (如何透過token查詢)
    GET [base]/Observation?_id=[id]
    GET [base]/Observation/[id]

    例子:
    (1) GET [base]/Observation?_id=obs-bmi-example
    (2) GET [base]/Observation/obs-bmi-example

  2. 建議應該(SHOULD) 支援透過查詢參數 category 查詢所有Observation:
    (如何透過token查詢)
    GET [base]/Observation?category={system|}[code]

    例子:
    (1) GET [base]/Observation?category=http://terminology.hl7.org/CodeSystem/observation-category|vital-signs

  3. 建議應該(SHOULD) 支援透過查詢參數 code 查詢所有Observation:
    (如何透過token查詢)
    GET [base]/Observation?code={system|}[code]

    例子:
    (1) GET [base]/Observation?code=http://loinc.org|39156-5

  4. 建議應該(SHOULD) 支援透過查詢參數 performer 查詢所有Observation:
    (如何透過reference查詢)
    GET [base]/Observation?performer={Type/}[id]

    例子:
    (1) GET [base]/Observation?performer=Practitioner/pra-dr-example

  5. 建議應該(SHOULD) 支援透過查詢參數 status 查詢所有Observation:
    (如何透過token查詢)
    GET [base]/Observation?status=[code]

    例子:
    (1) GET [base]/Observation?status=registered

  6. 建議應該(SHOULD) 支援透過查詢參數 subject 查詢所有Observation:
    (如何透過reference查詢)
    GET [base]/Observation?subject={Type/}[id]

    例子:
    (1) GET [base]/Observation?subject=Patient/pat-example

  7. 建議應該(SHOULD) 支援透過查詢參數 date 查詢所有Observation:
    (如何透過date查詢)
    GET [base]/Observation?date={gt|lt|ge|le}[date]

    例子:
    (1) GET [base]/Observation?date=gt2022-07-31