Duplikathåndtering og valideringsregler for meldinger som mottas over EbXml-standarden
Ved utveksling av meldinger til kommunikasjonsparter som ikke bruker EDI 2.0, vil EDI 2.0-meldingstjeneren håndtere utvekslingen over tradisjonell EDI ved å benytte EbXml-protokollen (HIS1037:2011).
En viktig del av standarden er at transporten av en melding skal kvitteres på transportnivå (i tillegg til applikasjonsnivå). Når EDI 2.0-meldingstjeneren mottar en EDI MIME-melding over SMTP, kan det skje at meldingene har kritiske feil som gjør at den bare blir logget og ikke levert mottaker. Hvis meldingen er lesbar så er det noen grunnprinsipper hovedsaklig rundt sikkerhet og adressering som det blir validert mot og som kan føre til at meldingen blir avvist med MessageError. Er det ingen feil så svares det med en positiv transportkvittering / Acknowledgement.
Duplikathåndtering
- Mime duplikat: Dersom det mottas en melding med identisk Mime Header
Message-idsom en tidligere mottatt melding vil meldingen ikke prosesseres - Ebxml duplikat: Dersom det mottas en melding med identisk Ebxml
eb:MessageIdsom en tidligere mottatt melding vil meldingen ikke prosesseres. Hvis det er en melding som krever transportkvittering så blir det svart med samme kvittering som den opprinnelige.
Valideringsregler
Nedenfor er en liste over hva som sjekkes ved mottak av EDI meldinger (via SMTP):
Dersom én eller fler meldinger med alvorlighetsgrad Error oppdages, så vil meldingen avvises, ikke leveres til mottaker og MessageError vil sendes tilbake til avsender. |
|---|
| Type melding | Hva sjekkes | Regel | Alvorlighetsgrad | Kommentar | |
|---|---|---|---|---|---|
| Adressering (HIS1153) | Alle | Avsender er identifisert i ebxml | EbxmlElementNotValid | Error | PartyId med "HER" |
| Avsender er funnet i AR og har Edi-adresse | CommunicationPartyNotValid | Error | |||
| Avsender sitt offentlige signeringssertifikat er funnet i AR | CommunicationPartyCertificatesNotFound | Error | |||
| Mottaker er identifisert i ebxml | EbxmlElementNotValid | Error | PartyId med "HER" | ||
| Mottaker er funnet i AR og har Edi-adresse | CommunicationPartyNotValid | Error | |||
| Ebxml | Mottaker sitt offentlige kryperingssertifkat er funnet i AR | CommunicationPartyCertificatesNotFound | Error | ||
| Ebxml | Mottaker sitt private kryperingssertifkat er funnet i MSH | PrivateCertificateCouldNotBeFound | Error | ||
| Generelt (HIS1037) | Alle | Ebmxl er gyldig ihht til xsd-skjema | EnvelopeXmlSchemaValidationFailed | Error | |
| Signering (HIS1037) | Ebxml er signert | EbXmlSignatureElementNotFound | Error | ||
| Signatur er gyldig | EbXmlSignatureCheckFailed | Error | |||
| Algoritmen brukt i signatur er ikke utdatert | EbXmlSignatureHashingAlgorithmIsDeprecated | Warning | F.eks rsa-sha1 | ||
| Signaturen har referanse til konvolutt | EbXmlSignatureDoesNotContainEnvelopeReference | Error | |||
| Signatur har embedded signeringssertifikat | EbXmlSignatureElementCertificateNotFound | Error | |||
| Signeringssertifikat kan leses | EbXmlSignatureCouldNotParseCertificate | Error | |||
| Riktig signeringssertifikat er brukt | EbXmlSignatureCertificateMismatchDiscrepancy | Error | |||
| Signeringssertifkat er gyldig | InvalidCertificate | Error | NotBefore, NotAfter, Revoked | ||
| Signaturen er kryptografisk riktig | EbXmlSignatureCheckFailed | Error | |||
| Ebxml | Signatur har referanse til fagmelding | EbXmlSignatureDoesNotContainPayloadReference | Error | ||
| Fagmelding (HIS1037) | Ebxml | Payload kan hentes ut fra MIME | MimeMessageCouldNotExtractPayload | Error | |
| Payload inneholder data | PayloadIsEmpty | Error | |||
| Payload er en gyldig EnvelopeCMS | PayloadDecodeFailed | Error | |||
| Payload er kryptert med en godkjent algoritme | PayloadEncryptionAlgorithm | Warning | AES256CBC | ||
| Payloaden kan dekrypteres | PayloadDecryptionFailed | Error | |||
| Hvis komprimet - algoritme er kjent | PayloadCompressionAlgorithm | Warning | Deflate, Gzip, Zip | ||
| Hvis komprimet - data kan dekomprimeres | PayloadDecrompressionFailed | Error | |||
| Fagmelding inneholder gyldig well-formed XML | PayloadIsNotWellFormedXml | Error | |||
| Kvitteringer (HIS1037) | Acknowledgment, MessageError | Kvittering må ha referanse til opprinnelig Ebxml melding | ReferenceToOriginalMessageNotFound | Warning | |
| Melding det refereres til må finnes | ReferencedMessageNotFound | Warning | |||
| Acknowledgment | Referanser i Acknowledgment er gyldige | AcknowledgementReferencesIsInvalid | Warning | ||
| Referert melding mangler referanser | AcknowledgementReferencesInOriginalMessageAreMissing | Warning | |||
| Referert melding har gyldige referanser | AcknowledgementReferencesInOriginalMessageIsInvalid | Warning | |||
| Referanser i Acknowledgment er like de i referert melding | AcknowledgementReferencesOriginalMessageMismatch | Warning | |||
| Konfigurasjon av MSH | Ebxml | Mottaker støtter meldingstype | MessageTypeNotSupported | Error | Hvis eksplisitt konfigurert |
Meldingstyper i tabellen ovenfor:
- Ebxml: Vanlig ebxml melding med fagmelding (payload). For eksempel en Epikrise eller Henvisning.
- Acknowledgement: En positiv transportkvittering.
- MessageError: En negativ transportkvittering.
- Alle: Gjelder for alle tre typene nevnt ovenfor.
Forkortelser i tabellen ovenfor:
- AR = Adresseregisteret.
- MSH = Meldingstjener / EDI 2.0.
- Payload = Fagmelding, BusinessDocument. Den delen som inneholder f.eks Epikrise eller Henvisning.
- HIS1153 = Tjenestebasert adressering (HIS 1153:2017).
- HIS1037 = Rammeverk for elektronisk meldingsutveksling i helsevesenet (HIS 1037:2011).