HL7 FHIR JP Core ImplementationGuide
1.1.0a - ci-build Japan flag

HL7 FHIR JP Core ImplementationGuide - Local Development build (v1.1.0a). See the Directory of published versions

Resource Profile: JP Core Observation LabResult Profile

項目内容
定義URL http://jpfhir.jp/fhir/core/StructureDefinition/JP_Observation_LabResult
Version 1.1.0a
Name

JP_Observation_LabResult

Title

JP Core Observation LabResult Profile

Status Active ( 2022-09-26 )
Copyright

FHIR Japanese implementation research working group in Japan Association of Medical Informatics (JAMI)

このプロファイルはObservationリソースに対して、検体検査結果のデータを送受信するための制約と拡張を定めたものである。


本プロファイル説明は、患者に関連付けられた検体検査結果を記録、検索、および取得のために、FHIR Observationリソースを使用するにあたっての、最低限の制約を記述したものである。

Observationリソースに対して本プロファイルに準拠する場合に必須となる要素や、サポートすべき拡張、用語、検索パラメータを定義する。

なお、検査結果は、Observationリソースを参照するDiagnosticReportリソースを使用してグループ化および要約されたものである。各Observationリソースは、個々の検体検査と結果値、他の観察結果を参照する。

背景および想定シナリオ

本プロファイルは、以下のようなユースケースを想定している。

  • Patientリソースから指定された(患者の)検体採取日、検査項目、検査オーダの依頼科での検体検査情報の参照
  • Patientリソースから指定された(患者の)検体採取日、検査項目、検査結果値(範囲、または範囲外)検査オーダの依頼科での検体検査情報の参照
  • Patientリソースから指定された(患者の)検体採取日、検査項目、検査結果値(特定のコード)検査オーダの依頼科での検体検査情報の参照
  • Patientリソースから指定された(患者の)検体採取日、検査項目、検査結果値(特定の文字列)検査オーダの依頼科での検体検査情報の参照
  • 検査項目、検査結果値に対し条件に合致する検体検査情報、または関連する他のリソース(Observationリソースや、Patientリソース等)の参照

スコープ

Observationはヘルスケアの中心的な要素であり、診断の支援、進捗状況の監視、ベースラインやパターンの決定、さらには人口統計学的特性の把握に使用される。ほとんどのObservationは、いくつかのメタデータを持つ単純な名前/値のペアのアサーションであるが、いくつかのObservationは、他の Observationを論理的にグループ化したり、あるいはマルチコンポーネントのObservationであったりする。

本プロファイルでは上記想定シナリオにて用いられるObservationの用途がスコープであり、患者基本情報の中でも特に検体検査に該当する情報項目の1つを取り扱う際に、必要な要件を定義している。

プロファイル定義

Usage:

プロファイル詳細

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

This structure is derived from JP_Observation_Common

Summary

Mandatory: 7 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Observation.category is sliced based on the value of pattern:$this
  • The element Observation.value[x] is sliced based on the value of type:$this
NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation 0..*JP_Observation_Common検体検査結果
... identifier 0..*Identifier当該検査項目に対して、施設内で割り振られる一意の識別子
.... use 0..1codeusual | official | temp | secondary | old (If known)
.... value 0..1stringThe value that is unique
... basedOn 0..*Reference(ServiceRequest)Fulfills plan, proposal or order 実施されるプラン、提案、依頼
... partOf 0..*Reference(JP Core MedicationAdministration Profile | JP Core MedicationAdministration Injection Profile | JP Core MedicationDispenseBase Profile | MedicationStatement | JP Core Procedure Profile | JP Core Immunization Profile | ImagingStudy)Part of referenced event 参照されるイベントの一部分
... status 1..1coderegistered | preliminary | final | amended +
... Slices for category 1..*CodeableConceptClassification of type of observation Observationの種類(タイプ)の分類
Slice: Unordered, Open by pattern:$this
.... category:All Slices Content/Rules for all slices
..... coding 0..*CodingCode defined by a terminology system
.... category:laboratory 1..1CodeableConceptClassification of type of observation Observationの種類(タイプ)の分類
Required Pattern: At least the following
..... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
...... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: laboratory
... code 1..1CodeableConceptType of observation (code / type) observation のタイプ(コードまたはタイプ)
Binding: JP Core Observation LabResult Code ValueSet (preferred): MEDIS 臨床検査マスター

