//肺癌_非鱗狀非小細胞肺癌第一線用藥(併用) pembrolizumab、atezolizumab
library LCPembrAtezoRule2 version '1.0.0'
using FHIR version '4.0.1'
include FHIRHelpers version '4.0.1' called FHIRHelpers
include LCCodeConcept version '1.0.0' called CodeConcept
include LCReusable version '1.0.0' called Reusable
context Patient
//============================================
// 申請紀錄
//============================================
// 本次申請紀錄(以最新一筆申請作為本次申請)
define "申請藥品L01FF02":
CodeConcept.L01FF02
define "申請藥品L01FF05":
CodeConcept.L01FF05
define "申請藥品":
"申請藥品L01FF02" union "申請藥品L01FF05"
define "本次申請紀錄L01FF02":
Reusable."LatestMedicationPlan"("申請藥品L01FF02")
define "本次申請紀錄L01FF05":
Reusable."LatestMedicationPlan"("申請藥品L01FF05")
define "本次申請紀錄":
Reusable."LatestMedicationPlan"("申請藥品")
define "本次申請起始日期L01FF02":
Reusable."GetStartTime"("本次申請紀錄L01FF02")
define "本次申請起始日期L01FF05":
Reusable."GetStartTime"("本次申請紀錄L01FF05")
define "本次申請起始日期":
Reusable."GetStartTime"("本次申請紀錄")
// 首次申請紀錄(開始使用申請藥物)
define "首次申請紀錄L01FF02":
First(
[MedicationRequest] MR
where Reusable."IsMedicationPlan"(MR, "申請藥品L01FF02")
sort by FHIRHelpers.ToDateTime((dosageInstruction[0].timing.repeat.bounds as Period).start)
)
define "首次申請紀錄L01FF05":
First(
[MedicationRequest] MR
where Reusable."IsMedicationPlan"(MR, "申請藥品L01FF05")
sort by FHIRHelpers.ToDateTime((dosageInstruction[0].timing.repeat.bounds as Period).start)
)
define "首次申請紀錄":
First(
[MedicationRequest] MR
where Reusable."IsMedicationPlan"(MR, "申請藥品")
sort by FHIRHelpers.ToDateTime((dosageInstruction[0].timing.repeat.bounds as Period).start)
)
define "首次申請起始日期L01FF02":
Reusable."GetStartTime"("首次申請紀錄L01FF02")
define "首次申請起始日期L01FF05":
Reusable."GetStartTime"("首次申請紀錄L01FF05")
define "首次申請起始日期":
Reusable."GetStartTime"("首次申請紀錄")
// 前次申請紀錄(本次申請之前最近一次的申請)
define "前次申請紀錄L01FF02":
Reusable."LatestMedicationPlanBefore"("申請藥品L01FF02", "本次申請起始日期L01FF02")
define "前次申請紀錄L01FF05":
Reusable."LatestMedicationPlanBefore"("申請藥品L01FF05", "本次申請起始日期L01FF05")
define "前次申請紀錄":
Reusable."LatestMedicationPlanBefore"("申請藥品", "本次申請起始日期")
define "前次申請起始日期L01FF02":
Reusable."GetStartTime"("前次申請紀錄L01FF02")
define "前次申請起始日期L01FF05":
Reusable."GetStartTime"("前次申請紀錄L01FF05")
define "前次申請起始日期":
Reusable."GetStartTime"("前次申請紀錄")
//============================================
// 主要規定一:初次使用條件
//============================================
/*規則1*/
//條件1
define "ICD代碼檢核_布林值": Reusable."ICD-10使用C34"
define "疾病資訊":
exists (
[Claim] C
where exists (
C.diagnosis D
where exists (
D.type.text T
where Matches(T.value, '(?i).*NSCLC.*(Non-squamous|非鱗狀).*')
)
)
)
define "有檢查報告":
exists (
[DiagnosticReport] Report
where Reusable."IsMolecularReportV2"(Report)
)
define "給付適應症條件P014":
exists (
[Claim] C
where exists (
C.item I
where exists (
I.programCode PC
where exists (
PC.coding Cdg
where Cdg in CodeConcept.NHIApplyReason
and Cdg.code = 'P014'
)
)
)
)
define "1規則1-1=轉移性非小細胞肺癌第一線用藥":
"ICD代碼檢核_布林值"
and "疾病資訊"
and Reusable."癌症分期分數或結果為M≠0"
and "有檢查報告"
and "給付適應症條件P014"
and Reusable."用藥線別=1"
and Reusable."續用註記為1"
//條件2
define "藥品代碼限pembrolizumab與pemetrexed及含鉑類化學療法":
Reusable."HasConcurrentMedicationOrders2WithinPlan"("申請藥品L01FF02", CodeConcept.pemetrexed, CodeConcept.L01XA)
define "atezolizumab與bevacizumab併用":
exists (
[MedicationRequest] MR
where Reusable."HasMedicationCode"(MR, CodeConcept.bevacizumab)
and Reusable."HasValidTiming"(MR)
and Reusable."MedicationTimeWithinPlanTime"(MR, "本次申請紀錄L01FF05")
)
define "atezolizumab與carboplatin併用":
exists (
[MedicationRequest] MR
where Reusable."HasMedicationCode"(MR, CodeConcept.L01XA02)
and Reusable."HasValidTiming"(MR)
and Reusable."MedicationTimeWithinPlanTime"(MR, "本次申請紀錄L01FF05")
)
define "atezolizumab與paclitaxel併用":
exists (
[MedicationRequest] MR
where Reusable."HasMedicationCode"(MR, CodeConcept.L01CD01)
and Reusable."HasValidTiming"(MR)
and Reusable."MedicationTimeWithinPlanTime"(MR, "本次申請紀錄L01FF05")
)
define "藥品代碼限atezolizumab與bevacizumab及carboplatin及paclitaxel":
"atezolizumab與bevacizumab併用"
and "atezolizumab與carboplatin併用"
and "atezolizumab與paclitaxel併用"
define "1規則1-2=限pembrolizumab與pemetrexed及含鉑類化學療法或atezolizumab與bevacizumab及carboplatin及paclitaxel併用":
"藥品代碼限pembrolizumab與pemetrexed及含鉑類化學療法"
or "藥品代碼限atezolizumab與bevacizumab及carboplatin及paclitaxel"
//條件3
define "ALK原生型":
Reusable."HasTestObservationWithValuePattern"(CodeConcept.ALK, '(?i).*wild type.*')
or Reusable."HasGeneInfoObservationWithTextPattern"(CodeConcept.ALK, '(?i).*wild type.*')
define "EGFR原生型":
Reusable."HasTestObservationWithValuePattern"(CodeConcept.EGFR, '(?i).*wild type.*')
or Reusable."HasGeneInfoObservationWithTextPattern"(CodeConcept.EGFR, '(?i).*wild type.*')
define "ROS1原生型":
Reusable."HasTestObservationWithValuePattern"(CodeConcept.ROS1, '(?i).*wild type.*')
or Reusable."HasGeneInfoObservationWithTextPattern"(CodeConcept.ROS1, '(?i).*wild type.*')
define "1規則1-3=且不具有EGFR/ALK/ROS-1腫瘤基因異常":
"ALK原生型"
and "EGFR原生型"
and "ROS1原生型"
define "1規則1":
"1規則1-1=轉移性非小細胞肺癌第一線用藥"
and "1規則1-2=限pembrolizumab與pemetrexed及含鉑類化學療法或atezolizumab與bevacizumab及carboplatin及paclitaxel併用"
and "1規則1-3=且不具有EGFR/ALK/ROS-1腫瘤基因異常"
/*規則2*/
//條件1
define "1規則2-1=病人身體狀況良好(ECOG≦1)":
exists (
[Observation] OBs
where exists (
OBs.category C
where exists (
C.coding Cdg
where Cdg in CodeConcept.NHIPASSupportingInfoType
and Cdg.code = 'patientAssessment'
)
)
and exists (
OBs.code.coding Cdg
where Cdg in CodeConcept.LOINC
and Cdg.code = '89247-1'
)
and OBs.value is FHIR.integer
and (OBs.value as FHIR.integer).value <= 1
)
//條件2:NYHA(the New York Heart Association) Functional Class I或II
define "1規則2-2=NYHA(the New York Heart Association) Functional Class I或II":
exists (
[Observation] OBs
where exists (
OBs.category C
where exists (
C.coding Cdg
where Cdg in CodeConcept.NHIPASSupportingInfoType
and Cdg.code = 'patientAssessment'
)
)
and exists (
OBs.code.coding Cdg
where Cdg in CodeConcept.LOINC
and Cdg.code = '88020-3'
)
and OBs.value is FHIR.string
and ((OBs.value as FHIR.string).value = 'Class I' or (OBs.value as FHIR.string).value = 'Class II')
)
//條件3
//GOT<60U/L及GPT<60U/L
define "GOT<60U/L及GPT<60U/L":
exists (
[Observation] OBs
where Reusable."IsTestObservation"(OBs)
and exists (
OBs.code.coding Cdg
where Cdg in CodeConcept.LOINC
and Cdg.code in CodeConcept.GOT
)
and OBs.value is FHIR.Quantity
and (OBs.value as FHIR.Quantity).value < 60
)
and exists (
[Observation] OBs
where Reusable."IsTestObservation"(OBs)
and exists (
OBs.code.coding Cdg
where Cdg in CodeConcept.LOINC
and Cdg.code in CodeConcept.GPT
)
and OBs.value is FHIR.Quantity
and (OBs.value as FHIR.Quantity).value < 60
)
//T-bilirubin<1.5mg/dL
define "T-bilirubin<1.5mg/dL":
exists (
[Observation] OBs
where Reusable."IsTestObservation"(OBs)
and exists (
OBs.code.coding Cdg
where Cdg in CodeConcept.LOINC
and Cdg.code in CodeConcept.Tbilirubin
)
and OBs.value is FHIR.Quantity
and (OBs.value as FHIR.Quantity).value < 1.5
)
define "1規則2-3":
"GOT<60U/L及GPT<60U/L"
and "T-bilirubin<1.5mg/dL"
//條件4
//Creatinine<1.5mg/dL
define "Creatinine<1.5mg/dL":
exists (
[Observation] OBs
where exists (
OBs.category C
where exists (
C.coding Cdg
where Cdg in CodeConcept.NHIPASSupportingInfoType
and Cdg.code = 'tests'
)
)
and exists (
OBs.code.coding Cdg
where Cdg in CodeConcept.LOINC
and Cdg.code in CodeConcept.Creatinine
)
and OBs.value is FHIR.Quantity
and (OBs.value as FHIR.Quantity).value < 1.5
)
//eGFR>60mL/min/1.73m2
define "eGFR>60mL/min/1.73m2":
exists (
[Observation] OBs
where exists (
OBs.category C
where exists (
C.coding Cdg
where Cdg in CodeConcept.NHIPASSupportingInfoType
and Cdg.code = 'tests'
)
)
and exists (
OBs.code.coding Cdg
where Cdg in CodeConcept.LOINC
and Cdg.code in CodeConcept.eGFR
)
and OBs.value is FHIR.Quantity
and (OBs.value as FHIR.Quantity).value > 60
)
define "1規則2-4":
"Creatinine<1.5mg/dL"
and "eGFR>60mL/min/1.73m2"
define "1規則2":
"1規則2-1=病人身體狀況良好(ECOG≦1)"
and "1規則2-2=NYHA(the New York Heart Association) Functional Class I或II"
and "1規則2-3"
and "1規則2-4"
/*規則4*/
//條件1
define "1規則4-1=12週內有影像檢查報告":
Reusable."HasRecentImageReport"("本次申請起始日期", 84)
define "使用免疫檢查點抑制劑之治療計畫":
exists (
[Claim] C
where exists (
C.supportingInfo Cs
where exists (
Cs.category.coding coding
where coding in CodeConcept.NHIPASSupportingInfoType
and coding.code = 'carePlanDocument'
)
and Cs.value is FHIR.Reference
and exists (
[DocumentReference] D
where (Cs.value as FHIR.Reference).reference = 'DocumentReference/' + D.id
or (Cs.value as FHIR.Reference).reference = D.id
)
)
)
define "1規則4-2=使用免疫檢查點抑制劑之治療計畫":
"使用免疫檢查點抑制劑之治療計畫"
define "1規則4":
"1規則4-1=12週內有影像檢查報告"
and "1規則4-2=使用免疫檢查點抑制劑之治療計畫"
define "主要規定一":
"本次申請紀錄" is not null
and "1規則1" and "1規則2" and "1規則4"
//============================================
// 主要規定二:續用條件-治療持續給付
//============================================
/*規則1*/
//條件1
define "2規則1-1=以i-RECIST標準(HCC患者以mRECIST標準)評定藥物療效反應,依下列原則申請續用:有療效反應(PR及CR)者得繼續用藥":
exists (
[Observation] RasObservation
where exists (
RasObservation.code.coding ObsCodeCoding
where ObsCodeCoding.code in CodeConcept."IREC疾病狀態評估"
and ObsCodeCoding in CodeConcept.NHITreatmentAst
)
and Reusable."IsObservationDateTimeWithinDaysBefore"(RasObservation, "本次申請起始日期", 84)
and RasObservation.value is not null
and RasObservation.value is FHIR.string
and Matches((RasObservation.value as FHIR.string).value, '(?i).*(iPR|iCR).*')
)
//條件2
define "2規則1-2=未出現疾病惡化(PD)或未出現中、重度或危及生命之藥物不良反應者,應停止用藥":
exists (
[Observation] RasObservation
where exists (
RasObservation.code.coding ObsCodeCoding
where ObsCodeCoding.code in CodeConcept."IREC疾病狀態評估"
and ObsCodeCoding in CodeConcept.NHITreatmentAst
)
)
and not exists (
[Observation] RasObservation
where exists (
RasObservation.code.coding ObsCodeCoding
where ObsCodeCoding.code in CodeConcept."IREC疾病狀態評估"
and ObsCodeCoding in CodeConcept.NHITreatmentAst
)
and RasObservation.value is not null
and RasObservation.value is FHIR.string
and Matches((RasObservation.value as FHIR.string).value, '(?i).*(iCPD).*')
)
and not exists (
[Claim] C
where exists (
C.diagnosis Diag
where Diag.type.text is not null
and exists (
Diag.type.text T
where T.value is not null
and Matches(T.value, '(?i).*中、重度或危及生命之藥物不良反應.*')
)
)
)
//條件3
define "2規則1-3=未出現疾病併發症或輕度藥物不良反應等,或沒有暫停用藥超過原事前審查核定日起24週期限者":
Reusable."醫令類別為1"
and not (
Reusable."HasPriorMedicationGapLongerThan"("申請藥品L01FF02", 168)
or Reusable."HasPriorMedicationGapLongerThan"("申請藥品L01FF05", 168)
)
//條件4
define "2規則1-4-0=SD評估記錄":
[Observation] RasObservation
where exists (
RasObservation.code.coding ObsCodeCoding
where ObsCodeCoding.code in CodeConcept."IREC疾病狀態評估"
and ObsCodeCoding in CodeConcept.NHITreatmentAst
)
and RasObservation.value is not null
and RasObservation.value is FHIR.string
and Matches((RasObservation.value as FHIR.string).value, '(?i).*(iSD).*')
define "本次iSD評估記錄":
"2規則1-4-0=SD評估記錄" RasObservation
where Reusable."IsObservationDateTimeWithinDaysBefore"(RasObservation, "本次申請起始日期", 84)
define "前次iSD評估記錄":
"2規則1-4-0=SD評估記錄" RasObservation
where Reusable."IsObservationDateTimeWithinDaysBefore"(RasObservation, "前次申請起始日期", 84)
define "2規則1-4-1=此次與前次皆為iSD":
exists "本次iSD評估記錄"
and exists "前次iSD評估記錄"
define "2規則1":
(
"2規則1-1=以i-RECIST標準(HCC患者以mRECIST標準)評定藥物療效反應,依下列原則申請續用:有療效反應(PR及CR)者得繼續用藥"
or (
exists "2規則1-4-0=SD評估記錄"
and not "2規則1-4-1=此次與前次皆為iSD"
)
)
and "2規則1-2=未出現疾病惡化(PD)或未出現中、重度或危及生命之藥物不良反應者,應停止用藥"
and "2規則1-3=未出現疾病併發症或輕度藥物不良反應等,或沒有暫停用藥超過原事前審查核定日起24週期限者"
/*規則2*/
define "2規則2":
"1規則2" and "1規則4-1=12週內有影像檢查報告"
//主要規定二
define "主要規定二":
Reusable."續用註記為2" and "2規則1" and "2規則2"
//============================================
// 主要規定三:藥品使用規則
//============================================
/*規則1*/
//條件1:每位病人每個適應症限給付一種免疫檢查點抑制劑且不得互換
define "3規則1=每位病人每個適應症限給付一種免疫檢查點抑制劑且不得互換":
(
"本次申請紀錄L01FF02" is not null
and not Reusable."HasConcurrentMedicationUse"("申請藥品L01FF02", CodeConcept.L01FFexceptL01FF02) //若申請 pembrolizumab (L01FF02),不可用其他免疫檢查點抑制劑
)
or (
"本次申請紀錄L01FF05" is not null
and not Reusable."HasConcurrentMedicationUse"("申請藥品L01FF05", CodeConcept.L01FFexceptL01FF05) //若申請 atezolizumab (L01FF05),不可用其他免疫檢查點抑制劑
)
//條件2:治療期間亦不可合併申報該適應症之標靶藥物,無效後或給付時程期滿後則不再給付該適應症相關之標靶藥物
define "3規則2=使用L01FF02或L01FF05則不可存在指定標靶藥物":
not Reusable."HasConcurrentMedicationUse"("申請藥品", CodeConcept."主要規定三不得併用標靶藥物")
define "3規則3=使用不得超過2年":
Reusable."HasMedicationTotalDurationWithin"("申請藥品", 730)
define "3規則4=每次申請以12週為限":
(
"本次申請紀錄L01FF02" is null
or Reusable."HasMedicationPlanPeriodWithinDays"("申請藥品L01FF02", 84)
)
and (
"本次申請紀錄L01FF05" is null
or Reusable."HasMedicationPlanPeriodWithinDays"("申請藥品L01FF05", 84)
)
define "主要規定三":
"3規則1=每位病人每個適應症限給付一種免疫檢查點抑制劑且不得互換"
and "3規則2=使用L01FF02或L01FF05則不可存在指定標靶藥物"
and "3規則3=使用不得超過2年"
and "3規則4=每次申請以12週為限"
//============================================
// 檢核結果用:必要資料存在判斷
//============================================
define "主要疾病ICD資料存在":
exists (
[Claim] C
where exists (
C.diagnosis D
where D.sequence = 1
and exists (
D.diagnosis.coding Cdg
where Cdg in CodeConcept.ICD10CM2023
or Cdg in CodeConcept.ICD10CM2014
)
)
)
define "癌症分期資料存在":
exists (
[Observation] O
where exists (
O.code.coding Cdg
where Cdg.code = '399390009'
and Cdg in CodeConcept.SNOMED
)
)
define "NSCLC及非鱗狀註記資料存在":
exists (
[Claim] C
where exists (
C.diagnosis D
where D.type.text is not null
)
)
define "用藥線別資料存在":
exists (
[Claim] C
where exists (
C.item I
where exists (
I.modifier M
where exists (
M.coding Cdg
where Cdg in CodeConcept.NHILOT
)
)
)
)
define "給付適應症資料存在":
exists (
[Claim] C
where exists (
C.item I
where exists (
I.programCode PC
where exists (
PC.coding Cdg
where Cdg in CodeConcept.NHIApplyReason
)
)
)
)
define "併用化療標靶藥品資料存在":
Reusable."HasMedicationUse"(CodeConcept.pemetrexed)
or Reusable."HasMedicationUse"(CodeConcept.L01XA)
or Reusable."HasMedicationUse"(CodeConcept.bevacizumab)
or Reusable."HasMedicationUse"(CodeConcept.L01CD01)
define "EGFR檢測資料存在":
Reusable."HasTestOrGeneInfoObservation"(CodeConcept.EGFR)
define "ALK檢測資料存在":
Reusable."HasTestOrGeneInfoObservation"(CodeConcept.ALK)
define "ROS1檢測資料存在":
Reusable."HasTestOrGeneInfoObservation"(CodeConcept.ROS1)
define "ECOG資料存在":
Reusable."HasPatientAssessmentObservationCode"({ '89247-1' })
define "NYHA資料存在":
Reusable."HasPatientAssessmentObservationCode"({ '88020-3' })
define "GOT資料存在":
Reusable."HasTestObservationCode"(CodeConcept.GOT)
define "GPT資料存在":
Reusable."HasTestObservationCode"(CodeConcept.GPT)
define "T-bilirubin資料存在":
Reusable."HasTestObservationCode"(CodeConcept.Tbilirubin)
define "Creatinine資料存在":
Reusable."HasTestObservationCode"(CodeConcept.Creatinine)
define "eGFR資料存在":
Reusable."HasTestObservationCode"(CodeConcept.eGFR)
define "iRECIST評估資料存在":
exists (
[Observation] RasObservation
where exists (
RasObservation.code.coding ObsCodeCoding
where ObsCodeCoding.code in CodeConcept."IREC疾病狀態評估"
and ObsCodeCoding in CodeConcept.NHITreatmentAst
)
)
define "療程期間資料存在":
exists (
[MedicationRequest] MR
where Reusable."IsMedicationPlan"(MR, "申請藥品")
and Reusable."HasValidTiming"(MR)
)
define "必要資料皆存在":
(
Reusable."初次申請" and
"本次申請紀錄" is not null and
"主要疾病ICD資料存在" and
"癌症分期資料存在" and
"NSCLC及非鱗狀註記資料存在" and
"用藥線別資料存在" and
"有檢查報告" and
"給付適應症資料存在" and
"併用化療標靶藥品資料存在" and
"ALK檢測資料存在" and
"EGFR檢測資料存在" and
"ROS1檢測資料存在" and
"ECOG資料存在" and
"NYHA資料存在" and
"GOT資料存在" and
"GPT資料存在" and
"T-bilirubin資料存在" and
"Creatinine資料存在" and
"eGFR資料存在" and
"1規則4-1=12週內有影像檢查報告" and
"1規則4-2=使用免疫檢查點抑制劑之治療計畫" and
"療程期間資料存在"
)
or (
Reusable."續用申請" and
"本次申請紀錄" is not null and
"前次申請紀錄" is not null and
"iRECIST評估資料存在" and
"ECOG資料存在" and
"NYHA資料存在" and
"GOT資料存在" and
"GPT資料存在" and
"T-bilirubin資料存在" and
"Creatinine資料存在" and
"eGFR資料存在" and
"1規則4-1=12週內有影像檢查報告" and
"療程期間資料存在"
)
//============================================
// 列出「符合」項目判斷式
//============================================
define function "符合項目"():
(if Reusable."初次申請" and "主要規定一"
then '<主要規定一:初次使用條件>\n' +
'● 1規則1:轉移性非小細胞肺癌第一線用藥且符合併用藥品及基因原生型條件\n' +
'● 1規則2:病人身體狀況及肝腎功能條件\n' +
'● 1規則4:12週內檢查報告及免疫檢查點抑制劑治療計畫\n\n'
else if Reusable."初次申請" and (
"1規則1-1=轉移性非小細胞肺癌第一線用藥"
or "1規則1-2=限pembrolizumab與pemetrexed及含鉑類化學療法或atezolizumab與bevacizumab及carboplatin及paclitaxel併用"
or "1規則1-3=且不具有EGFR/ALK/ROS-1腫瘤基因異常"
or "1規則2"
or "1規則4"
)
then '<主要規定一:初次使用條件>\n' +
(if "1規則1-1=轉移性非小細胞肺癌第一線用藥" then '● 1規則1-1:轉移性非小細胞肺癌第一線用藥\n' else '') +
(if "1規則1-2=限pembrolizumab與pemetrexed及含鉑類化學療法或atezolizumab與bevacizumab及carboplatin及paclitaxel併用" then '● 1規則1-2:符合指定併用藥品條件\n' else '') +
(if "1規則1-3=且不具有EGFR/ALK/ROS-1腫瘤基因異常" then '● 1規則1-3:不具EGFR/ALK/ROS-1腫瘤基因異常\n' else '') +
(if "1規則2" then '● 1規則2:病人身體狀況及肝腎功能條件\n' else '') +
(if "1規則4" then '● 1規則4:影像檢查報告及治療計畫\n' else '') +
'\n'
else '') +
(if Reusable."續用申請" and "主要規定二"
then '<主要規定二:續用條件>\n' +
'● 2規則1:以i-RECIST標準評定療效反應並符合續用原則\n' +
'● 2規則2:續用仍符合身體狀況、肝腎功能及12週內影像報告條件\n\n'
else if Reusable."續用申請" and (
"2規則1"
or "2規則2"
)
then '<主要規定二:續用條件>\n' +
(if "2規則1" then '● 2規則1:療效反應及續用原則\n' else '') +
(if "2規則2" then '● 2規則2:續用身體狀況、肝腎功能及影像報告條件\n' else '') +
'\n'
else '') +
(if "主要規定三"
then '<主要規定三:藥品使用規則>\n' +
'● 3規則1:每位病人每個適應症限給付一種免疫檢查點抑制劑且不得互換(參考資訊)\n' +
'● 3規則2:使用L01FF02或L01FF05則不可存在指定標靶藥物(參考資訊)\n' +
'● 3規則3:使用不得超過2年(參考資訊)\n' +
'● 3規則4:每次申請以12週為限(參考資訊)\n\n'
else if "3規則1=每位病人每個適應症限給付一種免疫檢查點抑制劑且不得互換"
or "3規則2=使用L01FF02或L01FF05則不可存在指定標靶藥物"
or "3規則3=使用不得超過2年"
or "3規則4=每次申請以12週為限"
then '<主要規定三:藥品使用規則>\n' +
(if "3規則1=每位病人每個適應症限給付一種免疫檢查點抑制劑且不得互換" then '● 3規則1:免疫檢查點抑制劑未併用或互換(參考資訊)\n' else '') +
(if "3規則2=使用L01FF02或L01FF05則不可存在指定標靶藥物" then '● 3規則2:未併用指定標靶藥物(參考資訊)\n' else '') +
(if "3規則3=使用不得超過2年" then '● 3規則3:使用未超過2年(參考資訊)\n' else '') +
(if "3規則4=每次申請以12週為限" then '● 3規則4:每次申請以12週為限(參考資訊)\n' else '') +
'\n'
else '')
//============================================
// 列出「不符合」項目判斷式 - 條件或代碼不符合
//============================================
define function "不符合項目_條件或代碼不符合"():
(if Reusable."初次申請" and not "主要規定一" and (
("主要疾病ICD資料存在" and not "ICD代碼檢核_布林值")
or ("癌症分期資料存在" and not Reusable."癌症分期分數或結果為M≠0")
or ("NSCLC及非鱗狀註記資料存在" and not "疾病資訊")
or ("用藥線別資料存在" and not Reusable."用藥線別=1")
or ("給付適應症資料存在" and not "給付適應症條件P014")
or ("併用化療標靶藥品資料存在" and not "1規則1-2=限pembrolizumab與pemetrexed及含鉑類化學療法或atezolizumab與bevacizumab及carboplatin及paclitaxel併用")
or (("ALK檢測資料存在" and "EGFR檢測資料存在" and "ROS1檢測資料存在") and not "1規則1-3=且不具有EGFR/ALK/ROS-1腫瘤基因異常")
or ("ECOG資料存在" and not "1規則2-1=病人身體狀況良好(ECOG≦1)")
or ("NYHA資料存在" and not "1規則2-2=NYHA(the New York Heart Association) Functional Class I或II")
or (("GOT資料存在" and "GPT資料存在") and not "GOT<60U/L及GPT<60U/L")
or ("T-bilirubin資料存在" and not "T-bilirubin<1.5mg/dL")
or ("Creatinine資料存在" and not "Creatinine<1.5mg/dL")
or ("eGFR資料存在" and not "eGFR>60mL/min/1.73m2")
)
then '<主要規定一:初次使用條件>\n' +
(if "主要疾病ICD資料存在" and not "ICD代碼檢核_布林值" then '▲ 1規則1-1:未符合主要疾病ICD代碼C34條件\n' else '') +
(if "癌症分期資料存在" and not Reusable."癌症分期分數或結果為M≠0" then '▲ 1規則1-1:未符合轉移性分期M≠0條件\n' else '') +
(if "NSCLC及非鱗狀註記資料存在" and not "疾病資訊" then '▲ 1規則1-1:未符合NSCLC及非鱗狀診斷條件\n' else '') +
(if "用藥線別資料存在" and not Reusable."用藥線別=1" then '▲ 1規則1-1:未符合第一線用藥條件\n' else '') +
(if "給付適應症資料存在" and not "給付適應症條件P014" then '▲ 1規則1-1:未符合給付適應症P014條件\n' else '') +
(if "併用化療標靶藥品資料存在" and not "1規則1-2=限pembrolizumab與pemetrexed及含鉑類化學療法或atezolizumab與bevacizumab及carboplatin及paclitaxel併用" then '▲ 1規則1-2:未符合指定併用藥品條件\n' else '') +
(if ("ALK檢測資料存在" and "EGFR檢測資料存在" and "ROS1檢測資料存在") and not "1規則1-3=且不具有EGFR/ALK/ROS-1腫瘤基因異常" then '▲ 1規則1-3:未符合不具EGFR/ALK/ROS-1腫瘤基因異常條件\n' else '') +
(if "ECOG資料存在" and not "1規則2-1=病人身體狀況良好(ECOG≦1)" then '▲ 1規則2-1:未符合ECOG≦1條件\n' else '') +
(if "NYHA資料存在" and not "1規則2-2=NYHA(the New York Heart Association) Functional Class I或II" then '▲ 1規則2-2:未符合NYHA Class I或II條件\n' else '') +
(if ("GOT資料存在" and "GPT資料存在") and not "GOT<60U/L及GPT<60U/L" then '▲ 1規則2-3:未符合GOT<60U/L及GPT<60U/L條件\n' else '') +
(if "T-bilirubin資料存在" and not "T-bilirubin<1.5mg/dL" then '▲ 1規則2-3:未符合T-bilirubin<1.5mg/dL條件\n' else '') +
(if "Creatinine資料存在" and not "Creatinine<1.5mg/dL" then '▲ 1規則2-4:未符合Creatinine<1.5mg/dL條件\n' else '') +
(if "eGFR資料存在" and not "eGFR>60mL/min/1.73m2" then '▲ 1規則2-4:未符合eGFR>60mL/min/1.73m2條件\n' else '') +
'\n'
else '') +
(if Reusable."續用申請" and not "主要規定二" and (
("iRECIST評估資料存在" and not "2規則1")
or ("ECOG資料存在" and not "1規則2-1=病人身體狀況良好(ECOG≦1)")
or ("NYHA資料存在" and not "1規則2-2=NYHA(the New York Heart Association) Functional Class I或II")
or (("GOT資料存在" and "GPT資料存在") and not "GOT<60U/L及GPT<60U/L")
or ("T-bilirubin資料存在" and not "T-bilirubin<1.5mg/dL")
or ("Creatinine資料存在" and not "Creatinine<1.5mg/dL")
or ("eGFR資料存在" and not "eGFR>60mL/min/1.73m2")
)
then '<主要規定二:續用條件>\n' +
(if "iRECIST評估資料存在" and not "2規則1" then '▲ 2規則1:未符合i-RECIST療效反應及續用原則\n' else '') +
(if "ECOG資料存在" and not "1規則2-1=病人身體狀況良好(ECOG≦1)" then '▲ 2規則2:未符合ECOG≦1條件\n' else '') +
(if "NYHA資料存在" and not "1規則2-2=NYHA(the New York Heart Association) Functional Class I或II" then '▲ 2規則2:未符合NYHA Class I或II條件\n' else '') +
(if ("GOT資料存在" and "GPT資料存在") and not "GOT<60U/L及GPT<60U/L" then '▲ 2規則2:未符合GOT<60U/L及GPT<60U/L條件\n' else '') +
(if "T-bilirubin資料存在" and not "T-bilirubin<1.5mg/dL" then '▲ 2規則2:未符合T-bilirubin<1.5mg/dL條件\n' else '') +
(if "Creatinine資料存在" and not "Creatinine<1.5mg/dL" then '▲ 2規則2:未符合Creatinine<1.5mg/dL條件\n' else '') +
(if "eGFR資料存在" and not "eGFR>60mL/min/1.73m2" then '▲ 2規則2:未符合eGFR>60mL/min/1.73m2條件\n' else '') +
'\n'
else '') +
(if not "主要規定三" and (
not "3規則1=每位病人每個適應症限給付一種免疫檢查點抑制劑且不得互換"
or not "3規則2=使用L01FF02或L01FF05則不可存在指定標靶藥物"
or ("療程期間資料存在" and not "3規則3=使用不得超過2年")
or ("療程期間資料存在" and not "3規則4=每次申請以12週為限")
)
then '<主要規定三:藥品使用規則>\n' +
(if not "3規則1=每位病人每個適應症限給付一種免疫檢查點抑制劑且不得互換" then '▲ 3規則1:未符合每位病人每個適應症限給付一種免疫檢查點抑制劑且不得互換條件(參考資訊)\n' else '') +
(if not "3規則2=使用L01FF02或L01FF05則不可存在指定標靶藥物" then '▲ 3規則2:治療期間存在指定不得併用標靶藥物(參考資訊)\n' else '') +
(if "療程期間資料存在" and not "3規則3=使用不得超過2年" then '▲ 3規則3:未符合使用不得超過2年條件(參考資訊)\n' else '') +
(if "療程期間資料存在" and not "3規則4=每次申請以12週為限" then '▲ 3規則4:未符合每次申請以12週為限條件(參考資訊)\n' else '') +
'\n'
else '')
//============================================
// 列出「不符合」項目判斷式 - 必要資料未填寫
//============================================
define function "不符合項目_必要資料未填寫"():
(if Reusable."初次申請" and (
"本次申請紀錄" is null
or not "主要疾病ICD資料存在"
or not "癌症分期資料存在"
or not "NSCLC及非鱗狀註記資料存在"
or not "用藥線別資料存在"
or not "有檢查報告"
or not "給付適應症資料存在"
or not "併用化療標靶藥品資料存在"
or not "ALK檢測資料存在"
or not "EGFR檢測資料存在"
or not "ROS1檢測資料存在"
or not "ECOG資料存在"
or not "NYHA資料存在"
or not "GOT資料存在"
or not "GPT資料存在"
or not "T-bilirubin資料存在"
or not "Creatinine資料存在"
or not "eGFR資料存在"
or not "1規則4-1=12週內有影像檢查報告"
or not "1規則4-2=使用免疫檢查點抑制劑之治療計畫"
)
then '<主要規定一:初次使用條件>\n' +
(if "本次申請紀錄" is null then '▲ 1條件申請醫令:未提供Pembrolizumab或Atezolizumab申請醫令資料\n' else '') +
(if not "主要疾病ICD資料存在" then '▲ 1規則1-1:未提供主要疾病ICD診斷資料\n' else '') +
(if not "癌症分期資料存在" then '▲ 1規則1-1:未提供癌症分期分數或結果資料\n' else '') +
(if not "NSCLC及非鱗狀註記資料存在" then '▲ 1規則1-1:未提供NSCLC及非鱗狀診斷註記資料\n' else '') +
(if not "用藥線別資料存在" then '▲ 1規則1-1:未提供用藥線別資料\n' else '') +
(if not "有檢查報告" then '▲ 1規則1-1:未提供分子或病理檢查報告資料\n' else '') +
(if not "給付適應症資料存在" then '▲ 1規則1-1:未提供給付適應症資料\n' else '') +
(if not "併用化療標靶藥品資料存在" then '▲ 1規則1-2:未提供指定併用藥品資料\n' else '') +
(if not "ALK檢測資料存在" then '▲ 1規則1-3:未提供ALK檢測資料\n' else '') +
(if not "EGFR檢測資料存在" then '▲ 1規則1-3:未提供EGFR檢測資料\n' else '') +
(if not "ROS1檢測資料存在" then '▲ 1規則1-3:未提供ROS-1檢測資料\n' else '') +
(if not "ECOG資料存在" then '▲ 1規則2-1:未提供ECOG資料\n' else '') +
(if not "NYHA資料存在" then '▲ 1規則2-2:未提供NYHA資料\n' else '') +
(if not "GOT資料存在" then '▲ 1規則2-3:未提供GOT資料\n' else '') +
(if not "GPT資料存在" then '▲ 1規則2-3:未提供GPT資料\n' else '') +
(if not "T-bilirubin資料存在" then '▲ 1規則2-3:未提供T-bilirubin資料\n' else '') +
(if not "Creatinine資料存在" then '▲ 1規則2-4:未提供Creatinine資料\n' else '') +
(if not "eGFR資料存在" then '▲ 1規則2-4:未提供eGFR資料\n' else '') +
(if not "1規則4-1=12週內有影像檢查報告" then '▲ 1規則4-1:未提供12週內影像檢查報告\n' else '') +
(if not "1規則4-2=使用免疫檢查點抑制劑之治療計畫" then '▲ 1規則4-2:未提供免疫檢查點抑制劑治療計畫\n' else '') +
'\n'
else '') +
(if Reusable."續用申請" and (
"本次申請紀錄" is null
or "前次申請紀錄" is null
or not "iRECIST評估資料存在"
or not "ECOG資料存在"
or not "NYHA資料存在"
or not "GOT資料存在"
or not "GPT資料存在"
or not "T-bilirubin資料存在"
or not "Creatinine資料存在"
or not "eGFR資料存在"
or not "1規則4-1=12週內有影像檢查報告"
)
then '<主要規定二:續用條件>\n' +
(if "本次申請紀錄" is null then '▲ 2條件申請醫令:未提供本次Pembrolizumab或Atezolizumab申請醫令資料\n' else '') +
(if "前次申請紀錄" is null then '▲ 2條件前次申請:未提供前次Pembrolizumab或Atezolizumab申請資料\n' else '') +
(if not "iRECIST評估資料存在" then '▲ 2規則1:未提供i-RECIST療效評估資料\n' else '') +
(if not "ECOG資料存在" then '▲ 2規則2:未提供ECOG資料\n' else '') +
(if not "NYHA資料存在" then '▲ 2規則2:未提供NYHA資料\n' else '') +
(if not "GOT資料存在" then '▲ 2規則2:未提供GOT資料\n' else '') +
(if not "GPT資料存在" then '▲ 2規則2:未提供GPT資料\n' else '') +
(if not "T-bilirubin資料存在" then '▲ 2規則2:未提供T-bilirubin資料\n' else '') +
(if not "Creatinine資料存在" then '▲ 2規則2:未提供Creatinine資料\n' else '') +
(if not "eGFR資料存在" then '▲ 2規則2:未提供eGFR資料\n' else '') +
(if not "1規則4-1=12週內有影像檢查報告" then '▲ 2規則2:未提供12週內影像檢查報告\n' else '') +
'\n'
else '') +
(if not "療程期間資料存在"
then '<主要規定三:藥品使用規則>\n' +
'▲ 3規則3/3規則4:未提供療程起迄日期資料(參考資訊)\n\n'
else '')
//============================================
// 審核結果
//============================================
define "肺癌PembrolizumabAtezolizumab申請結果_布林":
case
when Reusable."初次申請" then (
"主要規定一"
)
when Reusable."續用申請" then (
"主要規定二"
)
else false
end
define "肺癌PembrolizumabAtezolizumab申請結果":
if Reusable."初次申請" and "主要規定一"
then '✓通過:初次使用-肺癌 Pembrolizumab/Atezolizumab(併用)用藥申請'
else if Reusable."續用申請" and "主要規定二"
then '✓通過:續用-肺癌 Pembrolizumab/Atezolizumab(併用)用藥申請'
else if Reusable."初次申請"
then '✖不通過:初次使用-肺癌 Pembrolizumab/Atezolizumab(併用)用藥申請'
else if Reusable."續用申請"
then '✖不通過:續用-肺癌 Pembrolizumab/Atezolizumab(併用)用藥申請'
else '✖不通過:無法判定申請類型-肺癌 Pembrolizumab/Atezolizumab(併用)用藥申請'
//============================================
// 報告總結
//============================================
define "報告總結":
'\n=== 肺癌之 Pembrolizumab/Atezolizumab(併用)申請審核報告 ===\n' +
'\n※ 備註:標示為「參考資訊」之檢核項目,係供審核參酌使用,不作為最終【申請結果】判定之依據。\n' +
'\n【申請類型】' + Reusable."申請類型" + '\n' +
'\n【●符合項目】\n' +
(if "符合項目"() = '' then '無\n' else "符合項目"()) +
'\n【▲不符合項目 - 必要資料未填寫】\n' +
(if "不符合項目_必要資料未填寫"() = '' then '無\n' else "不符合項目_必要資料未填寫"()) +
'\n【▲不符合項目 - 條件或代碼不符合】\n' +
(if "不符合項目_條件或代碼不符合"() = '' then '無\n' else "不符合項目_條件或代碼不符合"()) +
'\n【申請結果】\n' +
"肺癌PembrolizumabAtezolizumab申請結果" +
'\n===============================================\n'
|