hl7:ControlActProcess
|
|
0 … * |
|
|
(ControlActQueryByParameterMedGebruik) |
@moodCode
|
|
1 … 1 |
F |
EVN |
hl7:code
|
CV |
0 … 1 |
R |
Trigger Event |
(ControlActQueryByParameterMedGebruik) |
@codeSystem
|
|
1 … 1 |
F |
2.16.840.1.113883.1.18 (TriggerEvent) |
hl7:effectiveTime
|
TS |
0 … 1 |
|
Datum en tijdstip (NB: geen interval) waarop de gebeurtenis die het bericht heeft doen ontstaan, plaatsvond.
Dit tijdstip is mogelijkerwijs anders dan het tijdstip van het versturen van het bericht
zoals opgenomen in de Transmission
Wrapper.
|
(ControlActQueryByParameterMedGebruik) |
Inclusie |
1 … 1 |
M |
van 2.16.840.1.113883.2.4.3.11.60.102.10.500 ControlAct AuthorOrPerformer (2012‑08‑01)
|
hl7:authorOrPerformer
|
|
1 … 1 |
M |
Bericht-zender. Systeem of persoon |
(ControlActQueryByParameterMedGebruik) |
@typeCode
|
|
1 … 1 |
R |
|
|
CONF |
|
hl7:participant
|
|
1 … 1 |
M |
|
(ControlActQueryByParameterMedGebruik) |
Keuze |
1 … 1 |
|
Elementen om uit te kiezen:
|
hl7:AssignedDevice
|
|
|
R |
Bevat 2.16.840.1.113883.2.4.3.11.60.102.10.513 Assigned Device [universal] (2012‑09‑01)
|
(ControlActQueryByParameterMedGebruik) |
hl7:AssignedPerson
|
|
|
R |
Bevat 2.16.840.1.113883.2.4.3.11.60.102.10.514 Assigned Person [universal] (2012‑09‑01)
|
(ControlActQueryByParameterMedGebruik) |
Inclusie |
0 … 1 |
R |
van 2.16.840.1.113883.2.4.3.11.60.102.10.503 ControlAct Overseer Person (Query) (2012‑08‑01)
|
hl7:overseer
|
|
0 … 1 |
R |
Bericht-zender (mandaatverlener). |
(ControlActQueryByParameterMedGebruik) |
@typeCode
|
|
1 … 1 |
F |
RESP |
hl7:assignedEntity
|
|
|
M |
Mandaterende persoon Bevat 2.16.840.1.113883.2.4.3.11.60.102.10.514 Assigned Person [universal] (2012‑09‑01)
|
(ControlActQueryByParameterMedGebruik) |
waar [not(@nullFlavor)] |
|
Inclusie |
1 … 1 |
M |
van 2.16.840.1.113883.2.4.3.11.60.20.77.10.9029 QueryByParameter MP Medicatiegebruik (2015‑03‑30 15:53:21)
|
hl7:queryByParameter
|
|
1 … 1 |
M |
Bevat de kenmerken van de vraag |
(ControlActQueryByParameterMedGebruik) |
|
Schematron assert |
role |
warning
|
|
|
test |
not(.//hl7:semanticsText) |
|
|
Melding |
Control Act: het element semanticsText onder queryparameters bij voorkeur niet
gebruiken |
|
|
Schematron assert |
role |
error
|
|
|
test |
not(hl7:sortControl) |
|
|
Melding |
Control Act: queryByParameter/sortControl mag niet gebruikt worden |
|
hl7:queryId
|
II |
1 … 1 |
M |
Bevat de unieke identificatie van de vraag zoals geformuleerd in de vragende applicatie,
los van de identificatie van
de interactie waarin de vraag wordt aangeboden. De waarde van dit attribuut wordt
in het antwoord teruggeleverd, zodat de
antwoordberichten kunnen worden gerelateerd aan de vraag. De OID voor het identificatiesysteem
kan bijvoorbeeld worden afgeleid van de
URA van de zorgaanbieder, het AORTA applicatie-id, maar dit is geen verplichting.
Iedere OID die voldoet aan het principe van uniekheid
is geldig.
|
(ControlActQueryByParameterMedGebruik) |
|
Constraint |
Deze identificatie is uniek en kan nooit nogmaals worden uitgedeeld, noch door dezelfde
applicatie, noch door
een andere applicatie. Het identificatiesysteem waaruit de vraagidentificaties worden
gegenereerd wordt geïdentificeerd door een OID in
het attribuut @root. Het attribuut @extension moet de gegenereerde identificatie bevatten.
|
hl7:statusCode
|
CS |
1 … 1 |
M |
Bevat de (nieuwe) status van de query. De te gebruiken waarden in dit attribuut zijn
gedefinieerd in de valueset
QueryStatusCode.
|
(ControlActQueryByParameterMedGebruik) |
|
Constraint |
@code moet bij initiële vragen de waarde "executing" bevatten. |
|
CONF |
|
hl7:responseModalityCode
|
CS |
1 … 1 |
M |
Bevat code voor opleverwijze. Verplicht in AORTA met als mogelijkheden "gebundeld"
(B - van toepassing bij indirect
opvragen via de ZIM waarbij gebundeld moet worden opgeleverd), of "discreet" (R -
van toepassing bij direct opvragen bij het
bronsysteem, alle vragen van de ZIM bevatten deze opleverwijze.)
|
(ControlActQueryByParameterMedGebruik) |
|
Constraint |
- Indien de interactie van het type indirect opvragen is, en de interactie gaat van
een GBx naar de ZIM, dan moet @code de waarde
"B" bevatten.
- Indien de interactie van het type indirect opvragen is, en de interactie gaat van
ZIM naar een GBx, dan moet @code de waarde "R"
bevatten.
- Indien de interactie van het type direct opvragen is, dan moet @code de waarde "R"
bevatten.
|
|
CONF |
|
hl7:responsePriorityCode
|
CS |
1 … 1 |
M |
Bevat de code voor oplevertiming. De standaardwaarde is "I" (Immediate) voor synchrone,
directe beantwoording. Merk
op dat ook het tijdstip van beantwoording van de vraag in het vraagbericht zelf kan
worden beïnvloed: zie de beschrijving van
executionAndDeliveryTime.
|
(ControlActQueryByParameterMedGebruik) |
|
CONF |
|
hl7:executionAndDeliveryTime
|
TS |
0 … 1 |
C |
Bevat het tijdstip waarop het antwoord uiterlijk moet zijn opgeleverd aan het vragende
systeem. Het tijdstip wordt
relatief aan de aanmaaktijd van de interactie. Het verschil tussen de twee tijdstippen
moet liggen tussen de configuratieparameter
responsetijd-ZIM (zie [Config inst]) en 60 seconden. Bij afwezigheid van het element
executionAndDeliveryTime geldt maximale
oplevertimeout zoals beschreven in de Programma’s van Eisen.
FAQ: Hoe bepaalt een zender van een ‘Immediate’ vraagbericht een redelijke waarde voor
de oplevertimeout? - De
complexiteit of grootte van het verwachte antwoord is van invloed op het op te geven
tijdstip. Indien een volledig overzicht van de
medicatiehistorie van een patiënt opgevraagd wordt, dan ligt een ruimere timeout voor
de hand dan bij het opvragen van één
laboratoriumuitslag.
|
(ControlActQueryByParameterMedGebruik) |
|
Constraint |
- @value moet de maximale timeout bevatten, indien de toepassing voor de betreffende
interactie specificeert dat een maximale
timeout moet kunnen worden opgegeven, en deze in de zendende applicatie ook werkelijk
een waarde heeft.
- @value moet, indien deze een waarde heeft, tenminste tot op de minuut nauwkeurig worden
opgegeven.
- Het verschil tussen executionAndDeliveryTime/@value en Message/creationTime/@value
moet, indien beide een waarde hebben, liggen
tussen responsetijd-ZIM en 60 seconden.
|
Inclusie |
0 … * |
|
van 2.16.840.1.113883.2.4.3.11.60.102.10.1014 QueryParam PatientId (2014‑07‑15) Parameter voor patiëntgebonden vraag.
|
hl7:patientId
|
|
0 … * |
|
Bevat het burgerservicenummer van de patiënt/cliënt van wie de gegevens worden opgevraagd. |
(ControlActQueryByParameterMedGebruik) |
hl7:value
|
II.NL.BSN |
1 … 1 |
M |
|
(ControlActQueryByParameterMedGebruik) |
@root
|
|
1 … 1 |
F |
2.16.840.1.113883.2.4.6.3 |
hl7:effectiveTimeInterval
|
|
0 … 1 |
|
Geldigheidstermijn |
(ControlActQueryByParameterMedGebruik) |
hl7:value
|
IVL_TS |
1 … 1 |
M |
|
(ControlActQueryByParameterMedGebruik) |
hl7:low
|
TS |
0 … 1 |
|
|
(ControlActQueryByParameterMedGebruik) |
hl7:high
|
TS |
0 … 1 |
|
|
(ControlActQueryByParameterMedGebruik) |
Inclusie |
0 … * |
|
van 2.16.840.1.113883.2.4.3.11.60.102.10.102 Generic ControlActProcess Checks (2014‑07‑15)
|
|
Variabele let |
Naam |
controlActProcess |
|
|
Waarde |
. |
|
|
Variabele let |
Naam |
authorEntity |
|
|
Waarde |
$controlActProcess/hl7:authorOrPerformer//hl7:*[lower-case(local-name())=('assigneddevice','assignedperson')][1] |
|
|
Variabele let |
Naam |
authorDevice |
|
|
Waarde |
$authorEntity[lower-case(local-name())='assigneddevice'] |
|
|
Variabele let |
Naam |
authorPerson |
|
|
Waarde |
$authorEntity[lower-case(local-name())='assignedperson'] |
|
|
Variabele let |
Naam |
overseerPerson |
|
|
Waarde |
$controlActProcess/hl7:overseer//hl7:*[lower-case(local-name())=('assignedentity','assignedperson')][1] |
|
|
Variabele let |
Naam |
authorPath |
|
|
Waarde |
string-join($authorEntity/ancestor-or-self::*/name(),'/') |
|
|
Variabele let |
Naam |
overseerPath |
|
|
Waarde |
string-join($overseerPerson/ancestor-or-self::*/name(),'/') |
|
|
Variabele let |
Naam |
senderApplicationId |
|
|
Waarde |
$controlActProcess/../hl7:sender/hl7:device/hl7:id[@root='2.16.840.1.113883.2.4.6.6']/@extension |
|
|
Variabele let |
Naam |
authorApplicationId |
|
|
Waarde |
$authorDevice/hl7:id[@root='2.16.840.1.113883.2.4.6.6']/@extension |
|
|
Variabele let |
Naam |
overseerOrgId |
|
|
Waarde |
$overseerPerson/hl7:Organization/hl7:id |
|
|
Variabele let |
Naam |
authorOrgId |
|
|
Waarde |
$authorEntity/hl7:Organization/hl7:id |
|
|
Variabele let |
Naam |
interactionId |
|
|
Waarde |
$controlActProcess/../local-name() |
|
|
Variabele let |
Naam |
interactionVocabFile |
|
|
Waarde |
'../vocab/2.16.840.1.113883.1.6.xml' |
|
|
Variabele let |
Naam |
interactionVocab |
|
|
Waarde |
if (doc-available($interactionVocabFile)) then doc($interactionVocabFile) else () |
|
|
Variabele let |
Naam |
interactionTrustLevel |
|
|
Waarde |
$interactionVocab/*/hl7:code[@code=$interactionId]/hl7:qualifier[@name='Vertrouwensniveau']/@value |
|
|
Variabele let |
Naam |
interactionSendType |
|
|
Waarde |
$interactionVocab/*/hl7:code[@code=$interactionId]/hl7:qualifier[@name='Verzendtype']/@value |
|
|
Variabele let |
Naam |
interactionTriggerEventCode |
|
|
Waarde |
$interactionVocab/*/hl7:code[@code=$interactionId]/hl7:reference/@extension |
|
|
Variabele let |
Naam |
messageTriggerEventCode |
|
|
Waarde |
$controlActProcess/hl7:code/@code |
|
|
Schematron assert |
role |
warning
|
|
|
test |
$interactionVocab |
|
|
Melding |
Control Act: <value-of select="$interactionVocabFile"/> niet gevonden. Controles gebaseerd op dit externe configuratiebestand zijn gedeactiveerd. |
|
|
Schematron assert |
role |
error
|
|
|
test |
not($controlActProcess/hl7:queryByParameter) or $controlActProcess[@moodCode='EVN'] |
|
|
Melding |
Control Act: <value-of select="local-name()"/>/@moodCode moet 'EVN' zijn bij queries |
|
|
Schematron assert |
role |
error
|
|
|
test |
not($interactionVocab) or not($messageTriggerEventCode) or $interactionTriggerEventCode=$messageTriggerEventCode |
|
|
Melding |
Control Act: <value-of select="local-name()"/>/code (Trigger Event) moet bij deze interactie '<value-of select="$interactionTriggerEventCode"/>' zijn, gevonden is echter '<value-of select="$messageTriggerEventCode"/>' |
|
|
Schematron assert |
role |
error
|
|
|
test |
not($interactionVocab) or $authorPerson or not($interactionTrustLevel) or $interactionTrustLevel='Laag' |
|
|
Melding |
Control Act: <value-of select="local-name()"/>/authorOrPerformer moet een persoon bevatten in berichten met vertrouwensniveau midden
of hoog |
|
|
Schematron assert |
role |
error
|
|
|
test |
not($interactionVocab) or $overseerPerson or empty($interactionTrustLevel) or $interactionTrustLevel='Laag' |
|
|
Melding |
Control Act: <value-of select="local-name()"/>/overseer moet de mandaterende persoon bevatten in berichten met vertrouwensniveau
midden of hoog |
|
|
Schematron assert |
role |
error
|
|
|
test |
not($authorEntity//hl7:id[@root='2.16.840.1.113883.2.4.6.3']) or not($authorEntity/../(hl7:queryByParameter|hl7:subject)//hl7:*[@root='2.16.840.1.113883.2.4.6.3'])
or $authorEntity/../../hl7:attentionLine
|
|
|
Melding |
Patiëntgebonden interacties, verzonden vanuit een patiëntenportaal (GBP), moeten een
attentionLine hebben |
|
|
Schematron assert |
role |
error
|
|
|
test |
not($authorEntity//hl7:id[@root=('2.16.840.1.113883.2.4.3.11.7.3','2.16.528.1.1003.1.3.5.4.1')])
or not($authorEntity/../(hl7:queryByParameter|hl7:subject)//hl7:*[@root='2.16.840.1.113883.2.4.6.3'])
or $authorEntity/../../hl7:attentionLine
|
|
|
Melding |
Patiëntgebonden interacties, verzonden vanuit het klantenloket (GBK), moeten een attentionLine
hebben |
|
|
Schematron assert |
role |
error
|
|
|
test |
empty($senderApplicationId) or empty($authorApplicationId) or $senderApplicationId=$authorApplicationId
or $senderApplicationId='1'
|
|
|
Melding |
Control Act: <value-of select="$authorPath"/>/id. Applicatie-id <value-of select="$authorApplicationId"/> komt niet overeen met Transmission-wrapper sender <value-of select="$senderApplicationId"/>. |
|
|
Schematron assert |
role |
error
|
|
|
test |
not($authorDevice/hl7:Organization/hl7:id[@root='2.16.528.1.1007.3.3']) or $authorDevice/hl7:id[@root='2.16.528.1.1007.3.2'] |
|
|
Melding |
Control Act: <value-of select="$authorPath"/>/id moet tenminste het UZI-nummer systemen bevatten voor een XIS in een GBZ |
|
|
Schematron assert |
role |
error
|
|
|
test |
not($authorDevice/hl7:id[@root='2.16.528.1.1007.3.2']) or $authorDevice/hl7:Organization/hl7:id[@root='2.16.528.1.1007.3.3'
and @extension]
|
|
|
Melding |
Control Act: <value-of select="$authorPath"/>/id moet de zorgaanbieder van het XIS identificeren |
|
|
Schematron assert |
role |
warning
|
|
|
test |
not($authorDevice) or $authorDevice/hl7:id[@root='2.16.840.1.113883.2.4.6.6'][@extension='1']
or $authorDevice/hl7:id[@root='2.16.528.1.1007.4'] or $authorDevice/hl7:Organization/hl7:id
|
|
|
Melding |
Control Act: <value-of select="$authorPath"/>/ moet een geïdentificeerde organisatie hebben, tenzij het de ZIM of het SBV-Z betreft. |
|
|
Schematron assert |
role |
error
|
|
|
test |
not($authorPerson/hl7:id[@root='2.16.840.1.113883.2.4.6.3']) or $authorPerson/hl7:code[@codeSystem='2.16.840.1.113883.2.4.3.11.8'][@code='P'] |
|
|
Melding |
Control Act: <value-of select="$authorPath"/>/code/@code moet "P" (Patiënt) zijn. Wettelijke vertegenwoordigers moet dit via het
Klantenloket doen en kunnen dus niet als auteur optreden |
|
|
Schematron assert |
role |
error
|
|
|
test |
not($authorPerson/hl7:id[@root=('2.16.840.1.113883.2.4.3.11.7.3','2.16.528.1.1003.1.3.5.4.1')])
or $authorPerson/hl7:code[@codeSystem='2.16.840.1.113883.2.4.3.11.8'][@code='KLANTENLOKET']
|
|
|
Melding |
Control Act: <value-of select="$authorPath"/>/code/@code moet "KLANTENLOKET" zijn voor klantenloketmedewerkers |
|
|
Schematron assert |
role |
warning
|
|
|
test |
not($authorPerson/hl7:id[@root='2.16.528.1.1007.3.1']) or $authorPerson/hl7:code[@codeSystem='2.16.840.1.113883.2.4.15.111'] |
|
|
Melding |
Control Act: <value-of select="$authorPath"/>/code ontbreekt. Dit is alleen toegestaan als de rolcode 00.000 is. |
|
|
Schematron assert |
role |
error
|
|
|
test |
not($authorPerson/hl7:id[@root='2.16.528.1.1007.3.1']) or $authorOrgId[@root='2.16.528.1.1007.3.3'
and @extension]
|
|
|
Melding |
Control Act: <value-of select="$authorPath"/>/Organization/id moet de zorgaanbieder van de persoon identificeren |
|
|
Schematron assert |
role |
error
|
|
|
test |
not($authorPerson/hl7:id[@root='2.16.840.1.113883.2.4.6.3']) or $authorOrgId[@root='2.16.840.1.113883.2.4.3.11.25'] |
|
|
Melding |
Control Act: <value-of select="$authorPath"/>/Organization/id/@root moet '2.16.840.1.113883.2.4.3.11.25' bevatten |
|
|
Schematron assert |
role |
error
|
|
|
test |
not($authorPerson/hl7:id[@root=('2.16.840.1.113883.2.4.3.11','2.16.528.1.1003.1.3.5.4.1')])
or $authorOrgId[@root='2.16.840.1.113883.2.4.3.11'][@extension='7']
|
|
|
Melding |
Control Act: <value-of select="$authorPath"/>/Organization/id moet de Nictiz-klantenloket organisatie identificeren |
|
|
Schematron assert |
role |
error
|
|
|
test |
not($overseerPerson/hl7:Organization[not(hl7:name)]/hl7:id[@root='2.16.528.1.1007.3.3']) |
|
|
Melding |
Control Act: <value-of select="$authorPath"/>/Organization/name moet de zorgaanbieder/organisatienaam bevatten |
|
|
Schematron assert |
role |
error
|
|
|
test |
not($overseerPerson/hl7:Organization[not(hl7:name)]/hl7:id[@root='2.16.840.1.113883.2.4.3.11'
and @extension='7'])
|
|
|
Melding |
Control Act: <value-of select="$authorPath"/>/Organization/name moet de Nictiz-klantenloket organisatienaam bevatten |
|
|
Schematron assert |
role |
error
|
|
|
test |
not($overseerPerson) or $overseerPerson/hl7:code |
|
|
Melding |
Control Act: <value-of select="$overseerPath"/>/code is verplicht |
|
|
Schematron assert |
role |
error
|
|
|
test |
not($overseerPerson/hl7:id[@root='2.16.840.1.113883.2.4.6.3']) or $overseerPerson/hl7:code[@codeSystem='2.16.840.1.113883.2.4.3.11.8'][@code='P']
or $overseerPerson/hl7:code[@codeSystem='2.16.840.1.113883.2.4.3.11.6']
|
|
|
Melding |
Control Act: <value-of select="$overseerPath"/>/code/@code moet "P" (Patiënt) zijn of een geldige waarde uit RoleCodeWettelijkeVertegenwoordigerNL |
|
|
Schematron assert |
role |
error
|
|
|
test |
not($overseerPerson/hl7:id[@root='2.16.528.1.1007.3.1']) or $overseerPerson/hl7:assignedPrincipalChoiceList/hl7:assignedPerson/hl7:name |
|
|
Melding |
Control Act: <value-of select="$overseerPath"/>/assignedPrincipalChoiceList/assignedPerson/name is verplicht |
|
|
Schematron assert |
role |
error
|
|
|
test |
not($overseerPerson/hl7:id[@root='2.16.528.1.1007.3.1']) or $overseerPerson/hl7:Organization/hl7:id[@root='2.16.528.1.1007.3.3'] |
|
|
Melding |
Control Act: <value-of select="$overseerPath"/>/Organization/id moet de zorgaanbieder van de persoon identificeren |
|
|
Schematron assert |
role |
error
|
|
|
test |
not($overseerPerson/hl7:id[@root='2.16.528.1.1007.3.1']) or $overseerPerson/hl7:Organization/hl7:name |
|
|
Melding |
Control Act: <value-of select="$overseerPath"/>//Organization/name moet de zorgaanbiedernaam bevatten |
|
|
Schematron assert |
role |
error
|
|
|
test |
not($overseerPerson/hl7:id[@root='2.16.528.1.1007.3.1']) or $overseerPerson/hl7:Organization/hl7:addr/hl7:city |
|
|
Melding |
Control Act: <value-of select="$overseerPath"/>/Organization/addr moet tennminste de vestigingsplaats bevatten |
|
|
Schematron assert |
role |
error
|
|
|
test |
not($overseerOrgId) or $authorOrgId[@root=$overseerOrgId/@root][@extension=$overseerOrgId/@extension]
or $authorEntity[lower-case(local-name())='assigneddevice']
|
|
|
Melding |
Control Act: <value-of select="$overseerPath"/>/Organization/id. Organisatie van de overseer (<value-of select="$overseerOrgId/@root"/>#<value-of select="$overseerOrgId/@extension"/>) moet gelijk zijn aan die van de authorOrPerformer (<value-of select="$authorOrgId/@extension"/>) |
|