臺灣健保癌症用藥事前審查實作指引
1.0.4 - release

This page is part of the 臺灣癌症用藥事前審查實作指引(TWPAS IG) (v1.0.4: Release) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version. For a full list of available versions, see the Directory of published versions

Resource Profile: DiagnosticReportTWPAS - Detailed Descriptions

Active as of 2025-05-28

Definitions for the DiagnosticReport-twpas resource profile.

Guidance on how to interpret the contents of this table can be found here

0. DiagnosticReport
Definition

The findings and interpretation of diagnostic tests performed on patients, groups of patients, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting and provider information, and some mix of atomic results, images, textual and coded interpretations, and formatted representation of diagnostic reports.

ShortA Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports
Comments

This is intended to capture a single report and is not suitable for use in displaying summary information that covers multiple reports. For example, this resource has not been designed for laboratory cumulative reporting formats nor detailed structured reports for sequencing.

Control0..*
Is Modifierfalse
Summaryfalse
Alternate NamesReport, Test, Result, Results, Labs, Laboratory
Invariantsdom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (contained.contained.empty())
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 (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-4: If 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-5: If a resource is contained in another resource, it SHALL NOT have a security label (contained.meta.security.empty())
dom-6: A resource should have narrative for robust management (text.`div`.exists())
2. DiagnosticReport.implicitRules
Definition

A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

ShortA set of rules under which this content was created
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.

Control0..1
Typeuri
Is Modifiertrue because This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
4. DiagnosticReport.modifierExtension
Definition

May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

ShortExtensions that cannot be ignored
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Control0..*
TypeExtension
Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them
Summaryfalse
Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Alternate Namesextensions, user content
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
6. DiagnosticReport.status
Definition

The status of the diagnostic report.

Shortregistered | partial | preliminary | final +
Control1..1
BindingThe codes SHALL be taken from DiagnosticReportStatushttp://hl7.org/fhir/ValueSet/diagnostic-report-status|4.0.1
(required to http://hl7.org/fhir/ValueSet/diagnostic-report-status|4.0.1)

The status of the diagnostic report.

Typecode
Is Modifiertrue because This element is labeled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summarytrue
Requirements

Diagnostic services routinely issue provisional/incomplete reports, and sometimes withdraw previously released reports.

Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
8. DiagnosticReport.category
Definition

A code that classifies the clinical discipline, department or diagnostic service that created the report (e.g. cardiology, biochemistry, hematology, MRI). This is used for searching, sorting and display purposes.

ShortService category
Comments

Multiple categories are allowed using various categorization schemes. The level of granularity is defined by the category concepts in the value set. More fine-grained filtering can be performed using the metadata and/or terminology hierarchy in DiagnosticReport.code.

Control0..1*
BindingFor example codes, see DiagnosticServiceSectionCodeshttp://hl7.org/fhir/ValueSet/diagnostic-service-sections
(example to http://hl7.org/fhir/ValueSet/diagnostic-service-sections)

Codes for diagnostic service sections.

TypeCodeableConcept
Is Modifierfalse
Summarytrue
Alternate NamesDepartment, Sub-department, Service, Discipline
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
10. DiagnosticReport.category.coding
Definition

A reference to a code defined by a terminology system.

ShortCode defined by a terminology system
Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Control10..1*
TypeCoding
Is Modifierfalse
Summarytrue
Requirements

Allows for alternative encodings within a code system, and translations to other code systems.

Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
12. DiagnosticReport.code
Definition

A code or name that describes this diagnostic report.

Short報告類型,當LOINC無法具體描述檢體種類(例如:`47526-9`時),請填寫及補充說明檢體種類(code.text)。Name/Code for this diagnostic report
Control1..1
BindingUnless not suitable, these codes SHALL be taken from The codes SHOULD be taken from LOINC-健保事前審查-報告類型值集http://hl7.org/fhir/ValueSet/report-codes
(extensible to https://nhicore.nhi.gov.tw/pas/ValueSet/report-type)

最新參考代碼清單請參考此檔案


Codes that describe Diagnostic Reports.

TypeCodeableConcept
Is Modifierfalse
Summarytrue
Alternate NamesType
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
speType: 當報告類型(code.coding.code)為`47526-9`時,檢體種類(code.text)必填 ((coding.exists(code='47526-9')) implies (text.exists()))
14. DiagnosticReport.code.coding
Definition

A reference to a code defined by a terminology system.

ShortCode defined by a terminology system
Comments

Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.

Control10..1*
TypeCoding
Is Modifierfalse
Summarytrue
Requirements

Allows for alternative encodings within a code system, and translations to other code systems.

Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
16. DiagnosticReport.code.coding.system
Definition

The identification of the code system that defines the meaning of the symbol in the code.

ShortIdentity of the terminology system
Comments

The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously.

Control10..1
Typeuri
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summarytrue
Requirements

Need to be unambiguous about the source of the definition of the symbol.

Pattern Valuehttp://loinc.org
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
18. DiagnosticReport.code.coding.code
Definition

A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

ShortSymbol in syntax defined by the system
Control10..1
Typecode
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summarytrue
Requirements

Need to refer to a particular code in the system.

Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
20. DiagnosticReport.code.text
Definition

A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.

Short檢體種類Plain text representation of the concept
Comments

Very often the text is the same as a displayName of one of the codings.

Control0..1
Typestring
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summarytrue
Requirements

The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.

Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
22. DiagnosticReport.subject
Definition

The subject of the report. Usually, but not always, this is a patient. However, diagnostic services also perform analyses on specimens collected from a variety of other sources.

ShortThe subject of the report - usually, but not always, the patient
Control10..1
TypeReference(病人資訊-Patient TWPAS, Patient, Group, Device, Location)
Is Modifierfalse
Summarytrue
Requirements

SHALL know the subject context.

Alternate NamesPatient
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
24. DiagnosticReport.effective[x]
Definition

The time or time-period the observed values are related to. When the subject of the report is a patient, this is usually either the time of the procedure or of specimen collection(s), but very often the source of the date/time is not known, only the date/time itself.

Short報告日期,YYYY-MM-DDClinically relevant time/time-period for report
Comments

If the diagnostic procedure was performed on the patient, this is the time it was performed. If there are specimens, the diagnostically relevant time can be derived from the specimen collection times, but the specimen information is not always available, and the exact relationship between the specimens and the diagnostically relevant time is not always automatic.

Control10..1
TypedateTime, Period
[x] NoteSeeChoice of Data Typesfor further information about how to use [x]
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Must Supporttrue
Summarytrue
Requirements

Need to know where in the patient history to file/present this report.

Alternate NamesObservation time, Effective Time, Occurrence
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
26. DiagnosticReport.performer
Definition

The diagnostic service that is responsible for issuing the report.

Short檢查報告醫師Responsible Diagnostic Service
Comments

This is not necessarily the source of the atomic data items or the entity that interpreted the results. It is the entity that takes responsibility for the clinical report.

Control10..1*
TypeReference(醫事人員-Practitioner TWPAS, Practitioner, PractitionerRole, Organization, CareTeam)
Is Modifierfalse
Must Supporttrue
Summarytrue
Requirements

Need to know whom to contact if there are queries about the results. Also may need to track the source of reports for secondary data analysis.

Alternate NamesLaboratory, Service, Practitioner, Department, Company, Authorized by, Director
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
28. DiagnosticReport.conclusion
Definition

Concise and clinically contextualized summary conclusion (interpretation/impression) of the diagnostic report.

Short報告結果-文數字,請勿將醫事機構名稱、病人及醫師姓名等資訊列入結果中上傳,且不得包含HTML或XML等語法。Clinical conclusion (interpretation) of test results
Control10..1
Typestring
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Must Supporttrue
Summaryfalse
Requirements

Need to be able to provide a conclusion that is not lost among the basic result data.

Alternate NamesReport
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
30. DiagnosticReport.presentedForm
Definition

Rich text representation of the entire result as issued by the diagnostic service. Multiple formats are allowed but they SHALL be semantically equivalent.

Short報告結果-MIMETypeEntire report as issued
Comments

"application/pdf" is recommended as the most reliable and interoperable in this context.

Control0..*
TypeAttachment
Is Modifierfalse
Must Supporttrue
Summaryfalse
Requirements

Gives laboratory the ability to provide its own fully formatted report for clinical fidelity.

Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
UploadContent: 填寫格式:file://檔名.副檔名,例如:file://US01.jpg、file://PathologyReport01.pdf、file://GenReport01.pdf、file://王大明病歷.pdf (url.matches('^file://[a-zA-Z0-9一-龥]+.[a-zA-Z]{2,5}$'))
32. DiagnosticReport.presentedForm.contentType
Definition

Identifies the type of the data in the attachment and allows a method to be chosen to interpret or render the data. Includes mime type parameters such as charset where appropriate.

ShortMime type of the content, with charset etc.
Control10..1
BindingThe codes SHALL be taken from Mime Typeshttp://hl7.org/fhir/ValueSet/mimetypes|4.0.1
(required to http://hl7.org/fhir/ValueSet/mimetypes|4.0.1)

The mime type of an attachment. Any valid mime type is allowed.

Typecode
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Must Supporttrue
Summarytrue
Requirements

Processors of the data need to be able to know how to interpret the data.

Example<br/><b>General</b>:text/plain; charset=UTF-8, image/png
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
34. DiagnosticReport.presentedForm.url
Definition

A location where the data can be accessed.

Short檢查報告(請填寫完整檔案路徑)Uri where the data can be found
Comments

If both data and url are provided, the url SHALL point to the same content as the data contains. Urls may be relative references or may reference transient locations such as a wrapping envelope using cid: though this has ramifications for using signatures. Relative URLs are interpreted relative to the service url, like a resource reference, rather than relative to the resource itself. If a URL is provided, it SHALL resolve to actual data.

Control10..1
Typeurl
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Must Supporttrue
Summarytrue
Requirements

The data needs to be transmitted by reference.

Example<br/><b>General</b>:http://www.acme.com/logo-small.png <br/><b>General</b>:file://PathologyReport01.pdf
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
36. DiagnosticReport.presentedForm.title
Definition

A label or set of text to display in place of the data.

Short檢查報告名稱Label to display in place of the data
Control0..1
Typestring
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Must Supporttrue
Summarytrue
Requirements

Applications need a label to display to a human user in place of the actual data if the data cannot be rendered or perceived by the viewer.

Example<br/><b>General</b>:Official Corporate Logo
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))