hl7:queryAck
|
|
0 … 1 |
R |
Bevat de metakenmerken van een antwoord op een opvraagbericht |
(QueryAck) |
hl7:queryId
|
II |
1 … 1 |
M |
Bevat de unieke identificatie van de vraag. De waarde van dit attribuut is gelijk
aan de waarde van QueryByParameter/queryId uit de vraag De aanvrager kan hierdoor de antwoordberichten relateren aan de vraag.
|
(QueryAck) |
hl7:statusCode
|
CS |
0 … 1 |
R |
Bevat de (nieuwe) status van de query. De te gebruiken waarden in dit attribuut zijn
gedefinieerd in de waardelijst QueryStatusCode.
|
(QueryAck) |
|
Constraint |
@code moet, indien aanwezig, de waarde "aborted" bevatten als de antwoordinteractie het
antwoord vormt op een verzoek om de vraagsessie af te breken.
@code moet, indien aanwezig, de waarde "deliveredResponse" bevatten in alle andere gevallen.
|
|
CONF |
@code moet "aboerted" zijn |
of |
@code moet "deliveredResponse" zijn |
|
hl7:queryResponseCode
|
CS |
1 … 1 |
M |
Bevat een statusmelding betreffende het antwoord. Waarden zijn "OK" (Data found),
"NF" (Nothing found, No errors), "AE" (Applicatie probleem, beantwoording afgebroken)
en "QE" (Query Parameter Error, beantwoording afgebroken). De te gebruiken waarden
zijn gedefinieerd in de QueryResponse vocabulaire. Indien er geen zoekresultaten bij
een vraag opgeleverd kunnen worden, omdat bijvoorbeeld de in de vraag geleverde parameters
niet tot een zoekresultaat leiden, dan bevat het antwoordbericht nul opgeleverde antwoorden
en het queryResponseCode
de waarde "NF". Het vinden van nul antwoorden is op zichzelf geen fout, Acknowledgement/@typeCode bevat om die reden "AA" indien queryResponseCode/@code "NF" is.
|
(QueryAck) |
|
Constraint |
@code moet "OK" bevatten als de resultaten op basis van de vraag geheel of gedeeltelijk
worden opgeleverd
@code moet "NF" bevatten als op basis van de opgegeven filterparameters geen resultaten
konden worden gevonden, maar verder ook geen fouten zijn opgetreden.
@code moet "QE" bevatten als er problemen zijn met de verwerking van de filterparameters,
zoals zoeken op UZI-nummer in een parameter welke bedoeld is voor zoeken op UZI-registerabonneenummmers,
zoeken op gegevenssoort met een parameter die bedoeld is voor rolcode, of zoeken in
een periode die ligt buiten een gespecificeerd bereik. Er zijn in dit geval geen resultaten
en de vraagsessie is afgebroken.
@code moet "AE" bevatten als er applicatieproblemen zijn opgetreden. Er zijn in dit geval
geen resultaten en de vraagsessie is afgebroken.
|
|
CONF |
|
|
Variabele let |
Naam |
acknowledgementTypeCode |
|
|
Waarde |
../../../hl7:acknowledgement/@typeCode |
|
|
Variabele let |
Naam |
resultCurrentQuantity |
|
|
Waarde |
../hl7:resultCurrentQuantity/@value |
|
|
Schematron assert |
role |
error
|
|
|
test |
not($acknowledgementTypeCode='AA') or @code=('NF','OK') |
|
|
Melding |
Control Act: queryAck/queryResponseCode moet bij een positief antwoord 'OK' of 'NF'
zijn |
|
|
Schematron assert |
role |
error
|
|
|
test |
not($acknowledgementTypeCode='AA' and @code=('AE','QE')) |
|
|
Melding |
Control Act: queryAck/queryResponseCode moet bij een negatief antwoord 'AE' of 'QE'
zijn |
|
|
Schematron assert |
role |
error
|
|
|
test |
not(@code='OK') or ($acknowledgementTypeCode='AA' and $resultCurrentQuantity > 0) |
|
|
Melding |
Control Act: queryAck/queryResponseCode moet 'OK' bevatten indien er op basis van
de queryParameters resultaten gevonden konden worden (resultCurrentQuantity/@value='<value-of select="$resultCurrentQuantity"/>') en de query valide is (acknowledgement/@typeCode='<value-of select="$acknowledgementTypeCode"/>') |
|
|
Schematron assert |
role |
error
|
|
|
test |
not(@code='NF') or ($acknowledgementTypeCode='AA' and $resultCurrentQuantity = 0) |
|
|
Melding |
Control Act: queryAck/queryResponseCode moet 'NF' bevatten indien er op basis van
de queryParameters geen resultaten gevonden konden worden (resultCurrentQuantity/@value='<value-of select="$resultCurrentQuantity"/>') en de query valide is (acknowledgement/@typeCode='<value-of select="$acknowledgementTypeCode"/>') |
|
hl7:resultTotalQuantity
|
INT.NONNEG |
1 … 1 |
R |
Bevat de totale hoeveelheid zoekresultaten van nul of meer die geleverd (kunnen) worden
als antwoord op de vraag.
Merk op dat een antwoordend systeem, ook in het geval van een ongedoseerde vraag de
omvang van het antwoord kan beperken, bijvoorbeeld om resource-technische redenen.
In dat geval moet de vraagsteller vervolgvragen sturen om alle antwoorden te verkrijgen. Als een systeem geen vervolgvragen kan beantwoorden, moet een systeem omwille van
de volledigheid alle gevraagde zoekresultaten in één keer opleveren. Merk op dat het
"doseermechanisme" op dit moment in AORTA niet gebruikt mag worden. Het element QueryByParameter/initialQuantity
attribuut mag om die reden niet gebruikt worden. Opleverende systemen dienen alle
zoekresultaten in één antwoordbericht op te leveren.
|
(QueryAck) |
@nullFlavor
|
|
0 … 1 |
F |
NAV |
|
Constraint |
@value moet een waarde bevatten, of als de totale hoeveelheid zoekresultaten (nog) niet
bekend is moet @nullFlavor de waarde "NAV" bevatten.
|
hl7:resultCurrentQuantity
|
INT.NONNEG |
1 … 1 |
M |
Bevat de hoeveelheid zoekresultaten van nul of meer die opgenomen zijn in het huidige
bericht. Een antwoordbericht kan meerdere antwoorden bevatten. Bevat de hoeveelheid
antwoorden die opgenomen zijn in het huidige bericht.
|
(QueryAck) |
|
Constraint |
@value moet een waarde bevatten.
|
|
Variabele let |
Naam |
resultCurrentQuantity |
|
|
Waarde |
count(../../hl7:subject) |
|
|
Schematron assert |
role |
error
|
|
|
test |
@value=$resultCurrentQuantity |
|
|
Melding |
Control Act: queryAck/resultCurrentQuantity '<value-of select="@value"/>' moet gelijk zijn aan het aantal subject elementen ('<value-of select="$resultCurrentQuantity"/>') |
|
hl7:resultRemainingQuantity
|
INT.NONNEG |
1 … 1 |
R |
Bevat de hoeveelheid zoekresultaten die (nog) niet verstuurd zijn aan de aanvrager.
De aanwezigheid van de @nullFlavor met waarde "NAV" mag niet worden geïnterpreteerd als "0".
Uitgaande van de oplevering van een reeks antwoordberichten zonder foutmeldingen: In de reeks antwoordberichten (al dan niet gebundeld) dient resultTotalQuantity in alle berichten dezelfde waarde te bevatten en resultRemainingQuantity (in grootte zoals opgegeven in het resultCurrentQuantity element) af te nemen naar de
waarde 0. De elementen resultTotalQuantity en resultRemainingQuantity kunnen aan het begin van de reeks antwoordberichten worden
gevuld met een null-waarde indien de waarden nog niet bekend zijn. Het laatste bericht
in de reeks antwoordberichten mag echter geen null-waarden in deze elementen bevatten.
|
(QueryAck) |
@nullFlavor
|
|
0 … 1 |
F |
NAV |
|
Constraint |
@value moet een waarde bevatten, of als de totale hoeveelheid zoekresultaten (nog) niet
bekend is moet @nullFlavor de waarde "NAV" bevatten.
|
|
Variabele let |
Naam |
resultTotalQuantity |
|
|
Waarde |
../hl7:resultTotalQuantity/@value |
|
|
Schematron assert |
role |
error
|
|
|
test |
not(@value and $resultTotalQuantity) or (number(@value) <= number($resultTotalQuantity)) |
|
|
Melding |
Control Act: queryAck/resultRemainingQuantity '<value-of select="@value"/>' moet kleiner dan of gelijk aan resultTotalQuantity '<value-of select="$resultTotalQuantity"/>' zijn |
|