Page History
...
For at gemme eller hente et dokument, anvendet et ITI kald. ITI kald er standardiserede SOAP services, der overholder IHE XDS specifikationen. Et ITI kald opererer med begreberne SubmissionSet, DocumentEntry og Association, hvis indhold lægger sig op af dokumentets metadata. Disse skal derfor også overholde standarderne.
Yderligere detaljer og introduktion til dokumentdeling kan læses i Dokumentdeling på NSP.
...
Et audio dokument er et struktureret XML dokument, som følger HIMSA’s Noah datastandarder. Der findes forskellige typer af audio dokumenter (Udgivelser), hvor følgende dækkes:
Hver type og version har et selvstændigt XSD skema, der skal overholdes.
API Beskrivelse og anvendelse
...
- Den tilhørende starter vælges (Starter)
- En struktur validator tilknyttes (Validator), som sikrer at et kald indeholder de komponenter, det skal (eksempel for ITI 41 documententry, assocation og selve dokumentet)
- Alle andre relevante validatorer tilføjes. For ITI 41 drejer det sig om følgende træstruktur:
- XDSDocumentContentModelEnricher (ModelEnricher), der pakker input ud som UTF8 bytes hvis muligt
- CdaDocumentHeaderModelEnricher, som forsøger at pakke input ud som et CDA dokument ved at finde en CDA header
- CdaDocumentApdV2ModelEnricher, CdaDocumentPhmrModelEnricher samt CdaDocumentQrdModelEnricher, der forsøger at parse dokumentet som en af typerne APD, PHMR eller QRD
- Felt specifikke validatorer (Validator) for hver af de 3 dokument typer
- CdaDocumentApdV2ModelEnricher, CdaDocumentPhmrModelEnricher samt CdaDocumentQrdModelEnricher, der forsøger at parse dokumentet som en af typerne APD, PHMR eller QRD
- AudioDocumentAudiogramModelEnricherAudioDocumentModelEnricher, som tjekker på metadata om dokument format er AudiogramAudioDocumentAudiogramModelValidator, som tjekker at indhold af dokument er valid er validt ift. skema
- AudioDocumentImpedanceModelValidatorAudioDocumentModelValidator, som tjekker at indhold af dokument er valid iftvalidt. skema
- AudioDocumentHearingInstrumentSelectionModelEnricher, som tjekker på metadata om dokument format er HearingInstrumentSelection
- AudioDocumentHearingInstrumentSelectionModelValidator, som tjekker at indhold af dokument er valid ift. skema
- CdaDocumentHeaderModelEnricher, som forsøger at pakke input ud som et CDA dokument ved at finde en CDA header
- Felt specifikke validatorer (Validator) for documentEntry
- Felt specifikke validatorer (Validator) for SubmissionSet
- Sammenlignings validatorer per felt (Validator), der sikrer DocumentEntry og SubmissionSet indeholder samme værdier
- Sammenlignings validatorer per felt (Validator), der sikrer DocumentEntry og dokumentets CDA header indeholder samme værdier
- XDSDocumentContentModelEnricher (ModelEnricher), der pakker input ud som UTF8 bytes hvis muligt
...
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
// Fra klassen Iti41ValidationImpl metode validateAndTransform List<ErrorInfo> xdsValidationErrors = getXdsValidationErrors(provideAndRegisterDocumentSet, xdsValidatorFactory.buildIti41Validator(), xdsValidationLevel); // Fra klassen RegistryItiValidationImpl protected List<ErrorInfo> getXdsValidationErrors(ProvideAndRegisterDocumentSet request, ProvideAndRegisterDocumentSetStarterList<ProvideAndRegisterDocumentSetStarter> starterstarterList, XdsValidationLevel xdsValidationLevel) { List<ErrorInfo> return getXdsValidationErrors(() -> starter.validate(request), xdsValidationLevel); } private List<ErrorInfo> getXdsValidationErrors(Supplier<ValidationResultSet> validator, XdsValidationLevel xdsValidationLevelerrors = new ArrayList<>(); for (ProvideAndRegisterDocumentSetStarter starter : starterList) { if(xdsValidationLevel == XdsValidationLevel.OFF) { List<ErrorInfo> validationErrors = getXdsValidationErrors(request, starter, xdsValidationLevel); return new ArrayList<> errors.addAll(validationErrors); if (errors.size() > 0) }{ List<ErrorInfo> errors = new return ArrayList<>()errors; // Perform the validation } ValidationResultSet} resultSet = validator.get(); // Construct the result return errors; } private List<ErrorInfo> getXdsValidationErrors(ProvideAndRegisterDocumentSet request, ProvideAndRegisterDocumentSetStarter starter, XdsValidationLevel xdsValidationLevel) { return if(resultSet.hasErrors()getXdsValidationErrors(() -> starter.validate(request), xdsValidationLevel); } private List<ErrorInfo> getXdsValidationErrors(Supplier<ValidationResultSet> validator, XdsValidationLevel xdsValidationLevel) { if(xdsValidationLevel == XdsValidationLevel.OFF) { // Based on the validation level, either return a warning new ArrayList<>(); } List<ErrorInfo> errors = new ArrayList<>(); // Based on the validation level, either return a warning or an error. Severity severity = getSeverity(xdsValidationLevel); try { for(ValidationError ve : resultSet.getErrors()) { // Perform the validation ErrorInfoValidationResultSet errorInforesultSet = new ErrorInfo(ErrorCode.REGISTRY_METADATA_ERROR, ve.getErrorMessage(), severity, "", ""); errors.add(errorInfo); } validator.get(); // Construct the result if(resultSet.getValidationResults().size() > 0) { } return errors; } //Klassen XdsValidatorFactory publicBased classon XdsValidatorFactorythe { validation level, either return publica warning ProvideAndRegisterDocumentSetStarteror buildIti41Validator() { an error. for(ValidationResult vr return: Iti41ValidationFactoryresultSet.createIti41ValidatorgetValidationResults();) { } public RegisterDocumentSetStarter buildIti42Validator() { ErrorInfo errorInfo = return Iti42ValidationFactory.createIti42Validator(); } new ErrorInfo(ErrorCode.REGISTRY_METADATA_ERROR, vr.getValidationError().getErrorMessage(), severity, "", ""); public RegisterDocumentSetStarter buildIti57Validator() { return Iti57ValidationFactoryerrors.createIti57Validatoradd(errorInfo); } } public} RegisterDocumentSetStartercatch buildIti61Validator(Exception e) { // Because validation depends on validation library and builder parsers return Iti61ValidationFactory.createIti61Validator(); } } |
Dvs ønsker man benytte default valideringen for ITI 41 kaldet gøres det ved at:
- Oprette en instans af ProvideAndRegisterDocumentSetStarter (linie 2)
- Kalde metoden validate på denne med ITI 41 requested (ProvideAndRegisterDocumentSet) (linie 6)
- Retur får man en liste over de fejl XdsValidation fandt (linie 15)
På samme måde kan man få valideret de øvrige kald, ved at vælge den rette Starter og sende requsted ind til den.
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
// Fra klassen Iti42ValidationImpl metode validateAndTransform
List<ErrorInfo> xdsValidationErrors = getXdsValidationErrors(registerDocumentSet, xdsValidatorFactory.buildIti42Validator(), xdsValidationLevel);
// Fra klassen RegistryItiValidationImpl
protected List<ErrorInfo> getXdsValidationErrors(RegisterDocumentSet request, RegisterDocumentSetStarter starter, XdsValidationLevel xdsValidationLevel) {
return getXdsValidationErrors(() -> starter.validate(request), xdsValidationLevel); //for getXdsValidationErrors se ovenfor
}
|
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
// Fra klassen Iti57ValidationImpl metode validateAndTransform
List<ErrorInfo> xdsValidationErrors = getXdsValidationErrors(registerDocumentSet, xdsValidatorFactory.buildIti61Validator(), xdsValidationLevel);
// Fra klassen RegistryItiValidationImpl
protected List<ErrorInfo> getXdsValidationErrors(RegisterDocumentSet request, RegisterDocumentSetStarter starter, XdsValidationLevel xdsValidationLevel) {
return getXdsValidationErrors(() -> starter.validate(request), xdsValidationLevel); //for getXdsValidationErrors se ovenfor
}
|
...
| language | java |
|---|---|
| title | Iti57ValidationImpl - anvendels af XdsValidation |
| linenumbers | true |
...
handling of exceptions we need to make sure any unstable exception handling there will not get to the caller.
String errorMessage = "Unhandled exception in validation library or its sub dependencies.";
LOGGER.error(errorMessage, e);
ErrorInfo errorInfo = new ErrorInfo(ErrorCode.REGISTRY_METADATA_ERROR, errorMessage, getSeverity(xdsValidationLevel), "", "");
errors.add(errorInfo);
}
return errors;
}
//Klassen XdsValidatorFactory
public class XdsValidatorFactory {
...
public List<ProvideAndRegisterDocumentSetStarter> buildIti41Validator() {
return Arrays.asList(
Iti41ValidationFactory.createIti41Validator(xdsConfigurationFactory.buildXDSConfiguration()),
createItiProvideAndRegisterDocumentSetStarterDrosValidator());
}
...
} |
Dvs ønsker man benytte default valideringen for ITI 41 kaldet gøres det ved at:
- Oprette en instans af ProvideAndRegisterDocumentSetStarter (linie 2)
- Kalde metoden validate på denne med ITI 41 requested (ProvideAndRegisterDocumentSet) (linie 18)
- Retur får man en liste over de fejl XdsValidation fandt (linie 31)
På samme måde kan man få valideret de øvrige kald, ved at vælge den rette Starter og sende requsted ind til den.
Se iøvrigt praktisk anvendelse i bibliotekets egne unit test. F.eks. CdaHeaderValidatorTest der viser CDA dokument validering og ProvideAndRegisterDocumentSetValidatorTest, der viser en række kald for iti-41.
...
| Klasse | Validering | ITI 41 | ITI 42 | ITI 61 | ITI 57 | Cda dokument | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ProvideAndRegisterDocumentSetStarter |
| x | ||||||||||
| RegisterDocumentSetStarter |
| x | x | x | ||||||||
| XDSDocumentITI41StructureValidator |
| x | ||||||||||
| XDSDocumentITI42StructureValidator |
| x | ||||||||||
| XDSDocumentITI61StructureValidator |
| x | ||||||||||
| XDSDocumentITI57StructureValidator |
| x | ||||||||||
| XDSDocumentContentModelEnricher |
| x | ||||||||||
| CdaDocumentHeaderModelEnricher |
| x | x | |||||||||
| CdaDocumentApdV2ModelEnricher |
| x | x | |||||||||
| CdaDocumentPhmrModelEnricher |
| x | x | |||||||||
| CdaDocumentQrdModelEnricher |
| x | x | |||||||||
| CdaDocumentPhadModelEnricher |
| x | x | |||||||||
| AudioDocumentModelEnricher |
| x | x | x | x | |||||||
| AudioDocumentAudiogramModelEnricher |
| x | ||||||||||
| AudioDocumentImpedanceModelEnricher |
| x | ||||||||||
| AudioDocumentHearingInstrumentSelectionModelEnricher |
| x | ||||||||||
| AudioDocumentAudiogramModelValidator |
|
| x | AudioDocumentAudiogramModelEnricher |
| x | ||||||
| AudioDocumentImpedanceModelValidator |
| x | AudioDocumentHearingInstrumentSelectionModelEnricher |
| x | AudioDocumentAudiogramModelValidator |
| x | ||||
| AudioDocumentImpedanceModelValidatorAudioDocumentHearingInstrumentSelectionModelValidator |
| x | AudioDocumentHearingInstrumentSelectionModelValidator |
| x |
Typevalideringer
Dette er hjælpevalideringer, som feltvalideringer gør brug af.
| Klasse | Validering |
|---|---|
ConfigCodeModelChecker |
|
AbstractElementCompare |
|
CodedModelCompare |
|
DateTimeCompare |
|
DateCompare |
|
StringCompare |
|
ConfigValuesChecker |
|
CodedValueValidationCodedValueValidator |
|
StringValidation |
|
ClassCodeValidation |
|
| ConfidentialityCodeValidation |
|
| EventCodeValidation |
|
| FormatCodeValidation |
|
| HealthcareFacilityTypeCodeValidation |
|
| LanguageCodeValidation |
|
| OrganisationCodeValidation |
|
| PatientIdCodeValidation |
|
| PracticeSettingCodeValidation |
|
| TitleValidation |
|
| TypeCodeValidation |
|
| ConfigValuesValidator |
|
| HomeCommunityIdValidation |
|
| MimeTypeValidation |
|
Krydsvalideringer
Her sammenlignes to entiteter. Disse valideringer sikrer, at de samme felter i forskellige entiteter (documentEntry, submissionSet og Cda dokument) er ens. Hvis mindst en af entiterne kan indholde flere felter af den samme type, sammenlignes antallet af disse også.
...
| Klasse | Validering mellem de 2 entiter nævnt i klassens navn | ITI 41 | ITI 42 | ITI 61 | ITI 57 | Cda dokument | ||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CdaHeaderCrossDocumentEntryAuthorInstitutionValidator |
| x | ||||||||||||||||||||||||||||||||||||||||||
| CdaHeaderCrossDocumentEntryAuthorPersonValidator |
| x | ||||||||||||||||||||||||||||||||||||||||||
| CdaHeaderCrossDocumentEntryConfidentialityCodeValidator |
| x | ||||||||||||||||||||||||||||||||||||||||||
| CdaHeaderCrossDocumentEntryCreationTimeValidator |
| x | ||||||||||||||||||||||||||||||||||||||||||
| CdaHeaderCrossDocumentEntryEventCodeValidator |
| x | ||||||||||||||||||||||||||||||||||||||||||
| CdaHeaderCrossDocumentEntryLanguageCodeValidator |
| x | ||||||||||||||||||||||||||||||||||||||||||
| CdaHeaderCrossDocumentEntryLegalAuthenticatorValidator |
| x | ||||||||||||||||||||||||||||||||||||||||||
| CdaHeaderCrossDocumentEntryPatientIdValidator |
| x | x | |||||||||||||||||||||||||||||||||||||||||
| CdaHeaderCrossDocumentEntryServiceStartTimeValidator |
| x | ||||||||||||||||||||||||||||||||||||||||||
| CdaHeaderCrossDocumentEntryServiceStopTimeValidator |
| x | ||||||||||||||||||||||||||||||||||||||||||
| CdaHeaderCrossDocumentEntrySourcePatientIdValidator |
| x | ||||||||||||||||||||||||||||||||||||||||||
| CdaHeaderCrossDocumentEntrySourcePatientInfoValidator |
| x | ||||||||||||||||||||||||||||||||||||||||||
| CdaHeaderCrossDocumentEntryLegalAuthenticatorValidatorCdaHeaderCrossDocumentEntryTitleValidator |
| x | ||||||||||||||||||||||||||||||||||||||||||
| CdaHeaderCrossDocumentEntryPatientIdValidatorCdaHeaderCrossDocumentEntryTypeCodeValidator |
| x | ||||||||||||||||||||||||||||||||||||||||||
| CdaHeaderCrossDocumentEntryServiceStartTimeValidatorSubmissionSetCrossDocumentEntryAuthorInstitutionValidator |
| x |
| x | CdaHeaderCrossDocumentEntrySourcePatientIdValidator | x | xoverholder validering i CodedModelCompare | xCdaHeaderCrossDocumentEntrySourcePatientInfoValidator | ||||||||||||||||||||||||||||||||||||
| SubmissionSetCrossDocumentEntryAuthorPersonValidator |
| x | CdaHeaderCrossDocumentEntryTitleValidator |
| x | CdaHeaderCrossDocumentEntryTypeCodeValidator |
| x | SubmissionSetCrossDocumentEntryAuthorInstitutionValidator |
| x | x | x | x | SubmissionSetCrossDocumentEntryAuthorPersonValidator |
| x | x | x | x | SubmissionSetCrossDocumentEntryPatientIdValidator |
| x | x | x | x | AudioDocumentEntryFormatCodeCrossEventCodeValidator |
| x | x | x | x | AudioDocumentEntrySourcePatientIdCrossPatientIdValidator |
| x | x | x | x | AudioDocumentEntryServiceStopTimeCrossServiceStartTimeValidator |
| x | x | x | x |
Feltvalideringer
Hver validering beskæftiger sig med et specifikt felt i enten ITI kald og/eller CDA dokumentet.
Afkrydningen i tabellens 5 sidste søjler indikerer, hvilke default valideringer, den enkelte validator er inkludret i.
Søjlen "felt" kan anvendes til sortering, hvis man ønsker at se valideringen for et specifik felt på tværs af entitet.
| x | x | x | x | ||
| SubmissionSetCrossDocumentEntryPatientIdValidator |
| x | x | x | x |
Feltvalideringer
Hver validering beskæftiger sig med et specifikt felt i enten ITI kald og/eller CDA dokumentet.
Afkrydningen i tabellens 5 sidste søjler indikerer, hvilke default valideringer, den enkelte validator er inkludret i.
Søjlen "felt" kan anvendes til sortering, hvis man ønsker at se valideringen for et specifik felt på tværs af entitet.
| Klasse | Felt | Validering | ITI 41 | ITI 42 | ITI 61 | ITI 57 | Cda dokument | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CdaHeaderAuthorInstitutionValidator | AuthorInstitution |
| x | x | |||||||||||||||||||||||||||
CdaHeaderAuthorPersonValidator | AuthorPerson |
| x | x | |||||||||||||||||||||||||||
CdaHeaderConfidentialityCodeValidator | ConfidentialityCode |
| x | x | |||||||||||||||||||||||||||
CdaHeaderEventCodeValidator | EventCode |
| x | x | |||||||||||||||||||||||||||
CdaHeaderFormatCodeValidator | FormatCode |
| x | x | |||||||||||||||||||||||||||
CdaHeaderLanguageCodeValidator | LanguageCode | ||||||||||||||||||||||||||||||
| Klasse | Felt | Validering | ITI 41 | ITI 42 | ITI 61 | ITI 57 | Cda dokument | ||||||||||||||||||||||||
CdaHeaderAuthorInstitutionValidator | AuthorInstitution |
| x | x | |||||||||||||||||||||||||||
CdaHeaderAuthorPersonValidatorCdaHeaderPatientIdValidator | AuthorPersonPatientId |
| x | x | |||||||||||||||||||||||||||
CdaHeaderConfidentialityCodeValidatorCdaHeaderSourcePatientIdValidator | ConfidentialityCodeSourcePatientId |
| x | x | |||||||||||||||||||||||||||
CdaHeaderEventCodeValidatorCdaHeaderSourcePatientInfoValidator | EventCodeSourcePatientInfo |
| x | x | |||||||||||||||||||||||||||
CdaHeaderFormatCodeValidatorCdaHeaderTitleValidator | FormatCodeTitle |
| x | x | |||||||||||||||||||||||||||
CdaHeaderLanguageCodeValidatorCdaHeaderTypeCodeValidator | LanguageCodeTypeCode |
| x | x | |||||||||||||||||||||||||||
CdaHeaderPatientIdValidatorDocumentEntryClassCodeValidator | PatientIdClassCode |
| x | x | x | x | |||||||||||||||||||||||||
| CdaHeaderSourcePatientIdValidatorDocumentEntryAuthorInstitutionValidator | SourcePatientIdAuthorInstitution |
| x | x | x | x | |||||||||||||||||||||||||
| CdaHeaderSourcePatientInfoValidatorDocumentEntryAuthorPersonValidator | SourcePatientInfoAuthorPerson |
| x | x | x | x | |||||||||||||||||||||||||
| CdaHeaderTitleValidatorDocumentEntryAvailabilityStatusValidator | TitleAvailabilityStatus |
| x | x | CdaHeaderTypeCodeValidator | TypeCode | regel: Metadata-v096 2.2.32 typeCode | x | x | ||||||||||||||||||||||
| DocumentEntryClassCodeValidator | ClassCode |
| x | x | x | x | |||||||||||||||||||||||||
| DocumentEntryAuthorInstitutionValidatorDocumentEntryConfidentialityCodeValidator | AuthorInstitutionConfidentialityCode |
| x | x | x | x | |||||||||||||||||||||||||
| DocumentEntryAuthorPersonValidatorDocumentEntryCreationTimeValidator | AuthorPersonCreationTime |
| x | x | x | x | |||||||||||||||||||||||||
| DocumentEntryAvailabilityStatusValidatorDocumentEntryEntryUUIDValidator | AvailabilityStatusEntryUUID |
| x | x | x | x | |||||||||||||||||||||||||
| DocumentEntryClassCodeValidatorDocumentEntryEventCodeValidator | ClassCodeEventCode |
| x | x | x | x | |||||||||||||||||||||||||
| DocumentEntryConfidentialityCodeValidatorDocumentEntryFormatCodeValidator | ConfidentialityCodeFormatCode |
| x | x | x | x | |||||||||||||||||||||||||
| DocumentEntryCreationTimeValidatorDocumentEntryHashValidator | CreationTimeHash |
| x | x | x | ||||||||||||||||||||||||||
| DocumentEntryHealthcareFacilityTypeCodeValidator | HealthcareFacilityTypeCode |
| x | x | x | x | |||||||||||||||||||||||||
| DocumentEntryEntryUUIDValidatorDocumentEntryLanguageCodeValidator | EntryUUIDLanguageCode |
| x | x | x | x | |||||||||||||||||||||||||
| DocumentEntryEventCodeValidatorDocumentEntryLegalAuthenticatorValidator | EventCodeLegalAuthenticator |
| x | x | x | x | |||||||||||||||||||||||||
| DocumentEntryFormatCodeValidatorDocumentEntryMimeTypeValidator | FormatCodeMimeType |
| x | x | x | x | |||||||||||||||||||||||||
| DocumentEntryHashValidatorDocumentEntryPatientIdValidator | HashPatientId |
| x | x | x | DocumentEntryHealthcareFacilityTypeCodeValidator | HealthcareFacilityTypeCode |
| x | x | x | x | |||||||||||||||||||
| DocumentEntryLanguageCodeValidatorDocumentEntryPracticeSettingCodeValidator | LanguageCodePracticeSettingCode |
| x | x | x | x | |||||||||||||||||||||||||
| DocumentEntryLegalAuthenticatorValidatorDocumentEntryReferenceidListValidator | LegalAuthenticatorReferenceidList |
| x | x | x | x | |||||||||||||||||||||||||
| DocumentEntryMimeTypeValidatorDocumentEntryRepositoryUniqueIdValidator | MimeTypeRepositoryUniqueId |
| x | x | x | x | |||||||||||||||||||||||||
| DocumentEntryPatientIdValidatorDocumentEntrySizeValidator | PatientIdSize |
| x | x | x | ||||||||||||||||||||||||||
| DocumentEntryPracticeSettingCodeValidatorDocumentEntrySourcePatientIdValidator | PracticeSettingCodeSourcePatientId |
| x | x | x | x | |||||||||||||||||||||||||
| DocumentEntryReferenceidListValidatorDocumentEntrySourcePatientInfoValidator | ReferenceidListSourcePatientInfo |
| x | x | x | x | |||||||||||||||||||||||||
| DocumentEntryRepositoryUniqueIdValidatorDocumentEntryTitleValidator | RepositoryUniqueIdTitle |
| x | x | x | x | |||||||||||||||||||||||||
| DocumentEntrySizeValidatorDocumentEntryTypeCodeValidator | SizeTypeCode |
| x | x | x | x | |||||||||||||||||||||||||
| DocumentEntrySourcePatientIdValidatorDocumentEntryTypeValidator | SourcePatientIdType |
| x | x | x | x | |||||||||||||||||||||||||
| DocumentEntrySourcePatientInfoValidatorDocumentEntryUniqueIdValidator | SourcePatientInfoUniqueId |
| x | x | x | x | |||||||||||||||||||||||||
| DocumentEntryTitleValidatorDocumentEntryURIValidator | TitleURI |
| x | x | x | x | |||||||||||||||||||||||||
| DocumentEntryTypeCodeValidatorDocumentEntryHomeCommunityIdValidator | TypeCodeHomeCommunityId |
| x | x | x | x | |||||||||||||||||||||||||
| DocumentEntryTypeValidatorSubmissionSetAuthorInstitutionValidator | TypeAuthorInstitution |
| x | x | x | x | |||||||||||||||||||||||||
| DocumentEntryUniqueIdValidatorSubmissionSetEntryUUIDValidator | UniqueIdEntryUUID |
| x | x | x | x | |||||||||||||||||||||||||
| DocumentEntryURIValidatorSubmissionSetPatientIdValidator | URIPatientId |
| x | x | x | x | |||||||||||||||||||||||||
| SubmissionSetUniqueIdValidator | UniqueId |
| x | x | x | x | |||||||||||||||||||||||||
| DocumentEntryHomeCommunityIdValidatorSubmissionSetHomeCommunityIdValidator | HomeCommunityId |
| x | x | x | x | |||||||||||||||||||||||||
| Apd2AppointmentIdValidator | AppointmentId |
| x | x | |||||||||||||||||||||||||||
| Apd2CustodianIdValidator | Custodian | x | x | SubmissionSetAuthorInstitutionValidator | AuthorInstitution |
| x | x | x | x | SubmissionSetEntryUUIDValidator | ||||||||||||||||||||
| Apd2StartStopTimeValidator | StartStopTimeEntryUUID |
| x | x | x | x | |||||||||||||||||||||||||
PhmrCustodianIdValidator | Custodian | SubmissionSetPatientIdValidator | PatientId |
| x | x x | |||||||||||||||||||||||||
| QrdCustodianIdValidator | SubmissionSetUniqueIdValidator | UniqueIdCustodian |
| x | xx | ||||||||||||||||||||||||||
| AudioDocumentEntryEventCodeValidator | SubmissionSetHomeCommunityIdValidator | HomeCommunityId | EventCodeList |
| x | x | x | x | |||||||||||||||||||||||
| Apd2AppointmentIdValidatorAudioDocumentEntryReferenceidListValidator | AppointmentId |
| x | x | Apd2CustodianIdValidator | Custodian |
| x | x | Apd2StartStopTimeValidator | StartStopTime |
| x | x | PhmrCustodianIdValidator | Custodian |
| x | x | QrdCustodianIdValidator | Custodian |
| x | x | ReferenceidList |
| x | x | x | x | |
| AudioDocumentEntryServiceStartTimeValidator | ServiceStartTime |
| x | x | x | x | |||||||||||||||||||||||||
| AudioDocumentEntryServiceStopTimeValidator | ServiceStopStime |
| x | x | x | x | |||||||||||||||||||||||||
| AudioDocumentEntryFormatCodeAndEventCodeValidator | FormatCode EventCodeList |
| AudioDocumentEntryEventCodeValidator | EventCodeList |
| x | x | x | x | ||||||||||||||||||||||
| AudioDocumentEntryReferenceidListValidatorAudioDocumentEntrySourcePatientIdAndPatientIdValidator | ReferenceidList | SourcePatientId PatientId |
| x | x | x | x | ||||||||||||||||||||||||
| AudioDocumentEntryServiceStopTimeAndServiceStartTimeValidatorAudioDocumentEntryServiceStartTimeValidator | ServiceStopTime ServiceStartTime |
| x | x | x | x | AudioDocumentEntryServiceStopTimeValidator | ServiceStopStime |
| x | x | x | x |
.