.... coding 1..*CodingCode defined by a terminology system
..... system 0..1uriIdentity of the terminology system
..... code 0..1codeSymbol in syntax defined by the system
..... display 0..1stringRepresentation defined by the system
..... userSelected 0..1booleanIf this coding was chosen directly by the user
.... text 1..1stringPlain text representation of the concept
... subject 1..1Reference(JP Core Patient Profile)Who and/or what the observation is about 観察対象者
... focus 0..*Reference(Resource)What the observation is about, when it is not about the subject of record subject 要素が実際のobservationの対象でない場合に、observation の対象物
... encounter 0..1Reference(JP Core Encounter Profile)Healthcare event during which this observation is made このobservationが行われるヘルスケアイベント
... effective[x] 1..1Clinically relevant time/time-period for observation 臨床的に関連する時刻または時間
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
.... effectiveTimingTiming
... issued 0..1instantDate/Time this version was made available このバージョンが利用可能となった日時
... performer 0..*Reference(JP Core Practitioner Profile | JP Core PractitionerRole Profile | JP Core Organization Profile | CareTeam | JP Core Patient Profile | RelatedPerson)Who is responsible for the observation observationに責任をもつ者
... value[x] 0..1同じ検査項目でも、システム(施設)により、使うデータ型が異なる可能性あり。【詳細参照】
Slice: Unordered, Open by type:$this
.... valueQuantityQuantity
.... valueCodeableConceptCodeableConcept
.... valueStringstring
... valueQuantity 0..1Quantity検査結果が「数値」の場合、値、単位を設定する。 SS-MIX2/HL7 V2.5→ OBX-2=「NM」の時の OBX-5(結果値)、OBX-6(単位)【詳細参照】
... valueCodeableConcept 0..1CodeableConcept検査結果が「コード値」の場合、コード、テキスト、コードのValue setを定義する。 SS-MIX2/HL7 V2.5→ OBX-2=「CWE」の時の OBX-5(結果値)【詳細参照】
... valueString 0..1string検査結果値が「文字列」の場合、その文字列を指定する。SS-MIX2/HL7 V2.5→ OBX-2=「ST」の時の OBX-5(結果値)
... dataAbsentReason 0..1CodeableConceptWhy the result is missing 結果が欠損値である理由
... interpretation 0..*CodeableConceptHigh, low, normal, etc. 高、低、正常など
... note 0..*AnnotationComments about the observation 結果に対するコメント
.... time 0..1dateTimeWhen the annotation was made
.... text 1..1markdownThe annotation - text content (as markdown)
... bodySite 0..1CodeableConceptBindingについてはユースケースに応じて各プロファイルで定義すること
... method 0..1CodeableConceptHow it was done 実施の方法
... specimen 1..1Reference(Specimen)Specimen used for this observation 観察(観測、検査)に使われた検体材料
... device 0..1Reference(Device | DeviceMetric)(Measurement) Device 測定機器
... referenceRange 0..*BackboneElementProvides guide for interpretation 解釈のためのガイドを与える
.... low 0..1SimpleQuantityLow Range, if relevant
.... high 0..1SimpleQuantityHigh Range, if relevant
.... type 0..1CodeableConceptReference range qualifier
.... appliesTo 0..*CodeableConceptReference range population
.... age 0..1RangeApplicable age range, if relevant
.... text 0..1stringText based reference range in an observation
... hasMember 0..*Reference(JP Core Observation Common Profile | QuestionnaireResponse | MolecularSequence)Related resource that belongs to the Observation group observationグループに属する関連リソース
... derivedFrom 0..*Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | JP Core Observation Common Profile | MolecularSequence)Related measurements the observation is made from observation が作られる元の関連する測定
... component 0..*BackboneElementComponent results  コンポーネント結果

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*JP_Observation_Common検体検査結果
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*Identifier当該検査項目に対して、施設内で割り振られる一意の識別子
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

.... system Σ0..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value Σ0..1stringThe value that is unique
Example General: 123456
.... period Σ0..1PeriodTime period when id is/was valid for use
.... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
... basedOn Σ0..*Reference(ServiceRequest)Fulfills plan, proposal or order 実施されるプラン、提案、依頼
... partOf Σ0..*Reference(JP Core MedicationAdministration Profile | JP Core MedicationAdministration Injection Profile | JP Core MedicationDispenseBase Profile | MedicationStatement | JP Core Procedure Profile | JP Core Immunization Profile | ImagingStudy)Part of referenced event 参照されるイベントの一部分
... status ?!Σ1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.

... Slices for category 1..*CodeableConceptClassification of type of observation Observationの種類(タイプ)の分類
Slice: Unordered, Open by pattern:$this
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.


.... category:All Slices Content/Rules for all slices
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... coding Σ0..*CodingCode defined by a terminology system
..... text Σ0..1stringPlain text representation of the concept
.... category:laboratory 1..1CodeableConceptClassification of type of observation Observationの種類(タイプ)の分類
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.



Required Pattern: At least the following
..... id0..1idUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
...... id0..1idUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... version0..1stringVersion of the system - if relevant
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: laboratory
...... display0..1stringRepresentation defined by the system
...... userSelected0..1booleanIf this coding was chosen directly by the user
..... text0..1stringPlain text representation of the concept
... code Σ1..1CodeableConceptType of observation (code / type) observation のタイプ(コードまたはタイプ)
Binding: JP Core Observation LabResult Code ValueSet (preferred): MEDIS 臨床検査マスター

