hl7:substanceAdministration
|
|
1 … 1 |
M |
Szablon sekwencji dawkowania w przypadku użycia zmiennego modelu dawkowania. Za pomocą
kilku sekwencji można opisać dawkowanie zmienne w czasie, a także wskazać moment podania
leku w ciągu doby.
|
(plCtry) |
hl7:templateId
|
II |
1 … 1 |
M |
|
(plCtry) |
@root
|
uid |
1 … 1 |
F |
2.16.840.1.113883.3.4424.13.10.4.175 |
Wybór |
1 … 1 |
|
Elementy do wyboru z:
- hl7:effectiveTime[@operator='A'][@xsi:type='PIVL_TS']
- hl7:effectiveTime[@operator='A'][@xsi:type='IVL_TS']
|
hl7:effectiveTime
|
PIVL_TS |
0 … 1 |
|
Zakres czasu, co który podawana jest dawka leku w ramach danej sekwencji. |
(plCtry) |
|
|
gdzie [@operator='A'] [@xsi:type='PIVL_TS'] |
|
|
@operator
|
|
1 … 1 |
F |
A |
|
Schematron report |
rola |
error
|
|
|
test |
@institutionSpecified = 'true' and (hl7:period/@unit != 'h') |
|
|
Komunikat |
Gdy institutionSpecified='true' to jednostka okresu dawkowania (period/@unit) musi
być 'h'. |
|
|
Schematron report |
rola |
error
|
|
|
test |
@institutionSpecified = 'true' and ((24 mod hl7:period/@value) != 0) |
|
|
Komunikat |
Gdy institutionSpecified='true' to wartość 24 musi być podzielna przez wartość okresu
dawkowania (period/@value) bez reszty. |
|
|
Schematron report |
rola |
error
|
|
|
test |
@institutionSpecified = 'true' and (hl7:period/hl7:low or hl7:period/hl7:high) |
|
|
Komunikat |
Gdy institutionSpecified='true' to okres dawkowania (period) nie może zawierać węzłów
low/high. |
|
Wybór |
1 … 1 |
|
Elementy do wyboru z:
- hl7:period[@value]
- hl7:period[hl7:low/@value and hl7:high/@value]
|
hl7:period
|
PQ |
0 … 1 |
|
|
(plCtry) |
|
|
@value
|
|
1 … 1 |
R |
Dopuszczalna liczba dodatnia. |
@unit
|
|
1 … 1 |
R |
W @unit należy stosować jednostki czasu wg UCUM, tj. (h - godziny, d - dni, wk - tygodnie,
mo - miesiące, /d - na dzień, /wk - na tydzień, /mo - na miesiąc).
|
|
CONF |
Dolna granica zakresu dla minInclude wynosi "0" |
|
|
Schematron assert |
rola |
error
|
|
|
test |
@unit = ('h', 'd', 'wk', 'mo', '/d', '/wk', '/mo') |
|
|
Komunikat |
Jednostka czasu (@unit) musi być jedną z podanych wartości: h, d, wk, mo, /d, /wk,
/mo. |
|
hl7:period
|
IVL_PQ |
0 … 1 |
|
|
(plCtry) |
|
|
|
|
gdzie [hl7:low/@value and hl7:high/@value] |
|
|
hl7:low
|
PQ |
|
|
|
(plCtry) |
@value
|
|
1 … 1 |
R |
Dopuszczalna liczba dodatnia. |
@unit
|
|
1 … 1 |
R |
|
|
CONF |
Dolna granica zakresu dla minInclude wynosi "0" |
|
|
Schematron assert |
rola |
error
|
|
|
test |
@unit = ('h', 'd', 'wk', 'mo') |
|
|
Komunikat |
Jednostka czasu (@unit) musi być jedną z podanych wartości: h, d, wk, mo. |
|
hl7:high
|
PQ |
|
|
|
(plCtry) |
@value
|
|
1 … 1 |
R |
Dopuszczalna liczba dodatnia. |
@unit
|
|
1 … 1 |
R |
|
|
CONF |
Dolna granica zakresu dla minInclude wynosi "0" |
|
|
Schematron assert |
rola |
error
|
|
|
test |
@unit = ('h', 'd', 'wk', 'mo') |
|
|
Komunikat |
Jednostka czasu (@unit) musi być jedną z podanych wartości: h, d, wk, mo. |
|
hl7:effectiveTime
|
IVL_TS |
0 … 1 |
|
Zakres czasu, na jaki ma być dawowane całe opakownaie leku - w przypadku dawkowania
za pomocą całych opakowań.
|
(plCtry) |
|
|
gdzie [@operator='A'] [@xsi:type='IVL_TS'] |
|
|
@operator
|
|
1 … 1 |
F |
A |
hl7:width
|
PQ |
0 … 1 |
|
Na potrzeby dawkowania w całych opakowaniach. Szerokość czasu, w którym wskazuje się
n opakowań do wykorzystania.
|
(plCtry) |
|
|
@value
|
|
1 … 1 |
R |
Dopuszczalna liczba dodatnia. |
@unit
|
|
1 … 1 |
R |
W @unit należy stosować jednostki czasu wg UCUM, tj. (d - dni, wk - tygodnie, mo -
miesiące).
|
|
CONF |
Dolna granica zakresu dla minInclude wynosi "0" |
|
|
Zmienna let |
Nazwa |
is_IVL_TS |
|
|
Wartość |
@xsi:type='IVL_TS' |
|
|
Schematron report |
rola |
error
|
|
|
test |
$is_IVL_TS and hl7:width and (hl7:width/hl7:low or hl7:width/hl7:high) |
|
|
Komunikat |
Jeżeli występuje węzeł 'width', to nie mogą zawierać się w nim węzły 'low' oraz 'high'. |
|
|
Schematron report |
rola |
error
|
|
|
test |
$is_IVL_TS and hl7:width and not(hl7:width/@unit=('d', 'wk', 'mo')) |
|
|
Komunikat |
Jeżeli występuje węzeł 'width', to wartość jednostki (unit) musi być jedną z wartości:
d, wk, mo. |
|
|
Schematron report |
rola |
error
|
|
|
test |
$is_IVL_TS and hl7:width and (contains(hl7:width/@value, '.') or hl7:width/@value
!= round(hl7:width/@value))
|
|
|
Komunikat |
Jeżeli występuje węzeł 'width', to wartość (value) musi być liczbą całkowitą. |
|
hl7:repeatNumber
|
IVL_INT |
1 … 1 |
M |
Liczba powtórzeń danej sekwencji dawkowania. Wyliczane jako liczba powtórzeń (repeatNumber
liczony od 0). Wartość 0 oznacza brak powtórzeń, czyli jedna dawka. Wartość 1 oznacza
jedno powtórzenie, czyli dwie dawki.
|
(plCtry) |
hl7:doseQuantity
|
IVL_PQ |
0 … 1 |
|
Jeżeli podano wartość, oznacza liczbę jednostek leku do podania w danej sekwencji
i w ramach wskazanego okresu [effectiveTime operator='A']. np. 1 tabletka dziennie.
Jeżeli nie podano tego elementu, oznacza to, że dawkowanie w ramach sekwencji zostało
doprecyzowane za pomocą szablonu podsekwencji i szczegóły dawkowania zostały opisane
w szablonie podsekwencji dawkowania. Np. dla sytuacji gdy jest potrzeba wskaznia dokładnego
momentu zażycia leku, rano, przed posiłkiem, itd.
|
(plCtry) |
|
Schematron report |
rola |
error
|
|
|
test |
hl7:low and not(hl7:high) |
|
|
Komunikat |
Ilość dawki (doseQuantity) posiadając wartość minimalną (low) musi posiadać wartość
maksymalną (high). |
|
hl7:consumable
|
|
1 … 1 |
M |
|
(plCtry) |
hl7:manufacturedProduct
|
|
1 … 1 |
R |
|
(plCtry) |
hl7:manufacturedMaterial
|
|
1 … 1 |
|
|
(plCtry) |
@nullFlavor
|
|
1 … 1 |
F |
NA |
hl7:entryRelationship
|
|
0 … * |
|
Szablon podsekwencji dawkowania w przypadku potrzeby doprecyzowania zmiennego modelu
dawkowania. Za pomocą podsekwencji można wskazać moment podania leku w ciągu doby. Zawiera 2.16.840.1.113883.3.4424.13.10.4.176 [4] Podsekwencja dawkowania leku (DYNAMICZNE)
|
(plCtry) |
|
gdzie [hl7:substanceAdministration/hl7:templateId/@root='2.16.840.1.113883.3.4424.13.10.4.176'] |
|
|
@typeCode
|
|
1 … 1 |
F |
COMP |
hl7:sequenceNumber
|
INT |
1 … 1 |
M |
Numer podsekwencji dawkowania w danej sekwencji dawkowania. Każda kolejna podsekwencja
(etap), musi mieć numer wyższy od poprzedniego. Numerowanie sekwencji rozpoczyna sie
od liczby 1.
|
(plCtry) |
hl7:entryRelationship
|
|
0 … * |
|
Szablon sekwencji alternatywnego dawkowania. Należy zastosować w celu wskazania jak
ma zostać zmienione dawkowanie gdy zajdzie określony warunek. Zawiera 2.16.840.1.113883.3.4424.13.10.4.177 [4] Sekwencja alternatywnego dawkowania leku (DYNAMICZNE)
|
(plCtry) |
|
gdzie [hl7:substanceAdministration/hl7:templateId/@root='2.16.840.1.113883.3.4424.13.10.4.177'] |
|
|
@typeCode
|
|
1 … 1 |
F |
COMP |
hl7:sequenceNumber
|
INT |
1 … 1 |
M |
Numer podsekwencji dawkowania w danej sekwencji dawkowania. Każda kolejna podsekwencja
(etap), musi mieć numer wyższy od poprzedniego. Numerowanie sekwencji rozpoczyna sie
od liczby 1.
|
(plCtry) |
hl7:precondition
|
|
0 … 1 |
|
Opcjonalny element służący do określenia warunku dla wskazanego dawkowania. |
(plCtry) |
@typeCode
|
|
1 … 1 |
F |
PRCN |
hl7:criterion
|
|
1 … 1 |
R |
|
(plCtry) |
hl7:code
|
CE |
1 … 1 |
M |
|
(plCtry) |
@code
|
CONF |
1 … 1 |
F |
DOSE |
@codeSystem
|
1 … 1 |
F |
2.16.840.1.113883.5.4 (ActCode) |
Dołączony |
1 … 1 |
M |
z 2.16.840.1.113883.3.4424.13.10.7.3 [7] Opis wyrażenia klinicznego (DYNAMICZNE) Służy do wskazania identyfikatora referencji, dla odpowiednika tej informadcji w bloku
narracyjnym
|
hl7:text
|
ED |
1 … 1 |
M |
|
(plCtry) |
hl7:reference
|
TEL |
0 … 1 |
|
|
(plCtry) |
@value
|
st |
1 … 1 |
R |
|
|
Schematron assert |
rola |
error
|
|
|
test |
ancestor::hl7:section//*[@ID=substring(current()/@value,2)] |
|
|
Komunikat |
Referencja musi wskazywać na konkretny element tekstu sekcji o danym ID. |
|
|
Schematron report |
rola |
error
|
|
|
test |
ancestor::hl7:section/hl7:templateId[@root='2.16.840.1.113883.3.4424.13.10.3.55']
and hl7:reference
|
|
|
Komunikat |
Nie może istnieć referencja do treści w sekcji postaci binarnej dokumentu. |
|
hl7:value
|
ST |
1 … 1 |
M |
Tekstowy opis kryterium dla wskazanego dawkowania leku. Np. W razie bólu. Przy gorączce.
Drętwienie lewej kończyny. itp.
|
(plCtry) |
|
Schematron report |
rola |
error
|
|
|
test |
hl7:effectiveTime[not(@operator='A')]/hl7:width |
|
|
Komunikat |
Długość czasu kuracji podaje się tylko w szablonie głównym tj. 2.16.840.1.113883.3.4424.13.10.4.3 |
|
|
Schematron report |
rola |
error
|
|
|
test |
count(hl7:entryRelationship[hl7:substanceAdministration/hl7:templateId/@root='2.16.840.1.113883.3.4424.13.10.4.176'])
!= 0 and count(hl7:effectiveTime[@institutionSpecified='true' and @operator='A'])
!= 0 and ((24 div hl7:effectiveTime[@institutionSpecified='true' and @operator='A']/hl7:period/@value)
!= count(hl7:entryRelationship[hl7:substanceAdministration/hl7:templateId/@root='2.16.840.1.113883.3.4424.13.10.4.176']))
|
|
|
Komunikat |
Liczba węzłów podsekwencji (4.176) musi być zgodna z wartością ilorazu 24 oraz wartości
okresu dawkowania (period/@value). |
|
|
Schematron report |
rola |
error
|
|
|
test |
hl7:doseQuantity and hl7:entryRelationship[hl7:substanceAdministration/hl7:templateId/@root='2.16.840.1.113883.3.4424.13.10.4.176'] |
|
|
Komunikat |
Element doseQuantity nie może występować na poziomie sekwencji (4.175) jeżeli istnieje
co najmniej jedna podsekwencja (4.176). |
|
|
Schematron report |
rola |
error
|
|
|
test |
not(hl7:doseQuantity or hl7:entryRelationship[hl7:substanceAdministration/hl7:templateId/@root='2.16.840.1.113883.3.4424.13.10.4.176']) |
|
|
Komunikat |
Element doseQuantity musi występować na poziomie sekwencji (4.175) jeżeli nie istnieje
co najmniej jedna podsekwencja (4.176). |
|
|
Zmienna let |
Nazwa |
effectiveTime_A_IVL_TS_width |
|
|
Wartość |
hl7:effectiveTime[@operator='A' and @xsi:type='IVL_TS']/hl7:width |
|
|
Schematron report |
rola |
error
|
|
|
test |
$effectiveTime_A_IVL_TS_width and hl7:doseQuantity//@value = 0 |
|
|
Komunikat |
Jeżeli w ramach sekwencji (4.175) w czasie dawkowania używany jest węzeł 'width',
to węzeł `doseQuantity` nie może mieć wartość (value) równą 0. |
|
|
Schematron report |
rola |
error
|
|
|
test |
$effectiveTime_A_IVL_TS_width and hl7:doseQuantity//@unit != '{op.}' |
|
|
Komunikat |
Jeżeli w ramach sekwencji (4.175) w czasie dawkowania używany jest węzeł 'width',
to węzeł `doseQuantity` musi mieć jednostkę (unit) równą '{op.}'. |
|
|
Schematron report |
rola |
error
|
|
|
test |
not($effectiveTime_A_IVL_TS_width) and hl7:doseQuantity//@unit = '{op.}' |
|
|
Komunikat |
Jeżeli w ramach sekwencji (4.175) w czasie dawkowania nie jest używany węzeł 'width',
to węzeł `doseQuantity` nie może mieć jednostki (unit) równej '{op.}'. |
|
|
Schematron report |
rola |
error
|
|
|
test |
$effectiveTime_A_IVL_TS_width and hl7:entryRelationship[hl7:substanceAdministration[hl7:templateId/@root='2.16.840.1.113883.3.4424.13.10.4.176']] |
|
|
Komunikat |
Jeżeli w ramach sekwencji (4.175) w czasie dawkowania używany jest węzeł 'width',
to nie może wystąpić podekwencja (4.176). |
|
|
Zmienna let |
Nazwa |
effectiveTime_A_PIVAL_TS_period |
|
|
Wartość |
hl7:effectiveTime[@operator='A'][@xsi:type='PIVL_TS']/hl7:period[@value] |
|
|
Zmienna let |
Nazwa |
entry_4_176 |
|
|
Wartość |
hl7:entryRelationship[hl7:substanceAdministration[hl7:templateId/@root='2.16.840.1.113883.3.4424.13.10.4.176']] |
|
|
Schematron report |
rola |
error
|
|
|
test |
$effectiveTime_A_PIVAL_TS_period and $effectiveTime_A_PIVAL_TS_period/@unit = ('/wk',
'/mo') and not(count($entry_4_176) = 0)
|
|
|
Komunikat |
Podsekwencja nie może istnieć, kiedy zakres czasu, co który podawana jest dawka leku
w ramach danej sekwencji, ma jednostkę czasu równą: "/wk", "/mo" (effectiveTime/period/@unit). |
|
|
Schematron report |
rola |
error
|
|
|
test |
$effectiveTime_A_PIVAL_TS_period and $entry_4_176 and $effectiveTime_A_PIVAL_TS_period/@unit
= '/d' and not(count($entry_4_176) = $effectiveTime_A_PIVAL_TS_period/@value)
|
|
|
Komunikat |
Jeżeli jednostka zakresu czasu, co który podawana jest dawka leku w ramach danej sekwencji
wynosi "/d" (effectiveTime/period/@unit), to krotność podsekwencji musi być zgodna
z wartością tego zakresu czasu (effectiveTime/period/@value). |
|