Period
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Period | ΣIN | Element | Time range defined by start and end date/time + Rule: If present, start SHALL have a lower value than end Elements defined in Ancestors: id, extension | |
start | ΣI | 0..1 | dateTime | Starting time with inclusive boundary |
end | ΣI | 0..1 | dateTime | End time with inclusive boundary, if not ongoing |
之前有個Duration的Profile層級的資料型態。跟這個不一樣喔。Duration是指這段期間的長度,還是衍生自Quantity。
Timing
這是個很複雜的Type,卻應用在很多地方:Dosage, TriggerDefinition, ActivityDefinition, CarePlan, ChargeItem, Contract, DeviceMetric, DeviceRequest, DeviceUseStatement, EvidenceVariable, NutritionOrder, Observation, PlanDefinition, RequestGroup, ResearchElementDefinition, ServiceRequest, SupplyDelivery, SupplyRequest and VerificationResult而且他還包含了一個Repeat Type(Element)。總之,一定要搞懂。
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Timing | ΣN | BackBoneElement | A timing schedule that specifies an event that may occur multiple times Elements defined in Ancestors: id, extension, modifierExtension | |
event | Σ | 0..* | dateTime | When the event occurs |
repeat | ΣI | 0..1 | Element | When the event is to occur + Rule: if there's a duration, there needs to be duration units + Rule: if there's a period, there needs to be period units + Rule: duration SHALL be a non-negative value + Rule: period SHALL be a non-negative value + Rule: If there's a periodMax, there must be a period + Rule: If there's a durationMax, there must be a duration + Rule: If there's a countMax, there must be a count + Rule: If there's an offset, there must be a when (and not C, CM, CD, CV) + Rule: If there's a timeOfDay, there cannot be a when, or vice versa |
bounds[x] | Σ | 0..1 | Length/Range of lengths, or (Start and/or end) limits | |
boundsDuration | Duration | |||
boundsRange | Range | |||
boundsPeriod | Period | |||
count | Σ | 0..1 | positiveInt | Number of times to repeat |
countMax | Σ | 0..1 | positiveInt | Maximum number of times to repeat |
duration | Σ | 0..1 | decimal | How long when it happens |
durationMax | Σ | 0..1 | decimal | How long when it happens (Max) |
durationUnit | Σ | 0..1 | code | s | min | h | d | wk | mo | a - unit of time (UCUM) UnitsOfTime (Required) |
frequency | Σ | 0..1 | positiveInt | Event occurs frequency times per period |
frequencyMax | Σ | 0..1 | positiveInt | Event occurs up to frequencyMax times per period |
period | Σ | 0..1 | decimal | Event occurs frequency times per period |
periodMax | Σ | 0..1 | decimal | Upper limit of period (3-4 hours) |
periodUnit | Σ | 0..1 | code | s | min | h | d | wk | mo | a - unit of time (UCUM) UnitsOfTime (Required) |
dayOfWeek | Σ | 0..* | code | mon | tue | wed | thu | fri | sat | sun DaysOfWeek (Required) |
timeOfDay | Σ | 0..* | time | Time of day for action |
when | Σ | 0..* | code | Code for time period of occurrence EventTiming (Required) |
offset | Σ | 0..1 | unsignedInt | Minutes from event (before or after) |
code | Σ | 0..1 | CodeableConcept | BID | TID | QID | AM | PM | QD | QOD | + TimingAbbreviation (Preferred) |
下列欄位說明,若不是很清楚,請勿擔心。那是我英文程度不好,屆時看範例會比較清楚。
- Timing.event:dataTime [0..*]
用來表達事件發生時,會有哪個特定的時間點。
- Timing.repeat:Repeat [0..1]
此Element乃Composition類別。
- Timing.repeat.bounds[x] : [0..1]
- boundsDuration: Duration
- boundsRange: Range
- boundsPeriod: Period
先定義這個「重複時間」是採用什麼模式。
Duration很單純是一個期間數值。
Range則是採用低值與高值來定義期間。
Period則是採用開始時間與結束時間來定義期間。
- Timing.repeat.count: positiveInt [0..1]
重複了幾次。
- Timing.repeat.countMax: positiveInt [0..1]
最多可以重複幾次。
- Timing.repeat.duration: decimal [0..1]
若事件發生時,會持續多久。若durationMax有值,那這裡代表最少要能持續多久。
- Timing.repeat.durationMax: decimal [0..1]
最久能持續多久。
- Timing.repeat.durationUnit: code(UnitsOfTime) [0..1]
這個持續時間的單位是什麼。(有點討厭,跟寫程式的認知不同)
- s:秒
- min: 分鐘
- h: 小時
- d: 天
- wk: 星期
- mo: 月
- a: 年
- Timing.repeat.frequency: positiveInt [0..1]
在一定期間內,重複操作的次數。若frequencyMax有值,這代表最少重複次數。
- Timing.repeat.frequencyMax: positiveInt [0..1]
在一定期間內,最多可重複操作的次數。
- Timing.repeat.period: decimal [0..1]
可重複發生的期間。要看英文比較清楚”3 times per day” 意思是說每天3次。這個3是放在frequency,這個每天,也就是1天的意思,這個1就是放在這裡period。
若periodMax有值,那這代表至少。
- Timing.repeat.periodMax: positiveInt [0..1]
最多可重複發生的期間。
- Timing.repeat.periodUnit: code(UnitsOfTime) [0..1]
期間所使用之單位。
- Timing.repeat.dayOfWeek: code(DaysOfWeek) [0..*]
若有指定值,那事件發生就在特定的日子。所用到的編碼有:
- mon: 星期一
- tue: 星期二
- wed: 星期三
- thu: 星期四
- fri: 星期五
- sat: 星期六
- sun: 星期日
- Timing.repeat.timeOfDay: time [0..*]
事件發生在該日的哪個時間點。
- Timing.repeat.when: code(EventTiming) [0..*]
定義事件發生的時間點,或者應該說是情境。EventTiming這個Value-Set有來自不同的Code-System。下列主要是來自http://terminology.hl7.org/CodeSystem/v3-TimingEvent
這個Code system。
- boundsDuration: Duration
- boundsRange: Range
- boundsPeriod: Period
- s:秒
- min: 分鐘
- h: 小時
- d: 天
- wk: 星期
- mo: 月
- a: 年
- mon: 星期一
- tue: 星期二
- wed: 星期三
- thu: 星期四
- fri: 星期五
- sat: 星期六
- sun: 星期日
http://terminology.hl7.org/CodeSystem/v3-TimingEvent
- HS:事件在睡眠時間(或嘗試)之前發生[偏移]
- WAKE:事件在醒來後發生[offset]
- C:事件發生在一頓飯(來自拉丁語cibus)
- CM:事件發生在早餐(來自拉丁語cibus matutinus)
- CD:事件發生在午餐時間(來自拉丁語cibus diurnus)
- CV:事件發生在晚餐時間(來自拉丁語ante cibus vespertinus)
- AC:事件在用餐前發生 [偏移](來自拉丁語ante cibus)
- ACM:事件在早餐前發生 [偏移](來自拉丁語ante cibus matutinus)
- ACD:事件在午餐前發生 [偏移](來自拉丁語ante cibus diurnus)
- ACV:事件在晚餐前發生 [偏移](來自拉丁語ante cibus vespertinus)
- PC:事件發生在飯後 [偏移](來自拉丁文後cibus)
- PCM:事件在早餐後發生[偏移](來自拉丁文post cibus matutinus)
- PCD:事件在午餐後發生[偏移](來自拉丁文cibus diurnus)
- PCV PCV事件在晚餐後發生[偏移](來自拉丁文post cibus vespertinus)
其中偏移的意思,例如飯後30分鐘,30分鐘就是偏移。
沒有留言:
張貼留言