.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ1..*CodingCode defined by a terminology system
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ0..1uriIdentity of the terminology system
..... version Σ0..1stringVersion of the system - if relevant
..... code Σ0..1codeSymbol in syntax defined by the system
..... display Σ0..1stringRepresentation defined by the system
..... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text Σ1..1stringPlain text representation of the concept
... subject Σ1..1Reference(JP Core Patient Profile)Who and/or what the observation is about 観察対象者
... focus Σ0..*Reference(Resource)What the observation is about, when it is not about the subject of record subject 要素が実際のobservationの対象でない場合に、observation の対象物
... encounter Σ0..1Reference(JP Core Encounter Profile)Healthcare event during which this observation is made このobservationが行われるヘルスケアイベント
... effective[x] Σ1..1Clinically relevant time/time-period for observation 臨床的に関連する時刻または時間
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
.... effectiveTimingTiming
... issued Σ0..1instantDate/Time this version was made available このバージョンが利用可能となった日時
... performer Σ0..*Reference(JP Core Practitioner Profile | JP Core PractitionerRole Profile | JP Core Organization Profile | CareTeam | JP Core Patient Profile | RelatedPerson)Who is responsible for the observation observationに責任をもつ者
... Slices for value[x] ΣC0..1同じ検査項目でも、システム(施設)により、使うデータ型が異なる可能性あり。【詳細参照】
Slice: Unordered, Closed by type:$this
.... valueQuantityQuantity
.... valueCodeableConceptCodeableConcept
.... valueStringstring
.... value[x]:valueQuantity ΣC0..1Quantity検査結果が「数値」の場合、値、単位を設定する。 SS-MIX2/HL7 V2.5→ OBX-2=「NM」の時の OBX-5(結果値)、OBX-6(単位)【詳細参照】
.... value[x]:valueCodeableConcept ΣC0..1CodeableConcept検査結果が「コード値」の場合、コード、テキスト、コードのValue setを定義する。 SS-MIX2/HL7 V2.5→ OBX-2=「CWE」の時の OBX-5(結果値)【詳細参照】
.... value[x]:valueString ΣC0..1string検査結果値が「文字列」の場合、その文字列を指定する。SS-MIX2/HL7 V2.5→ OBX-2=「ST」の時の OBX-5(結果値)
... dataAbsentReason C0..1CodeableConceptWhy the result is missing 結果が欠損値である理由
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

... interpretation 0..*CodeableConceptHigh, low, normal, etc. 高、低、正常など
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


... note 0..*AnnotationComments about the observation 結果に対するコメント
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... author[x] Σ0..1Individual responsible for the annotation
..... authorReferenceReference(Practitioner | Patient | RelatedPerson | Organization)
..... authorStringstring
.... time Σ0..1dateTimeWhen the annotation was made
.... text Σ1..1markdownThe annotation - text content (as markdown)
... bodySite 0..1CodeableConceptBindingについてはユースケースに応じて各プロファイルで定義すること
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.

... method 0..1CodeableConceptHow it was done 実施の方法
Binding: ObservationMethods (example): Methods for simple observations.

... specimen 1..1Reference(Specimen)Specimen used for this observation 観察(観測、検査)に使われた検体材料
... device 0..1Reference(Device | DeviceMetric)(Measurement) Device 測定機器
... referenceRange C0..*BackboneElementProvides guide for interpretation 解釈のためのガイドを与える
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... low C0..1SimpleQuantityLow Range, if relevant
.... high C0..1SimpleQuantityHigh Range, if relevant
.... type 0..1CodeableConceptReference range qualifier
Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range.

.... appliesTo 0..*CodeableConceptReference range population
Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to.


.... age 0..1RangeApplicable age range, if relevant
.... text 0..1stringText based reference range in an observation
... hasMember Σ0..*Reference(JP Core Observation Common Profile | QuestionnaireResponse | MolecularSequence)Related resource that belongs to the Observation group observationグループに属する関連リソース
... derivedFrom Σ0..*Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | JP Core Observation Common Profile | MolecularSequence)Related measurements the observation is made from observation が作られる元の関連する測定
... component Σ0..*BackboneElementComponent results  コンポーネント結果
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

.... value[x] Σ0..1Actual component result
..... valueQuantityQuantity
..... valueCodeableConceptCodeableConcept
..... valueStringstring
..... valueBooleanboolean
..... valueIntegerinteger
..... valueRangeRange
..... valueRatioRatio
..... valueSampledDataSampledData
..... valueTimetime
..... valueDateTimedateTime
..... valuePeriodPeriod
.... dataAbsentReason C0..1CodeableConceptWhy the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

.... interpretation 0..*CodeableConceptHigh, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


.... referenceRange 0..*See referenceRange (Observation)Provides guide for interpretation of component result

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Observation.languagepreferredCommonLanguages
Max Binding: AllLanguages
Observation.identifier.userequiredIdentifierUse
Observation.identifier.typeextensibleIdentifier Type Codes
Observation.statusrequiredObservationStatus
Observation.categorypreferredObservationCategoryCodes
Observation.category:laboratorypreferredPattern: laboratory
Observation.codepreferredJP_ObservationLabResultCode_VS
Observation.dataAbsentReasonextensibleDataAbsentReason
Observation.interpretationextensibleObservationInterpretationCodes
Observation.bodySiteexampleSNOMEDCTBodyStructures
Observation.methodexampleObservationMethods
Observation.referenceRange.typepreferredObservationReferenceRangeMeaningCodes
Observation.referenceRange.appliesToexampleObservationReferenceRangeAppliesToCodes
Observation.component.codeexampleLOINCCodes
Observation.component.dataAbsentReasonextensibleDataAbsentReason
Observation.component.interpretationextensibleObservationInterpretationCodes

