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

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

此臺灣核心-性傾向(TW Core Observation Sexual Orientation) 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
... basedOn Σ 0..* Reference(TW Core CarePlan | DeviceRequest | ImmunizationRecommendation | TW Core MedicationRequest | NutritionOrder | TW Core ServiceRequest) Fulfills plan, proposal or order
ele-1: All FHIR elements must have a @value or children
... 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
... code SΣ 1..1 CodeableConceptTW Type of observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.


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://loinc.org
..... code 1..1 code Symbol in syntax defined by the system
Fixed Value: 76690-7
..... display 1..1 string Representation defined by the system
Fixed Value: Sexual orientation
... subject SΣ 0..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Σ 0..1 Clinically relevant time/time-period for observation
ele-1: All FHIR elements must have a @value or children
.... effectiveDateTime dateTime
... performer Σ 0..* Reference(TW Core Practitioner | TW Core Organization | TW Core Patient | TW Core PractitionerRole | TW Core CareTeam) Who is responsible for the observation
ele-1: All FHIR elements must have a @value or children
... Slices for value[x] ΣC 0..1 Actual result
Slice: Unordered, Open by type:$this
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
.... value[x]:valueCodeableConcept SΣC 0..1 CodeableConceptTW Actual result
Binding: SNOMED CT + HL7 NullFlavor 性傾向值集 (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 Simple Observation | TW Core QuestionnaireResponse | MolecularSequence) Related resource that belongs to the Observation group
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 Simple Observation | MolecularSequence) 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.codeexamplePattern: LOINC Code 76690-7("Sexual orientation")
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
Observation.value[x]:valueCodeableConceptextensibleSexualOrientationCodeSCT
https://twcore.mohw.gov.tw/ig/twcore/ValueSet/snomed-sexual-orientation-code
from this IG

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-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())

 

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=http://terminology.hl7.org/CodeSystem/observation-category|laboratory

    例子:
    (1) GET [base]/Observation?patient=Patient/pat-example&category=http://terminology.hl7.org/CodeSystem/observation-category|laboratory

  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|76690-7

  3. 必須(SHALL) 支援透過查詢參數 patientcategorydate 查詢所有Observation:
    (如何透過reference查詢)
    (如何透過token查詢)
    (如何透過date查詢)
    GET [base]/Observation?patient={Type/}[id]&category=http://terminology.hl7.org/CodeSystem/observation-category|social-history&date={gt|lt|ge|le}[date]{&date={gt|lt|ge|le}[date]&...}

    例子:
    (1) GET [base]/Observation?patient=Patient/pat-example&category=http://terminology.hl7.org/CodeSystem/observation-category|social-history&date=ge2020-01-01T00:00:00Z

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

  1. 建議應該(SHOULD) 支援透過查詢參數 patientcategorystatus 查詢所有Observation:
    (如何透過reference查詢)
    (如何透過token查詢)
    GET [base]/Observation?patient={Type/}[id]&category=http://terminology.hl7.org/CodeSystem/observation-category|laboratory&status={system|}[code]{,{system|}[code],...}

    例子:
    (1) GET [base]/Observation?patient=Patient/pat-example&category=http://terminology.hl7.org/CodeSystem/observation-category|laboratory&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=http://terminology.hl7.org/CodeSystem/observation-category|laboratory&_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|76690-7&date=ge2020-01-01T00:00:00Z