Constraints

IdGradePathDetailsRequirements
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()
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()
ele-1errorObservation.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorObservation.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorObservation.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorObservation.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorObservation.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.identifier.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorObservation.identifier.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorObservation.identifier.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.identifier.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.identifier.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.identifier.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.identifier.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.identifier.assignerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.basedOnAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.partOfAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.categoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.category.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorObservation.category.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorObservation.category.codingAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.category.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.category:laboratoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.code.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorObservation.code.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorObservation.code.codingAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.code.coding.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorObservation.code.coding.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorObservation.code.coding.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.code.coding.versionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.code.coding.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.code.coding.displayAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.code.coding.userSelectedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.code.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.focusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.encounterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.effective[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.issuedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.performerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.value[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.value[x]:valueQuantityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.value[x]:valueCodeableConceptAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.value[x]:valueStringAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.dataAbsentReasonAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.interpretationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.note.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorObservation.note.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorObservation.note.author[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.note.timeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.note.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.bodySiteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.methodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.specimenAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.deviceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.referenceRangeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
obs-3errorObservation.referenceRangeMust have at least a low or a high or text
: low.exists() or high.exists() or text.exists()
ele-1errorObservation.referenceRange.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorObservation.referenceRange.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorObservation.referenceRange.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorObservation.referenceRange.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorObservation.referenceRange.lowAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.referenceRange.highAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.referenceRange.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.referenceRange.appliesToAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.referenceRange.ageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.referenceRange.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.hasMemberAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.derivedFromAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.componentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.component.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorObservation.component.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorObservation.component.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorObservation.component.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorObservation.component.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.component.value[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.component.dataAbsentReasonAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.component.interpretationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.component.referenceRangeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())

This structure is derived from JP_Observation_Common

Summary

Mandatory: 7 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Observation.category is sliced based on the value of pattern:$this
  • The element Observation.value[x] is sliced based on the value of type:$this

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation 0..*JP_Observation_Common検体検査結果
... identifier 0..*Identifier当該検査項目に対して、施設内で割り振られる一意の識別子
.... use 0..1codeusual | official | temp | secondary | old (If known)
.... value 0..1stringThe value that is unique
... basedOn 0..*Reference(ServiceRequest)Fulfills plan, proposal or order 実施されるプラン、提案、依頼
... partOf 0..*Reference(JP Core MedicationAdministration Profile | JP Core MedicationAdministration Injection Profile | JP Core MedicationDispenseBase Profile | MedicationStatement | JP Core Procedure Profile | JP Core Immunization Profile | ImagingStudy)Part of referenced event 参照されるイベントの一部分
... status 1..1coderegistered | preliminary | final | amended +
... Slices for category 1..*CodeableConceptClassification of type of observation Observationの種類(タイプ)の分類
Slice: Unordered, Open by pattern:$this
.... category:All Slices Content/Rules for all slices
..... coding 0..*CodingCode defined by a terminology system
.... category:laboratory 1..1CodeableConceptClassification of type of observation Observationの種類(タイプ)の分類
Required Pattern: At least the following
..... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
...... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: laboratory
... code 1..1CodeableConceptType of observation (code / type) observation のタイプ(コードまたはタイプ)
Binding: JP Core Observation LabResult Code ValueSet (preferred): MEDIS 臨床検査マスター

.... coding 1..*CodingCode defined by a terminology system
..... system 0..1uriIdentity of the terminology system
..... code 0..1codeSymbol in syntax defined by the system
..... display 0..1stringRepresentation defined by the system
..... userSelected 0..1booleanIf this coding was chosen directly by the user
.... text 1..1stringPlain text representation of the concept
... subject 1..1Reference(JP Core Patient Profile)Who and/or what the observation is about 観察対象者
... focus 0..*Reference(Resource)What the observation is about, when it is not about the subject of record subject 要素が実際のobservationの対象でない場合に、observation の対象物
... encounter 0..1Reference(JP Core Encounter Profile)Healthcare event during which this observation is made このobservationが行われるヘルスケアイベント
... effective[x] 1..1Clinically relevant time/time-period for observation 臨床的に関連する時刻または時間
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
.... effectiveTimingTiming
... issued 0..1instantDate/Time this version was made available このバージョンが利用可能となった日時
... performer 0..*Reference(JP Core Practitioner Profile | JP Core PractitionerRole Profile | JP Core Organization Profile | CareTeam | JP Core Patient Profile | RelatedPerson)Who is responsible for the observation observationに責任をもつ者
... value[x] 0..1同じ検査項目でも、システム(施設)により、使うデータ型が異なる可能性あり。【詳細参照】
Slice: Unordered, Open by type:$this
.... valueQuantityQuantity
.... valueCodeableConceptCodeableConcept
.... valueStringstring
... valueQuantity 0..1Quantity検査結果が「数値」の場合、値、単位を設定する。 SS-MIX2/HL7 V2.5→ OBX-2=「NM」の時の OBX-5(結果値)、OBX-6(単位)【詳細参照】
... valueCodeableConcept 0..1CodeableConcept検査結果が「コード値」の場合、コード、テキスト、コードのValue setを定義する。 SS-MIX2/HL7 V2.5→ OBX-2=「CWE」の時の OBX-5(結果値)【詳細参照】
... valueString 0..1string検査結果値が「文字列」の場合、その文字列を指定する。SS-MIX2/HL7 V2.5→ OBX-2=「ST」の時の OBX-5(結果値)
... dataAbsentReason 0..1CodeableConceptWhy the result is missing 結果が欠損値である理由
... interpretation 0..*CodeableConceptHigh, low, normal, etc. 高、低、正常など
... note 0..*AnnotationComments about the observation 結果に対するコメント
.... time 0..1dateTimeWhen the annotation was made
.... text 1..1markdownThe annotation - text content (as markdown)
... bodySite 0..1CodeableConceptBindingについてはユースケースに応じて各プロファイルで定義すること
... method 0..1CodeableConceptHow it was done 実施の方法
... specimen 1..1Reference(Specimen)Specimen used for this observation 観察(観測、検査)に使われた検体材料
... device 0..1Reference(Device | DeviceMetric)(Measurement) Device 測定機器
... referenceRange 0..*BackboneElementProvides guide for interpretation 解釈のためのガイドを与える
.... low 0..1SimpleQuantityLow Range, if relevant
.... high 0..1SimpleQuantityHigh Range, if relevant
.... type 0..1CodeableConceptReference range qualifier
.... appliesTo 0..*CodeableConceptReference range population
.... age 0..1RangeApplicable age range, if relevant
.... text 0..1stringText based reference range in an observation
... hasMember 0..*Reference(JP Core Observation Common Profile | QuestionnaireResponse | MolecularSequence)Related resource that belongs to the Observation group observationグループに属する関連リソース
... derivedFrom 0..*Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | JP Core Observation Common Profile | MolecularSequence)Related measurements the observation is made from observation が作られる元の関連する測定
... component 0..*BackboneElementComponent results  コンポーネント結果

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Observation C0..*JP_Observation_Common検体検査結果
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*Identifier当該検査項目に対して、施設内で割り振られる一意の識別子
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

.... system Σ0..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value Σ0..1stringThe value that is unique
Example General: 123456
.... period Σ0..1PeriodTime period when id is/was valid for use
.... assigner Σ0..1Reference(Organization)Organization that issued id (may be just text)
... basedOn Σ0..*Reference(ServiceRequest)Fulfills plan, proposal or order 実施されるプラン、提案、依頼
... partOf Σ0..*Reference(JP Core MedicationAdministration Profile | JP Core MedicationAdministration Injection Profile | JP Core MedicationDispenseBase Profile | MedicationStatement | JP Core Procedure Profile | JP Core Immunization Profile | ImagingStudy)Part of referenced event 参照されるイベントの一部分
... status ?!Σ1..1coderegistered | preliminary | final | amended +
Binding: ObservationStatus (required): Codes providing the status of an observation.

... Slices for category 1..*CodeableConceptClassification of type of observation Observationの種類(タイプ)の分類
Slice: Unordered, Open by pattern:$this
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.


.... category:All Slices Content/Rules for all slices
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... coding Σ0..*CodingCode defined by a terminology system
..... text Σ0..1stringPlain text representation of the concept
.... category:laboratory 1..1CodeableConceptClassification of type of observation Observationの種類(タイプ)の分類
Binding: ObservationCategoryCodes (preferred): Codes for high level observation categories.



Required Pattern: At least the following
..... id0..1idUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
...... id0..1idUnique id for inter-element referencing
...... extension0..*ExtensionAdditional content defined by implementations
...... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/observation-category
...... version0..1stringVersion of the system - if relevant
...... code1..1codeSymbol in syntax defined by the system
Fixed Value: laboratory
...... display0..1stringRepresentation defined by the system
...... userSelected0..1booleanIf this coding was chosen directly by the user
..... text0..1stringPlain text representation of the concept
... code Σ1..1CodeableConceptType of observation (code / type) observation のタイプ(コードまたはタイプ)
Binding: JP Core Observation LabResult Code ValueSet (preferred): MEDIS 臨床検査マスター

.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ1..*CodingCode defined by a terminology system
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ0..1uriIdentity of the terminology system
..... version Σ0..1stringVersion of the system - if relevant
..... code Σ0..1codeSymbol in syntax defined by the system
..... display Σ0..1stringRepresentation defined by the system
..... userSelected Σ0..1booleanIf this coding was chosen directly by the user
.... text Σ1..1stringPlain text representation of the concept
... subject Σ1..1Reference(JP Core Patient Profile)Who and/or what the observation is about 観察対象者
... focus Σ0..*Reference(Resource)What the observation is about, when it is not about the subject of record subject 要素が実際のobservationの対象でない場合に、observation の対象物
... encounter Σ0..1Reference(JP Core Encounter Profile)Healthcare event during which this observation is made このobservationが行われるヘルスケアイベント
... effective[x] Σ1..1Clinically relevant time/time-period for observation 臨床的に関連する時刻または時間
.... effectiveDateTimedateTime
.... effectivePeriodPeriod
.... effectiveTimingTiming
... issued Σ0..1instantDate/Time this version was made available このバージョンが利用可能となった日時
... performer Σ0..*Reference(JP Core Practitioner Profile | JP Core PractitionerRole Profile | JP Core Organization Profile | CareTeam | JP Core Patient Profile | RelatedPerson)Who is responsible for the observation observationに責任をもつ者
... Slices for value[x] ΣC0..1同じ検査項目でも、システム(施設)により、使うデータ型が異なる可能性あり。【詳細参照】
Slice: Unordered, Closed by type:$this
.... valueQuantityQuantity
.... valueCodeableConceptCodeableConcept
.... valueStringstring
.... value[x]:valueQuantity ΣC0..1Quantity検査結果が「数値」の場合、値、単位を設定する。 SS-MIX2/HL7 V2.5→ OBX-2=「NM」の時の OBX-5(結果値)、OBX-6(単位)【詳細参照】
.... value[x]:valueCodeableConcept ΣC0..1CodeableConcept検査結果が「コード値」の場合、コード、テキスト、コードのValue setを定義する。 SS-MIX2/HL7 V2.5→ OBX-2=「CWE」の時の OBX-5(結果値)【詳細参照】
.... value[x]:valueString ΣC0..1string検査結果値が「文字列」の場合、その文字列を指定する。SS-MIX2/HL7 V2.5→ OBX-2=「ST」の時の OBX-5(結果値)
... dataAbsentReason C0..1CodeableConceptWhy the result is missing 結果が欠損値である理由
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

... interpretation 0..*CodeableConceptHigh, low, normal, etc. 高、低、正常など
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


... note 0..*AnnotationComments about the observation 結果に対するコメント
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... author[x] Σ0..1Individual responsible for the annotation
..... authorReferenceReference(Practitioner | Patient | RelatedPerson | Organization)
..... authorStringstring
.... time Σ0..1dateTimeWhen the annotation was made
.... text Σ1..1markdownThe annotation - text content (as markdown)
... bodySite 0..1CodeableConceptBindingについてはユースケースに応じて各プロファイルで定義すること
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.

... method 0..1CodeableConceptHow it was done 実施の方法
Binding: ObservationMethods (example): Methods for simple observations.

... specimen 1..1Reference(Specimen)Specimen used for this observation 観察(観測、検査)に使われた検体材料
... device 0..1Reference(Device | DeviceMetric)(Measurement) Device 測定機器
... referenceRange C0..*BackboneElementProvides guide for interpretation 解釈のためのガイドを与える
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... low C0..1SimpleQuantityLow Range, if relevant
.... high C0..1SimpleQuantityHigh Range, if relevant
.... type 0..1CodeableConceptReference range qualifier
Binding: ObservationReferenceRangeMeaningCodes (preferred): Code for the meaning of a reference range.

.... appliesTo 0..*CodeableConceptReference range population
Binding: ObservationReferenceRangeAppliesToCodes (example): Codes identifying the population the reference range applies to.


.... age 0..1RangeApplicable age range, if relevant
.... text 0..1stringText based reference range in an observation
... hasMember Σ0..*Reference(JP Core Observation Common Profile | QuestionnaireResponse | MolecularSequence)Related resource that belongs to the Observation group observationグループに属する関連リソース
... derivedFrom Σ0..*Reference(DocumentReference | ImagingStudy | Media | QuestionnaireResponse | JP Core Observation Common Profile | MolecularSequence)Related measurements the observation is made from observation が作られる元の関連する測定
... component Σ0..*BackboneElementComponent results  コンポーネント結果
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code Σ1..1CodeableConceptType of component observation (code / type)
Binding: LOINCCodes (example): Codes identifying names of simple observations.

.... value[x] Σ0..1Actual component result
..... valueQuantityQuantity
..... valueCodeableConceptCodeableConcept
..... valueStringstring
..... valueBooleanboolean
..... valueIntegerinteger
..... valueRangeRange
..... valueRatioRatio
..... valueSampledDataSampledData
..... valueTimetime
..... valueDateTimedateTime
..... valuePeriodPeriod
.... dataAbsentReason C0..1CodeableConceptWhy the component result is missing
Binding: DataAbsentReason (extensible): Codes specifying why the result (Observation.value[x]) is missing.

.... interpretation 0..*CodeableConceptHigh, low, normal, etc.
Binding: ObservationInterpretationCodes (extensible): Codes identifying interpretations of observations.


.... referenceRange 0..*See referenceRange (Observation)Provides guide for interpretation of component result

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Observation.languagepreferredCommonLanguages
Max Binding: AllLanguages
Observation.identifier.userequiredIdentifierUse
Observation.identifier.typeextensibleIdentifier Type Codes
Observation.statusrequiredObservationStatus
Observation.categorypreferredObservationCategoryCodes
Observation.category:laboratorypreferredPattern: laboratory
Observation.codepreferredJP_ObservationLabResultCode_VS
Observation.dataAbsentReasonextensibleDataAbsentReason
Observation.interpretationextensibleObservationInterpretationCodes
Observation.bodySiteexampleSNOMEDCTBodyStructures
Observation.methodexampleObservationMethods
Observation.referenceRange.typepreferredObservationReferenceRangeMeaningCodes
Observation.referenceRange.appliesToexampleObservationReferenceRangeAppliesToCodes
Observation.component.codeexampleLOINCCodes
Observation.component.dataAbsentReasonextensibleDataAbsentReason
Observation.component.interpretationextensibleObservationInterpretationCodes

Constraints

IdGradePathDetailsRequirements
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()
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()
ele-1errorObservation.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorObservation.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorObservation.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorObservation.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorObservation.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.identifier.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorObservation.identifier.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorObservation.identifier.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.identifier.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.identifier.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.identifier.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.identifier.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.identifier.assignerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.basedOnAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.partOfAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.categoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.category.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorObservation.category.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorObservation.category.codingAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.category.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.category:laboratoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.code.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorObservation.code.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorObservation.code.codingAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.code.coding.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorObservation.code.coding.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorObservation.code.coding.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.code.coding.versionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.code.coding.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.code.coding.displayAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.code.coding.userSelectedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.code.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.focusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.encounterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.effective[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.issuedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.performerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.value[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.value[x]:valueQuantityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.value[x]:valueCodeableConceptAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.value[x]:valueStringAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.dataAbsentReasonAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.interpretationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.note.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorObservation.note.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorObservation.note.author[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.note.timeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.note.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.bodySiteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.methodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.specimenAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.deviceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.referenceRangeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
obs-3errorObservation.referenceRangeMust have at least a low or a high or text
: low.exists() or high.exists() or text.exists()
ele-1errorObservation.referenceRange.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorObservation.referenceRange.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorObservation.referenceRange.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorObservation.referenceRange.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorObservation.referenceRange.lowAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.referenceRange.highAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.referenceRange.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.referenceRange.appliesToAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.referenceRange.ageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.referenceRange.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.hasMemberAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.derivedFromAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.componentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.component.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorObservation.component.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorObservation.component.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1errorObservation.component.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1errorObservation.component.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.component.value[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.component.dataAbsentReasonAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.component.interpretationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1errorObservation.component.referenceRangeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())

 

Other representations of profile: CSV, Excel, Schematron

必須要素

本プロファイルでは、次の要素を持たなければならない。

  • status︓検体検査情報項目の状態は必須である
  • category︓このリソースが示す検体検査情報項目を分類するための区分であり、このプロファイルでは必須とする
  • code︓このリソースは何の検体検査情報項目であるかを示すため必須である
  • subject︓このリソースが示す検体検査情報項目が、どの患者のものかを示すため、このプロファイルでは参照するpatientリソースの定義を必須とする
  • effective[x]:検体採取日時、このリソースが示す検体検査情報項目が、いつ発生したかを示すためこのプロファイルでは必須とする
  • specimen:このリソースが示す検体検査情報項目が、どの検体で検査されるのかを示すため、このプロファイルでは参照するspecimenリソースの定義を必須とする

Extensions定義

本プロファイルで追加定義された拡張はない。

利用方法

OperationおよびSearch Parameter 一覧

Search Parameter一覧

検体検査結果ユースケースのSearch Parameter一覧は共通情報プロファイルとは異なり以下の通りである。

コンフォーマンス パラメータ
SHOULD patient,code,date,based-on reference,token,date,reference GET [base]/Observation?patient=123&code=urn:oid:1.2.392.200119.4.504|9A610000000000000&date=le2020-12-31&based-on=ServiceRequest/456
SHOULD patient,code,date,value-quantity,based-on reference,token,date,quantity,reference GET [base]/Observation?patient=123&code=urn:oid:1.2.392.200119.4.504|9A610000000000000&date=le2020-12-31&value-quantity=gt40&based-on=ServiceRequest/456
SHOULD patient,code,date,value-concept,based-on reference,token,date,code,reference GET [base]/Observation?patient=123&code=urn:oid:1.2.392.200119.4.504|9A610000000000000&date=le2020-12-31&value-concept=http://jpfhir.jp/fhir/example|1082004&based-on=ServiceRequest/456
SHOULD patient,code,date,value-string,based-on reference,token,date,string,reference GET [base]/Observation?patient=123&code=urn:oid:1.2.392.200119.4.504|9A610000000000000&date=le2020-12-31&value-string=positive&based-on=ServiceRequest/456
SHOULD code,value-quantity,patient token,quantity,reference GET [base]/Observation?code=urn:oid:1.2.392.200119.4.504|9A610000000000000&value-quantity=gt40&patient=123
SHOULD code,value-concept,patient token,code,reference GET [base]/Observation?code=urn:oid:1.2.392.200119.4.504|9A610000000000000&value-concept=http://jpfhir.jp/fhir/example|1082004&patient=123
SHOULD code,value-string,patient token,string,reference GET [base]/Observation?code=urn:oid:1.2.392.200119.4.504|9A610000000000000&value-string=positive&patient=123

操作詳細

必須検索パラメータ

必須(SHALL)としての検索項目は定義しない。

推奨検索パラメータ

次の検索パラメータはサポートすることが推奨される。(SHOULD

  1. 臨床での検索:subject = Patient(対象患者)、検体採取日、検査項目、basedOn = ServiceRequest(検査オーダの依頼科)を指定した検索をサポートすることが望ましい。(SHOULD

patient,code,date,based-on の各検索パラメータに一致するObservationリソースを含むBundleを取得することができる。

   GET [base]/Observation?patient={reference}&code={code}}&date={date}}&based-on={reference}

例:

   GET [base]/Observation?patient=123&code=urn:oid:1.2.392.200119.4.504|9A610000000000000&date=le2020-12-31&based-on=ServiceRequest/456
  1. 臨床(NST)での検索:subject = Patient(対象患者)、検査項目、検査値(数値、条件:基準値から外れている、等)、basedOn = ServiceRequest(検査オーダの依頼科)を指定した検索をサポートすることが望ましい。(SHOULD)

patient,code,date,value-quantity,based-on の各検索パラメータに一致するObservationリソースを含むBundleを取得することができる。

   GET [base]/Observation?patient={reference}&code={code}}&date={date}}&value-quantity={quantity}&based-on={reference}

例:

   GET [base]/Observation?patient=123&code=urn:oid:1.2.392.200119.4.504|9A610000000000000&date=le2020-12-31&value-quantity=gt40&based-on=ServiceRequest/456
  1. 臨床(NST)での検索:subject = Patient(対象患者)、検査項目、検査値(コード)、basedOn = ServiceRequest(検査オーダの依頼科)を指定した検索をサポートすることが望ましい。(SHOULD)

patient,code,date,value-concept,based-on の各検索パラメータに一致するObservationリソースを含むBundleを取得することができる。

   GET [base]/Observation?patient={reference}&code={code}}&date={date}}&value-concept={code}&based-on={reference}

例:

   GET [base]/Observation?patient=123&code=urn:oid:1.2.392.200119.4.504|9A610000000000000&date=le2020-12-31&value-concept=http://jpfhir.jp/fhir/example|1082004&based-on=ServiceRequest/456
  1. 臨床(NST)での検索:subject = Patient(対象患者)、検査項目、検査値(文字列)、basedOn = ServiceRequest(検査オーダの依頼科)を指定した検索をサポートすることが望ましい。(SHOULD)

patient,code,date,value-string,based-on の各検索パラメータに一致するObservationリソースを含むBundleを取得することができる。

   GET [base]/Observation?patient={reference}&code={code}}&date={date}}&value-string={string}&based-on={reference}

例:

   GET [base]/Observation?patient=123&code=urn:oid:1.2.392.200119.4.504|9A610000000000000&date=le2020-12-31&value-string=positive&based-on=ServiceRequest/456
  1. 研究での検索:検査項目、検査値(数値、条件:ある値以上/以下、等)、subject = Patient(対象患者で絞る場合あり)を指定した検索をサポートすることが望ましい。(SHOULD)

code,value-quantity,patient の各検索パラメータに一致するObservationリソースを含むBundleを取得することができる。

   GET [base]/Observation?code={code}}&value-quantity={quantity}&patient={reference}&

例:

   GET [base]/Observation?code=urn:oid:1.2.392.200119.4.504|9A610000000000000&value-quantity=gt40&patient=123
  1. 研究での検索:検査項目、検査値(コード)、subject = Patient(対象患者で絞る場合あり)を指定した検索をサポートすることが望ましい。(SHOULD)

code,value-concept,patient の各検索パラメータに一致するObservationリソースを含むBundleを取得することができる。

   GET [base]/Observation?code={code}}&value-concept={code}&patient={reference}

例:

   GET [base]/Observation?code=urn:oid:1.2.392.200119.4.504|9A610000000000000&value-concept=http://jpfhir.jp/fhir/example|1082004&patient=123
  1. 研究での検索:検査項目、検査値(文字列)、subject = Patient(対象患者で絞る場合あり)を指定した検索をサポートすることが望ましい。(SHOULD)

code,value-string,patient の各検索パラメータに一致するObservationリソースを含むBundleを取得することができる。

   GET [base]/Observation?code={code}}&value-string={string}&patient={reference}

例:

   GET [base]/Observation?code=urn:oid:1.2.392.200119.4.504|9A610000000000000&value-string=positive&patient=123
オプション検索パラメータ

本プロファイルで追加定義されたオプション検索パラメータはない。

Operation一覧

ObservationリソースのOperation一覧の定義はユースケースに依存せず共通であるため、共通情報プロファイルに記載されている。

Observation共通情報プロファイル#Operation一覧

サンプル