AcceptAcknowledgement AcceptAcknowledgementHeaderSpec AcceptAcknowledgementHeaderSpec mcciin000002UV01-MCCIIN000002UV01Type constraint_acceptack_acceptAckCodeValue Message.acceptAckCode is fixed to NE (don't ack an ack) (Section O.1.2: Send accept acknowledgement information model) not self.acceptAckCode.oclIsUndefined() and not self.acceptAckCode.code.oclIsUndefined() and self.acceptAckCode.code='NE' ERROR constraint_acceptack_acknowledgementCardinality Acknowledgement is a required class. Message SHALL contain exactly one Acknowledgement attribute (Figure O.1.2-1: Message Information Model) self.acknowledgement->size()=1 ERROR constraint_acceptack_processingCodeValue Valid values for processingCode attribute are D (Debugging), T (Testing) and P (Production) (Table O.1.2-1: Model Attributes) not self.processingCode.oclIsUndefined() and not self.processingCode.code.oclIsUndefined() and ( self.processingCode.code='T' or self.processingCode.code='D' or self.processingCode.code='P' ) ERROR constraint_acceptack_processingModeCodeValue Valid values for processingModeCode are A (Archive), T (Current processing), I (Initial Load) and R (Restore from archive) (Table O.1.2-1: Model Attributes) not self.processingModeCode.oclIsUndefined() and not self.processingModeCode.code.oclIsUndefined() and ( self.processingModeCode.code='T' or self.processingModeCode.code='D' or self.processingModeCode.code='P' ) ERROR ihehl7v3 ITI44Common ITI44CommonOrganizationSpec ITI44CommonOrganizationSpec coctmt150003UV03-COCTMT150003UV03Organization constraint_iti44common_iti44val002 The id attribute of Provider Organization shall have only a root self.id->forAll(ii : II | not (ii.root.oclIsUndefined()) and ii.assigningAuthorityName.oclIsUndefined() and ii.extension.oclIsUndefined() and ii.displayable.oclIsUndefined() ) ERROR constraint_iti44common_iti44val003 The id/@root attribute of Provider Organization shall be expressed as an ISO OID self.id->forAll(ii : II | not ii.root.oclIsUndefined() and ii.isOID(ii.root) ) ERROR ITI44CommonContactPartySpec ITI44CommonContactPartySpec coctmt150003UV03-COCTMT150003UV03ContactParty constraint_iti44common_iti44val001 The Provider Organization needs to be identified by at least one of address, telecommunications address, or contact person. not (self.contactPerson.oclIsUndefined()) or self.telecom->size() > 0 or self.addr->size() > 0 ERROR ITI44PatientAdd ITI44PatientAddOtherIDsSpec ITI44PatientAddOtherIDsSpec prpamt201301UV02-PRPAMT201301UV02OtherIDs constraint_iti44patientadd_iti44val004 otherIDs.id.root SHALL be identical to scopingOrganization.id.root self.id->size() > 0 and not (self.scopingOrganization.oclIsUndefined()) and self.scopingOrganization.id->size() > 0 and self.id->forAll(ii : II | not (ii.root.oclIsUndefined()) and self.scopingOrganization.id->select(ii2: II | not (ii2.root.oclIsUndefined()) and not (ii.root = ii2.root))->size() = 0 ) ERROR constraint_iti44patientadd_otherids_ihehl7v3004 All IHE Actors are required to send the extension attribute for any id element representing a patient identifier self.id->forAll(ii: II | not (ii.extension.oclIsUndefined())) ERROR ITI44PatientAddPatientSpec ITI44PatientAddPatientSpec prpamt201301UV02-PRPAMT201301UV02Patient constraint_iti44patientadd_iti44val006 The focal entity choice is restricted to be only a person not (self.patientPerson.oclIsUndefined()) and self.patientNonPersonLivingSubject.oclIsUndefined() ERROR constraint_iti44patientadd_patientid_ihehl7v3004 All IHE Actors are required to send the extension attribute for any id element representing a patient identifier self.id->forAll(ii: II | not (ii.extension.oclIsUndefined())) ERROR constraint_iti44patientadd_ihehl7v3002 When the Patient role is scoped by a Provider organization, only patient IDs assigned by the provider organization are allowed in the Patient class, the root element of the patient IDs shall match the root element of the provider organization ID. (self.providerOrganization.oclIsUndefined() or self.providerOrganization.id->size() = 0) xor self.id->forAll(ii: II | self.providerOrganization.id->exists(orgid: II | not (orgid.root.oclIsUndefined()) and orgid.root = ii.root)) ERROR ITI44PatientAddPersonSpec ITI44PatientAddPersonSpec prpamt201301UV02-PRPAMT201301UV02Person constraint_iti44patientadd_iti44val009 patientPerson.classCode attribute is mandatory not (self.classCode.oclIsUndefined()) ERROR constraint_iti44patientadd_iti44val010 patientPerson.determinerCode attribute is mandatory not (self.determinerCode.oclIsUndefined()) ERROR constraint_iti44patientadd_personid_ihehl7v3004 All IHE Actors are required to send the extension attribute for any id element representing a patient identifier self.id->forAll(ii: II | not (ii.extension.oclIsUndefined())) ERROR ITI44PatientAddPersonalRelationshipSpec ITI44PatientAddPersonalRelationshipSpec prpamt201301UV02-PRPAMT201301UV02PersonalRelationship constraint_iti44patientadd_iti44val007 The relationship holder of the personal relationship is restricted to be a person not (self.relationshipHolder1.oclIsUndefined()) and self.relationshipHolder2.oclIsUndefined() ERROR constraint_iti44patientadd_iti44val011 personalRelationship.classCode attribute is mandatory not (self.classCode.oclIsUndefined()) ERROR ITI44PatientAddCitizenSpec ITI44PatientAddCitizenSpec prpamt201301UV02-PRPAMT201301UV02Citizen constraint_iti44patientadd_iti44val012 asCitizen.classCode attribute is mandatory not (self.classCode.oclIsUndefined()) ERROR ITI44PatientAddNationSpec ITI44PatientAddNationSpec prpamt201301UV02-PRPAMT201301UV02Nation constraint_iti44patientadd_iti44val013 politicalNation.classCode attribute is mandatory not (self.classCode.oclIsUndefined()) ERROR constraint_iti44patientadd_iti44val014 politicalNation.determinerCode attribute is mandatory not (self.determinerCode.oclIsUndefined()) ERROR ITI44PatientAddBirthPlaceSpec ITI44PatientAddBirthPlaceSpec prpamt201301UV02-PRPAMT201301UV02BirthPlace constraint_iti44patientadd_iti44val015 birthPlace.classCode attribute is mandatory not (self.classCode.oclIsUndefined()) ERROR constraint_iti44patientadd_iti44val016 Either BirthPlace.addr or an associated BirthPlace.name must be valued not (self.birthplace.oclIsUndefined() or self.birthplace.name->size() = 0) or not (self.addr.oclIsUndefined()) ERROR ITI44PatientAddHeaderSpec ITI44PatientAddHeaderSpec prpain201301UV02-PRPAIN201301UV02MCCIMT000100UV01Message constraint_iti44patientadd_iti44val019 The value of processingModeCode SHALL be set to T not (self.processingModeCode.oclIsUndefined()) and not (self.processingModeCode.code.oclIsUndefined()) and self.processingModeCode.code = 'T' ERROR constraint_iti44patientadd_iti44val020 The value of acceptAckCode SHALL be set to AL not (self.acceptAckCode.oclIsUndefined()) and not (self.acceptAckCode.code.oclIsUndefined()) and self.acceptAckCode.code = 'AL' ERROR constraint_iti44patientadd_iti44val017 For Add Patient Record message, the value of interactionId SHALL be set to PRPA_IN201301UV02 not (self.interactionId.oclIsUndefined()) and not (self.interactionId.extension.oclIsUndefined()) and self.interactionId.extension = 'PRPA_IN201301UV02' ERROR constraint_iti44patientadd_iti44val021 There SHALL be only one receiver Device self.receiver->size() = 1 ERROR ITI44PatientAddControlActProcessSpec ITI44PatientAddControlActProcessSpec prpain201301UV02-PRPAIN201301UV02MFMIMT700701UV01ControlActProcess constraint_iti44patientadd_iti44val022 For Add Patient Record message, the trigger event code ControlActProcess.code SHALL be set to PRPA_TE201301UV02 not (self.code.oclIsUndefined()) and not (self.code.code.oclIsUndefined()) and self.code.code = 'PRPA_TE201301UV02' ERROR ITI44PatientAddRegistrationEventSpec ITI44PatientAddRegistrationEventSpec prpain201301UV02-PRPAIN201301UV02MFMIMT700701UV01RegistrationEvent constraint_iti44patientadd_iti44val024 RegistrationEvent.statusCode SHALL be set to active not (self.statusCode.oclIsUndefined()) and not (self.statusCode.code.oclIsUndefined()) and self.statusCode.code = 'active' ERROR constraint_iti44patientadd_iti44val025 There SHALL be no ReplacementOf act relationship for the Add Patient Record and Revise Patient Record interactions. self.replacementOf->size() = 0 ERROR constraint_iti44patientadd_ihehl7v3008 RegistrationEvent.effectiveTime and the author.time SHALL be valued with the same time expression ((self.effectiveTime.oclIsUndefined() or self.effectiveTime.value.oclIsUndefined()) or (self.author.oclIsUndefined() or self.author.time.oclIsUndefined() or self.author.time.value.oclIsUndefined())) or (self.effectiveTime.value = self.author.time.value) ERROR ITI44PatientAddSubject1Spec ITI44PatientAddSubject1Spec prpain201301UV02-PRPAIN201301UV02MFMIMT700701UV01Subject1 constraint_iti44patientadd_ihehl7v3006 The context conduction Indicator value in the MFMI_MT700701UV01 control act wrapper is mandatory and SHALL be false not (self.contextConductionInd.oclIsUndefined()) and not (self.contextConductionInd) ERROR ITI44PatientMerge ITI44PatientMergeHeaderSpec ITI44PatientMergeHeaderSpec prpain201304UV02-PRPAIN201304UV02MCCIMT000100UV01Message constraint_iti44patientmerge_iti44val031 For Patients Registry Duplicates Resolved message, the interactionId SHALL be set to PRPA_IN201304UV02 not (self.interactionId.oclIsUndefined()) and not (self.interactionId.extension.oclIsUndefined()) and self.interactionId.extension = 'PRPA_IN201304UV02' ERROR constraint_iti44patientmerge_iti44val032 The value of processingModeCode SHALL be set to T not (self.processingModeCode.oclIsUndefined()) and not (self.processingModeCode.code.oclIsUndefined()) and self.processingModeCode.code = 'T' ERROR constraint_iti44patientmerge_iti44val033 The value of acceptAckCode SHALL be set to AL not (self.acceptAckCode.oclIsUndefined()) and not (self.acceptAckCode.code.oclIsUndefined()) and self.acceptAckCode.code = 'AL' ERROR constraint_iti44patientmerge_iti44val034 There SHALL be only one receiver Device self.receiver->size() = 1 ERROR ITI44PatientMergeControlActProcessSpec ITI44PatientMergeControlActProcessSpec prpain201304UV02-PRPAIN201304UV02MFMIMT700701UV01ControlActProcess constraint_iti44patientmerge_iti44val035 The trigger event code in ControlActProcess.code SHALL be set to PRPA_TE201304UV02 not (self.code.oclIsUndefined()) and not (self.code.code.oclIsUndefined()) and self.code.code = 'PRPA_TE201304UV02' ERROR ITI44PatientMergeRegistrationEventSpec ITI44PatientMergeRegistrationEventSpec prpain201304UV02-PRPAIN201304UV02MFMIMT700701UV01RegistrationEvent constraint_iti44patientmerge_iti44val036 registrationEvent.statusCode SHALL be set to active not (self.statusCode.oclIsUndefined()) and not (self.statusCode.code.oclIsUndefined()) and self.statusCode.code = 'active' ERROR constraint_iti44patientmerge_iti44val037 There SHALL be an InReplacementOf act relationship self.replacementOf->size() = 1 ERROR constraint_iti44patientmerge_ihehl7v3008 RegistrationEvent.effectiveTime and the author.time SHALL be valued with the same time expression ((self.effectiveTime.oclIsUndefined() or self.effectiveTime.value.oclIsUndefined()) or (self.author.oclIsUndefined() or self.author.time.oclIsUndefined() or self.author.time.value.oclIsUndefined())) or (self.effectiveTime.value = self.author.time.value) ERROR ITI44PatientMergePriorRegistrationSpec ITI44PatientMergePriorRegistrationSpec mfmimt700701UV01-MFMIMT700701UV01PriorRegistration constraint_iti44patientmerge_iti44val038 The value of PriorRegistration.statusCode SHALL be "obsolete" not (self.statusCode.oclIsUndefined()) and not (self.statusCode.code.oclIsUndefined()) and self.statusCode.code = 'obsolete' ERROR constraint_iti44patientmerge_iti44val039 There SHALL be a PriorRegisteredRole role not (self.subject1.oclIsUndefined()) and not(self.subject1.priorRegisteredRole.oclIsUndefined()) ERROR ITI44PatientMergePriorRegisteredRoleSpec ITI44PatientMergePriorRegisteredRoleSpec mfmimt700701UV01-MFMIMT700701UV01PriorRegisteredRole constraint_iti44patientmerge_iti44val040 There SHALL be a single PriorRegisteredRole.id attribute, representing the subsumed patient identifier self.id->size() = 1 ERROR constraint_iti44patientmerge_priorid_ihehl7v3004 All IHE Actors are required to send the extension attribute for any id element representing a patient identifier self.id->forAll(ii: II | not (ii.extension.oclIsUndefined())) ERROR ITI44PatientMergePatientSpec ITI44PatientMergePatientSpec prpamt201303UV02-PRPAMT201303UV02Patient constraint_iti44patientmerge_iti44val026 The focal entity choice is restricted to be only a person not (self.patientPerson.oclIsUndefined()) and self.patientNonPersonLivingSubject.oclIsUndefined() ERROR constraint_iti44patientmerge_iti44val027 This record is active, that means that the statusCode.code attribute is valued to "active" not (self.statusCode.oclIsUndefined()) and not (self.statusCode.code.oclIsUndefined()) and self.statusCode.code = 'active' ERROR constraint_iti44patientmerge_patientid_ihehl7v3004 All IHE Actors are required to send the extension attribute for any id element representing a patient identifier self.id->forAll(ii: II | not (ii.extension.oclIsUndefined())) ERROR constraint_iti44patientmerge_ihehl7v3002 When the Patient role is scoped by a Provider organization, only patient IDs assigned by the provider organization are allowed in the Patient class, the root element of the patient IDs shall match the root element of the provider organization ID. (self.providerOrganization.oclIsUndefined() or self.providerOrganization.id->size() = 0) xor self.id->forAll(ii: II | self.providerOrganization.id->exists(orgid: II | not (orgid.root.oclIsUndefined()) and orgid.root = ii.root)) ERROR ITI44PatientMergePersonSpec ITI44PatientMergePersonSpec prpamt201303UV02-PRPAMT201303UV02Person constraint_iti44patientmerge_iti44val028 Person.name must be non-null self.name->size() > 0 and self.name->exists(pn: PN | pn.family->size() > 0 or pn.given->size() > 0 or pn.prefix->size() > 0 or pn.suffix->size() > 0 ) ERROR constraint_iti44patientmerge_iti44val029 patientPerson.classCode attribute is mandatory not (self.classCode.oclIsUndefined()) ERROR constraint_iti44patientmerge_iti44val030 patientPerson.determinerCode attribute is mandatory not (self.determinerCode.oclIsUndefined()) ERROR constraint_iti44patientmerge_personid_ihehl7v3004 All IHE Actors are required to send the extension attribute for any id element representing a patient identifier self.id->forAll(ii: II | not (ii.extension.oclIsUndefined())) ERROR ITI44PatientMergeOtherIDsSpec ITI44PatientMergeOtherIDsSpec prpamt201303UV02-PRPAMT201303UV02OtherIDs constraint_iti44patientmerge_otherids_ihehl7v3004 All IHE Actors are required to send the extension attribute for any id element representing a patient identifier self.id->forAll(ii: II | not (ii.extension.oclIsUndefined())) ERROR ITI44PatientMergeSubject1Spec ITI44PatientMergeSubject1Spec prpain201304UV02-PRPAIN201304UV02MFMIMT700701UV01Subject1 constraint_iti44patientmerge_ihehl7v3006 The context conduction Indicator value in the MFMI_MT700701UV01 control act wrapper is mandatory and SHALL be false not (self.contextConductionInd.oclIsUndefined()) and not (self.contextConductionInd) ERROR ITI44PatientRevise ITI44PatientReviseOtherIDsSpec ITI44PatientReviseOtherIDsSpec prpamt201302UV02-PRPAMT201302UV02OtherIDs constraint_iti44patientrevise_iti44val004 otherIDs.id.root SHALL be identical to scopingOrganization.id.root self.id->size() > 0 and not (self.scopingOrganization.oclIsUndefined()) and self.scopingOrganization.id->size() > 0 and self.id->forAll(ii : PRPAMT201302UV02OtherIDsId | not (ii.root.oclIsUndefined()) and self.scopingOrganization.id->select(ii2: II | not (ii.root = ii2.root))->size() = 0 ) ERROR constraint_iti44patientrevise_otherids_ihehl7v3004 All IHE Actors are required to send the extension attribute for any id element representing a patient identifier self.id->forAll(ii: PRPAMT201302UV02OtherIDsId | not (ii.extension.oclIsUndefined())) ERROR ITI44PatientReviseBirthPlaceSpec ITI44PatientReviseBirthPlaceSpec prpamt201302UV02-PRPAMT201302UV02BirthPlace constraint_iti44patientrevise_iti44val015 birthPlace.classCode attribute is mandatory not (self.classCode.oclIsUndefined()) ERROR constraint_iti44patientrevise_iti44val016 Either BirthPlace.addr or an associated BirthPlace.name must be valued not (self.birthplace.oclIsUndefined() or self.birthplace.name->size() = 0) or not (self.addr.oclIsUndefined()) ERROR ITI44PatientReviseCitizenSpec ITI44PatientReviseCitizenSpec prpamt201302UV02-PRPAMT201302UV02Citizen constraint_iti44patientrevise_iti44val012 asCitizen.classCode attribute is mandatory not (self.classCode.oclIsUndefined()) ERROR ITI44PatientReviseControlActProcessSpec ITI44PatientReviseControlActProcessSpec prpain201302UV02-PRPAIN201302UV02MFMIMT700701UV01ControlActProcess constraint_iti44patientrevise_iti44val023 For Revise Patient Record message, the trigger event code ControlActProcess.code SHALL be set to PRPA_TE201302UV02 not (self.code.oclIsUndefined()) and not (self.code.code.oclIsUndefined()) and self.code.code = 'PRPA_TE201302UV02' ERROR ITI44PatientReviseHeaderSpec ITI44PatientReviseHeaderSpec prpain201302UV02-PRPAIN201302UV02MCCIMT000100UV01Message constraint_iti44patientrevise_iti44val018 For Revise Patient Record message, the value of interactionId SHALL be set to PRPA_IN201302UV02 not (self.interactionId.oclIsUndefined()) and not (self.interactionId.extension.oclIsUndefined()) and self.interactionId.extension = 'PRPA_IN201302UV02' ERROR constraint_iti44patientrevise_iti44val019 The value of processingModeCode SHALL be set to T not (self.processingModeCode.oclIsUndefined()) and not (self.processingModeCode.code.oclIsUndefined()) and self.processingModeCode.code = 'T' ERROR constraint_iti44patientrevise_iti44val020 The value of acceptAckCode SHALL be set to AL not (self.acceptAckCode.oclIsUndefined()) and not (self.acceptAckCode.code.oclIsUndefined()) and self.acceptAckCode.code = 'AL' ERROR constraint_iti44patientrevise_iti44val021 There SHALL be only one receiver Device self.receiver->size() = 1 ERROR ITI44PatientReviseNationSpec ITI44PatientReviseNationSpec prpamt201302UV02-PRPAMT201302UV02Nation constraint_iti44patientrevise_iti44val013 politicalNation.classCode attribute is mandatory not (self.classCode.oclIsUndefined()) ERROR constraint_iti44patientrevise_iti44val014 politicalNation.determinerCode attribute is mandatory not (self.determinerCode.oclIsUndefined()) ERROR ITI44PatientRevisePatientSpec ITI44PatientRevisePatientSpec prpamt201302UV02-PRPAMT201302UV02Patient constraint_iti44patientrevise_iti44val006 The focal entity choice is restricted to be only a person not (self.patientPerson.oclIsUndefined()) and self.patientNonPersonLivingSubject.oclIsUndefined() ERROR constraint_iti44patientrevise_iti44val008 The provider Organization which is scoping the patient role is required not(self.providerOrganization.oclIsUndefined()) ERROR constraint_iti44patientrevise_patientid_ihehl7v3004 All IHE Actors are required to send the extension attribute for any id element representing a patient identifier self.id->forAll(ii: PRPAMT201302UV02PatientId | not (ii.extension.oclIsUndefined())) ERROR constraint_iti44patientrevise_ihehl7v3002 When the Patient role is scoped by a Provider organization, only patient IDs assigned by the provider organization are allowed in the Patient class, the root element of the patient IDs shall match the root element of the provider organization ID. (self.providerOrganization.oclIsUndefined() or self.providerOrganization.id->size() = 0) xor self.id->forAll(ii: PRPAMT201302UV02PatientId | self.providerOrganization.id->exists(orgid: II | not (orgid.root.oclIsUndefined()) and orgid.root = ii.root)) ERROR ITI44PatientRevisePersonalRelationshipSpec ITI44PatientRevisePersonalRelationshipSpec prpamt201302UV02-PRPAMT201302UV02PersonalRelationship constraint_iti44patientrevise_iti44val007 The relationship holder of the personal relationship is restriced to be a person not (self.relationshipHolder1.oclIsUndefined()) and self.relationshipHolder2.oclIsUndefined() ERROR constraint_iti44patientrevise_iti44val011 personalRelationship.classCode attribute is mandatory not (self.classCode.oclIsUndefined()) ERROR ITI44PatientRevisePersonSpec ITI44PatientRevisePersonSpec prpamt201302UV02-PRPAMT201302UV02Person constraint_iti44patientrevise_iti44val009 patientPerson.classCode attribute is mandatory not (self.classCode.oclIsUndefined()) ERROR constraint_iti44patientrevise_iti44val010 patientPerson.determinerCode attribute is mandatory not (self.determinerCode.oclIsUndefined()) ERROR constraint_iti44patientrevise_personid_ihehl7v3004 All IHE Actors are required to send the extension attribute for any id element representing a patient identifier self.id->forAll(ii: PRPAMT201302UV02PersonId | not (ii.extension.oclIsUndefined())) ERROR ITI44PatientReviseRegistrationEventSpec ITI44PatientReviseRegistrationEventSpec prpain201302UV02-PRPAIN201302UV02MFMIMT700701UV01RegistrationEvent constraint_iti44patientrevise_iti44val024 RegistrationEvent.statusCode SHALL be set to active not (self.statusCode.oclIsUndefined()) and not (self.statusCode.code.oclIsUndefined()) and self.statusCode.code = 'active' ERROR constraint_iti44patientrevise_iti44val025 There SHALL be no ReplacementOf act relationship for the Add Patient Record and Revise Patient Record interactions. self.replacementOf->size() = 0 ERROR constraint_iti44patientrevise_ihehl7v3008 RegistrationEvent.effectiveTime and the author.time SHALL be valued with the same time expression ((self.effectiveTime.oclIsUndefined() or self.effectiveTime.value.oclIsUndefined()) or (self.author.oclIsUndefined() or self.author.time.oclIsUndefined() or self.author.time.value.oclIsUndefined())) or (self.effectiveTime.value = self.author.time.value) ERROR ITI44PatientReviseSubject1Spec ITI44PatientReviseSubject1Spec prpain201302UV02-PRPAIN201302UV02MFMIMT700701UV01Subject1 constraint_iti44patientrevise_ihehl7v3006 The context conduction Indicator value in the MFMI_MT700701UV01 control act wrapper is mandatory and SHALL be false not (self.contextConductionInd.oclIsUndefined()) and not (self.contextConductionInd) ERROR ITI45Query ITI45QueryControlActProcessSpec ITI45QueryControlActProcessSpec prpain201309UV02-PRPAIN201309UV02QUQIMT021001UV01ControlActProcess constraint_ITI45Query_iti45val001 ControlActProcess SHALL have one [1..1] queryByParamerter not (self.queryByParameter.oclIsUndefined()) ERROR constraint_ITI45Query_iti45val016 ControlActProcess.code.code SHALL be set to PRPA_TE201309UV02 not (self.code.oclIsUndefined()) and self.code.code='PRPA_TE201309UV02' ERROR constraint_ITI45Query_iti45val017 ControlActProcess.authorOrPerformer.typeCode SHALL be set to AUT self.authorOrPerformer->forAll( var : QUQIMT021001UV01AuthorOrPerformer | not (var.typeCode.oclIsUndefined()) and var.typeCode=XParticipationAuthorPerformer::AUT ) ERROR ITI45QueryQueryByParameterSpec ITI45QueryQueryByParameterSpec prpamt201307UV02-PRPAMT201307UV02QueryByParameter constraint_ITI45Query_iti45val002 Exactly one QueryByParameter.queryId SHALL be present not(self.queryId.oclIsUndefined()) ERROR constraint_ITI45Query_iti45val003 QueryByParameter.statusCode is defaulted to "new" not (self.statusCode.oclIsUndefined()) and not(self.statusCode.code.oclIsUndefined()) and self.statusCode.code = 'new' ERROR constraint_ITI45Query_iti45val004 QueryByParameter.responsePriorityCode is required and is fixed to I (Immediate) not (self.responsePriorityCode.oclIsUndefined()) and not (self.responsePriorityCode.code.oclIsUndefined()) and self.responsePriorityCode.code='I' ERROR ITI45QueryDataSourceSpec ITI45QueryDataSourceSpec prpamt201307UV02-PRPAMT201307UV02DataSource constraint_ITI45Query_iti45val005 If one or more DataSource parameters are present, each SHALL contain exactly one [1..1] DataSource.value parameter The value.root attribute SHALL be a valid ISO OID The value.extension attribute SHALL NOT be present self.value->select(var : II | (not var.root.oclIsUndefined()) and var.isOID(var.root) and var.extension.oclIsUndefined())->size() = 1 ERROR ITI45QueryPatientIdentifierSpec ITI45QueryPatientIdentifierSpec prpamt201307UV02-PRPAMT201307UV02PatientIdentifier constraint_ITI45Query_iti45val007 Exactly one [1..1] PatientIdentifier.value SHALL be present self.value->size()=1 ERROR ITI45QueryParameterListSpec ITI45QueryParameterListSpec prpamt201307UV02-PRPAMT201307UV02ParameterList constraint_ITI45Query_iti45val006 ParameterList SHALL have one [1..1] PatientIdentifier self.patientIdentifier->size()=1 ERROR ITI45QueryMessageSpec ITI45QueryMessageSpec prpain201309UV02-PRPAIN201309UV02MCCIMT000100UV01Message constraint_ITI45Query_iti45val012 Message.interactionId SHALL be set to PRPA_IN201309UV02 self.interactionId->forAll( ii : II | ii.extension='PRPA_IN201309UV02' ) ERROR constraint_ITI45Query_iti45val013 Message.processingModeCode.code SHALL be set to T not (self.processingModeCode.code.oclIsUndefined()) and self.processingModeCode.code='T' ERROR constraint_ITI45Query_iti45val014 Message SHALL have just one [1..1] receiver and receiver SHALL have one [1..1] device self.receiver->size()=1 ERROR ITI45Response ITI45ResponsePatientSpec ITI45ResponsePatientSpec prpamt201304UV02-PRPAMT201304UV02Patient constraint_ITI45Response_iti45val008 Patient SHALL have one or more [1..*] id and nullFlavor SHALL be undefined self.id->size()>0 and self.id->forAll(ii : II | ii.nullFlavor.oclIsUndefined() ) ERROR constraint_ITI45Response_iti45val009 Patient SHALL have one [1..1] statusCode and is value is fixed to active not (self.statusCode.oclIsUndefined()) and not (self.statusCode.code.oclIsUndefined()) and self.statusCode.code='active' ERROR constraint_ITI45Response_iti45val018 The focal entity choice is restricted to be only a person self.patientNonPersonLivingSubject.oclIsUndefined() and not (self.patientPerson.oclIsUndefined()) ERROR constraint_ITI45Response_add_patientid_ihehl7v3003 IHE requires that the Patient Identifier Cross-reference Manager populates element assigningAuthorityName of any id attribute representing a patient identifier self.id->forAll(ii: II | not (ii.assigningAuthorityName.oclIsUndefined()) ) ERROR constraint_ITI45Response_add_patientextension_ihehl7v3004 All IHE Actors are required to send the extension attribute for any id element representing a patient identifier self.id->forAll(ii: II | not (ii.extension.oclIsUndefined()) ) ERROR constraint_ITI45Response_add_patientroot_ihehl7v3002 When the Patient role is scoped by a Provider organization, only patient IDs assigned by the provider organization are allowed in the Patient class, the root element of the patient IDs shall match the root element of the provider organization ID. ( self.providerOrganization.oclIsUndefined() or self.providerOrganization.id->size() = 0 ) xor self.id->forAll(ii: II | self.providerOrganization.id->exists(orgid: II | not (orgid.root.oclIsUndefined()) and orgid.root = ii.root ) ) ERROR ITI45ResponseOtherIDsSpec ITI45ResponseOtherIDsSpec prpamt201304UV02-PRPAMT201304UV02OtherIDs constraint_ITI45Response_iti45val010 OtherIDs SHALL have one [1..1] classCode and is value is fixed to ROL not (self.classCode.oclIsUndefined()) and self.classCode='ROL' ERROR constraint_ITI45Response_iti45val011 OtherIDs SHALL have one or more [1..*] id and nullFlavor SHALL be undefined self.id->select(ii : II | ii.nullFlavor.oclIsUndefined() )->size()>0 ERROR constraint_ITI45Response_add_otherid_ihehl7v3003 IHE requires that the Patient Identifier Cross-reference Manager populates element assigningAuthorityName of any id attribute representing a patient identifier self.id->forAll(ii: II | not (ii.assigningAuthorityName.oclIsUndefined()) ) ERROR constraint_ITI45Response_add_otherextension_ihehl7v3004 All IHE Actors are required to send the extension attribute for any id element representing a patient identifier self.id->forAll(ii: II | not (ii.extension.oclIsUndefined()) ) ERROR ITI45ResponseMessageSpec ITI45ResponseMessageSpec prpain201310UV02-PRPAIN201310UV02MCCIMT000300UV01Message constraint_ITI45Response_iti45val019 Message.interactionId SHALL be set to PRPA_IN201310UV02 self.interactionId->forAll( ii : II | ii.extension='PRPA_IN201310UV02' ) ERROR constraint_ITI45Response_iti45val020 Message.processingModeCode SHALL be set to T not (self.processingModeCode.code.oclIsUndefined()) and self.processingModeCode.code='T' ERROR constraint_ITI45Response_iti45val021 Message.acceptAckCode SHALL be set to NE not (self.acceptAckCode.code.oclIsUndefined()) and self.acceptAckCode.code='NE' ERROR constraint_ITI45Response_iti45val022 Message SHALL have just one [1..1] receiver and receiver SHALL have one [1..1] device self.receiver->size()=1 ERROR ITI45ResponseControlActProcessSpec ITI45ResponseControlActProcessSpec prpain201310UV02-PRPAIN201310UV02MFMIMT700711UV01ControlActProcess constraint_ITI45Response_iti45val023 ControlActProcess.moodCode SHALL be set to EVN not (self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodIntentEvent::EVN ERROR constraint_ITI45Response_iti45val024 ControlActProcess.code.code SHALL be set to PRPA_TE201310UV02 not (self.code.oclIsUndefined()) and not (self.code.code.oclIsUndefined()) and self.code.code='PRPA_TE201310UV02' ERROR constraint_ITI45Response_iti45val025 ControlActProcess SHALL have one or zero [0..1] subject self.subject->size() < 2 ERROR constraint_ITI45Response_iti45val027 ControlActProcess SHALL have one [1..1] QueryByParameter copy of the original query. not (self.queryByParameter.oclIsUndefined()) ERROR ITI45ResponseRegistrationEventSpec ITI45ResponseRegistrationEventSpec prpain201310UV02-PRPAIN201310UV02MFMIMT700711UV01RegistrationEvent constraint_ITI45Response_iti45val026 RegistrationEvent SHALL be no replacementOf act-relationship present in this message self.replacementOf->size()=0 ERROR ITI45ResponsePersonSpec ITI45ResponsePersonSpec prpamt201304UV02-PRPAMT201304UV02Person constraint_ITI45Response_add_personid_ihehl7v3003 IHE requires that the Patient Identifier Cross-reference Manager populates element assigningAuthorityName of any id attribute representing a patient identifier self.id->forAll(ii: II | not (ii.assigningAuthorityName.oclIsUndefined()) ) ERROR constraint_ITI45Response_add_personextension_ihehl7v3004 All IHE Actors are required to send the extension attribute for any id element representing a patient identifier self.id->forAll(ii: II | not (ii.extension.oclIsUndefined()) ) ERROR ITI46UpdateNotification ITI46UpdateNotificationOtherIDsSpec ITI46UpdateNotificationOtherIDsSpec prpamt201302UV02-PRPAMT201302UV02OtherIDs constraint_iti46updatenotification_iti46val001 otherIDs.id.root SHALL be identical to scopingOrganization.id.root self.id->size() > 0 and not (self.scopingOrganization.oclIsUndefined()) and self.scopingOrganization.id->size() > 0 and self.id->forAll(ii : PRPAMT201302UV02OtherIDsId | not (ii.root.oclIsUndefined()) and self.scopingOrganization.id->select(ii2: II | not (ii.root = ii2.root))->size() = 0 ) ERROR constraint_iti46updatenotification_iti46val002 scopingOrganization.id.extension SHALL NOT have any value self.scopingOrganization.oclIsUndefined() xor (not (self.scopingOrganization.id->size() = 0) and self.scopingOrganization.id->forAll(ii: II | ii.extension.oclIsUndefined())) ERROR constraint_iti46updatenotification_otherIds_ihehl7v3003 IHE requires that the Patient Identifier Cross-reference Manager populates element assigningAuthorityName of any id attribute representing a patient identifier self.id->forAll(ii: PRPAMT201302UV02OtherIDsId | not (ii.assigningAuthorityName.oclIsUndefined())) ERROR constraint_iti46updatenotification_otherIds_ihehl7v3004 All IHE Actors are required to send the extension attribute for any id element representing a patient identifier self.id->forAll(ii: PRPAMT201302UV02OtherIDsId | not (ii.extension.oclIsUndefined())) ERROR ITI46UpdateNotificationControlActProcessSpec ITI46UpdateNotificationControlActProcessSpec prpain201302UV02-PRPAIN201302UV02MFMIMT700701UV01ControlActProcess constraint_iti46updatenotification_iti46val014 For Revise Patient Record message, the trigger event code ControlActProcess.code SHALL be set to PRPA_TE201302UV02 not (self.code.oclIsUndefined()) and not (self.code.code.oclIsUndefined()) and self.code.code = 'PRPA_TE201302UV02' ERROR ITI46UpdateNotificationHeaderSpec ITI46UpdateNotificationHeaderSpec prpain201302UV02-PRPAIN201302UV02MCCIMT000100UV01Message constraint_iti46updatenotification_iti46val010 For Revise Patient Record message, the value of interactionId SHALL be set to PRPA_IN201302UV02 not (self.interactionId.oclIsUndefined()) and not (self.interactionId.extension.oclIsUndefined()) and self.interactionId.extension = 'PRPA_IN201302UV02' ERROR constraint_iti46updatenotification_iti46val011 The value of processingModeCode SHALL be set to T not (self.processingModeCode.oclIsUndefined()) and not (self.processingModeCode.code.oclIsUndefined()) and self.processingModeCode.code = 'T' ERROR constraint_iti46updatenotification_iti46val012 The value of acceptAckCode SHALL be set to AL not (self.acceptAckCode.oclIsUndefined()) and not (self.acceptAckCode.code.oclIsUndefined()) and self.acceptAckCode.code = 'AL' ERROR constraint_iti46updatenotification_iti46val013 There SHALL be only one receiver Device self.receiver->size() = 1 ERROR ITI46UpdateNotificationPatientSpec ITI46UpdateNotificationPatientSpec prpamt201302UV02-PRPAMT201302UV02Patient constraint_iti46updatenotification_iti46val006 The focal entity choice is restricted to be only a person not (self.patientPerson.oclIsUndefined()) and self.patientNonPersonLivingSubject.oclIsUndefined() ERROR constraint_iti46updatenotification_iti46val007 Patient.statusCode attribute is fixed to 'active' not (self.statusCode.oclIsUndefined()) and not (self.statusCode.code.oclIsUndefined()) and self.statusCode.code = 'active' ERROR constraint_iti46updatenotification_iti46val005 At least one of the id attributes of the Patient class SHALL have a root component matching the value of ProviderOrganization.id.root (self.providerOrganization.oclIsUndefined() or self.providerOrganization.id->size() = 0 or self.id->size() = 0) xor (self.id->exists(pid: PRPAMT201302UV02PatientId | not (pid.root.oclIsUndefined()) and self.providerOrganization.id->exists(ii: II | not (ii.root.oclIsUndefined()) and ii.root = pid.root) ) ) ERROR constraint_iti46updatenotification_patientid_ihehl7v3003 IHE requires that the Patient Identifier Cross-reference Manager populates element assigningAuthorityName of any id attribute representing a patient identifier self.id->forAll(ii: PRPAMT201302UV02PatientId | not (ii.assigningAuthorityName.oclIsUndefined())) ERROR constraint_iti46updatenotification_patientid_ihehl7v3004 All IHE Actors are required to send the extension attribute for any id element representing a patient identifier self.id->forAll(ii: PRPAMT201302UV02PatientId | not (ii.extension.oclIsUndefined())) ERROR constraint_iti46updatenotification_ihehl7v3002 When the Patient role is scoped by a Provider organization, only patient IDs assigned by the provider organization are allowed in the Patient class, the root element of the patient IDs shall match the root element of the provider organization ID. (self.providerOrganization.oclIsUndefined() or self.providerOrganization.id->size() = 0) xor self.id->forAll(ii: PRPAMT201302UV02PatientId | self.providerOrganization.id->exists(orgid: II | not (orgid.root.oclIsUndefined()) and orgid.root = ii.root)) ERROR ITI46UpdateNotificationPersonSpec ITI46UpdateNotificationPersonSpec prpamt201302UV02-PRPAMT201302UV02Person constraint_iti46updatenotification_iti46val008 patientPerson.classCode attribute is mandatory not (self.classCode.oclIsUndefined()) ERROR constraint_iti46updatenotification_iti46val009 patientPerson.determinerCode attribute is mandatory not (self.determinerCode.oclIsUndefined()) ERROR constraint_iti46updatenotification_personid_ihehl7v3003 IHE requires that the Patient Identifier Cross-reference Manager populates element assigningAuthorityName of any id attribute representing a patient identifier self.id->forAll(ii: PRPAMT201302UV02PersonId | not (ii.assigningAuthorityName.oclIsUndefined())) ERROR constraint_iti46updatenotification_personid_ihehl7v3004 All IHE Actors are required to send the extension attribute for any id element representing a patient identifier self.id->forAll(ii: PRPAMT201302UV02PersonId | not (ii.extension.oclIsUndefined())) ERROR ITI46UpdateNotificationRegistrationEventSpec ITI46UpdateNotificationRegistrationEventSpec prpain201302UV02-PRPAIN201302UV02MFMIMT700701UV01RegistrationEvent constraint_iti46updatenotification_iti46val015 RegistrationEvent.statusCode SHALL be set to active not (self.statusCode.oclIsUndefined()) and not (self.statusCode.code.oclIsUndefined()) and self.statusCode.code = 'active' ERROR constraint_iti46updatenotification_iti46val016 There SHALL be no ReplacementOf act relationship for the Add Patient Record and Revise Patient Record interactions. self.replacementOf->size() = 0 ERROR constraint_iti46updatenotification_ihehl7v3008 RegistrationEvent.effectiveTime and the author.time SHALL be valued with the same time expression ((self.effectiveTime.oclIsUndefined() or self.effectiveTime.value.oclIsUndefined()) or (self.author.oclIsUndefined() or self.author.time.oclIsUndefined() or self.author.time.value.oclIsUndefined())) or (self.effectiveTime.value = self.author.time.value) ERROR ITI46UpdateNotificationContactPartySpec ITI46UpdateNotificationContactPartySpec coctmt150003UV03-COCTMT150003UV03ContactParty constraint_iti46updatenotification_iti46val003 The Provider Organization needs to be identified by at least one of address, telecommunications address, or contact person. not (self.contactPerson.oclIsUndefined()) or self.telecom->size() > 0 or self.addr->size() > 0 ERROR ITI46UpdateNotificationOrganizationSpec ITI46UpdateNotificationOrganizationSpec coctmt150003UV03-COCTMT150003UV03Organization constraint_iti46updatenotification_iti46val004 The id attribute of Provider Organization shall have only a root self.id->forAll(ii : II | not (ii.root.oclIsUndefined()) and ii.assigningAuthorityName.oclIsUndefined() and ii.extension.oclIsUndefined() and ii.displayable.oclIsUndefined() ) ERROR constraint_iti46updatenotification_iti46val017 The id/@root attribute of Provider Organization shall be expressed as an ISO OID self.id->forAll(ii : II | not ii.root.oclIsUndefined() and ii.isOID(ii.root) ) ERROR ITI46UpdateNotificationSubject1Spec ITI46UpdateNotificationSubject1Spec prpain201302UV02-PRPAIN201302UV02MFMIMT700701UV01Subject1 constraint_iti46updatenotification_ihehl7v3006 The context conduction Indicator value in the MFMI_MT700701UV01 control act wrapper is mandatory and SHALL be false not (self.contextConductionInd.oclIsUndefined()) and not (self.contextConductionInd) ERROR mccimt000100UV01 MCCIMT000100UV01DeviceSpec MCCIMT000100UV01DeviceSpec mccimt000100UV01-MCCIMT000100UV01Device constraint_mccimt000100UV01_deviceId IHE restriction: id.root SHALL be an ISO OID, and id.extension SHALL not have a value (Table O.1.1-1: Model Attributes) self.id->forAll(ii : II | not ii.root.oclIsUndefined() and ii.isOID(ii.root) and ii.extension.oclIsUndefined() ) ERROR MCCIMT000100UV01OrganizationSpec MCCIMT000100UV01OrganizationSpec mccimt000100UV01-MCCIMT000100UV01Organization constraint_mccimt000100UV01_organizationId IHE restriction: id.root SHALL be an ISO OID, and id.extension SHALL NOT have a value self.id->forAll(ii : II | not ii.root.oclIsUndefined() and ii.isOID(ii.root) and ii.extension.oclIsUndefined() ) ERROR MCCIMT000100UV01ReceiverSpec MCCIMT000100UV01ReceiverSpec mccimt000100UV01-MCCIMT000100UV01Receiver constraint_mccimt000100UV01_receiverTypeCode typeCode attribute of receiver SHALL be equal to RCV (Table O.1.1-1: Model attributes) self.typeCode=CommunicationFunctionType::RCV ERROR MCCIMT000100UV01SenderSpec MCCIMT000100UV01SenderSpec mccimt000100UV01-MCCIMT000100UV01Sender constraint_mccimt000100UV01_senderTypeCode typeCode attribute of device SHALL be equal to RCV (Table O.1.1-1: Model attributes) self.typeCode=CommunicationFunctionType::SND ERROR mccimt000200UV01 MCCIMT000200UV01AcknowledgementSpec MCCIMT000200UV01AcknowledgementSpec mccimt000200UV01-MCCIMT000200UV01Acknowledgement constraint_mccimt000200UV01_acknowledgementTypeCodeValue The acknowledgement type. Since this is an Accept Acknowledgement, the possible values are CA (Accept Acknowledgement Commit Accept), CE (Accept Acknowledgement Commit Error), or CR (Accept Acknowledgement Commit Reject). Table O.1.2-1 not self.typeCode.oclIsUndefined() and not self.typeCode.code.oclIsUndefined() and ( self.typeCode.code='CA' or self.typeCode.code='CE' or self.typeCode.code='CR' ) ERROR MCCIMT000200UV01ReceiverSpec MCCIMT000200UV01ReceiverSpec mccimt000200UV01-MCCIMT000200UV01Receiver constraint_mccimt000200UV01_receiverTypeCode typeCode attribute of receiver SHALL be equal to RCV (Table O.1.1-1: Model attributes) self.typeCode=CommunicationFunctionType::RCV ERROR MCCIMT000200UV01SenderSpec MCCIMT000200UV01SenderSpec mccimt000200UV01-MCCIMT000200UV01Sender constraint_mccimt000200UV01_senderTypeCode typeCode attribute of device SHALL be equal to RCV (Table O.1.1-1: Model attributes) self.typeCode=CommunicationFunctionType::SND ERROR MCCIMT000200UV01DeviceSpec MCCIMT000200UV01DeviceSpec mccimt000200UV01-MCCIMT000200UV01Device constraint_mccimt000200UV01_deviceId IHE restriction: id.root SHALL be an ISO OID, and id.extension SHALL not have a value (Table O.1.1-1: Model Attributes) self.id->forAll(ii : II | not ii.root.oclIsUndefined() and ii.isOID(ii.root) and ii.extension.oclIsUndefined() ) ERROR MCCIMT000200UV01OrganizationSpec MCCIMT000200UV01OrganizationSpec mccimt000200UV01-MCCIMT000200UV01Organization constraint_mccimt000200UV01_organizationId IHE restriction: id.root SHALL be an ISO OID, and id.extension SHALL NOT have a value self.id->forAll(ii : II | not ii.root.oclIsUndefined() and ii.isOID(ii.root) and ii.extension.oclIsUndefined() ) ERROR mccimt000300UV01 MCCIMT000300UV01ReceiverSpec MCCIMT000300UV01ReceiverSpec mccimt000300UV01-MCCIMT000300UV01Receiver constraint_mccimt000300UV01_receiverTypeCode typeCode attribute of receiver SHALL be equal to RCV (Table O.1.1-1: Model attributes) self.typeCode=CommunicationFunctionType::RCV ERROR MCCIMT000300UV01SenderSpec MCCIMT000300UV01SenderSpec mccimt000300UV01-MCCIMT000300UV01Sender constraint_mccimt000300UV01_senderTypeCode typeCode attribute of device SHALL be equal to RCV (Table O.1.1-1: Model attributes) self.typeCode=CommunicationFunctionType::SND ERROR MCCIMT000300UV01DeviceSpec MCCIMT000300UV01DeviceSpec mccimt000300UV01-MCCIMT000300UV01Device constraint_mccimt000300UV01_deviceId IHE restriction: id.root SHALL be an ISO OID, and id.extension SHALL not have a value (Table O.1.1-1: Model Attributes) self.id->forAll(ii : II | not ii.root.oclIsUndefined() and ii.isOID(ii.root) and ii.extension.oclIsUndefined() ) ERROR MCCIMT000300UV01OrganizationSpec MCCIMT000300UV01OrganizationSpec mccimt000300UV01-MCCIMT000300UV01Organization constraint_mccimt000300UV01_organizationId IHE restriction: id.root SHALL be an ISO OID, and id.extension SHALL NOT have a value self.id->forAll(ii : II | not ii.root.oclIsUndefined() and ii.isOID(ii.root) and ii.extension.oclIsUndefined() ) ERROR mfmimt700701UV01 MFMIMT700701UV01CustodianSpec MFMIMT700701UV01CustodianSpec mfmimt700701UV01-MFMIMT700701UV01Custodian constraint_hl7v3common_custodianAssignedEntity The assigned entity for this participant SHALL be either an organization or a device (Table O.2.1-1: Model Attributes) if (not self.assignedEntity.oclIsUndefined()) then self.assignedEntity.assignedPerson.oclIsUndefined() else self.assignedEntity.oclIsUndefined() endif ERROR MFMIMT700701UV01PriorRegistrationSpec MFMIMT700701UV01PriorRegistrationSpec mfmimt700701UV01-MFMIMT700701UV01PriorRegistration constraint_mfmimt700701UV01_priorRegistrationStatusCode PriorRegistration SHALL have a statusCode attribute (Table O.2.1-1: Model Attributes) not self.statusCode.oclIsUndefined() ERROR mfmimt700711UV01 MFMIMT700711UV01QueryAckSpec MFMIMT700711UV01QueryAckSpec mfmimt700711UV01-MFMIMT700711UV01QueryAck constraint_mfmimt700711UV01_queryAckQueryIdCardinality QueryId SHALL have a queryId attribute (Table O.2.2-2) not self.queryId.oclIsUndefined() ERROR constraint_mfmimt700711UV01_queryAckStatusCode QueryAck SHALL have a statusCode attribute (Table O.2.2-2) not self.statusCode.oclIsUndefined() ERROR MFMIMT700711UV01PriorRegistrationSpec MFMIMT700711UV01PriorRegistrationSpec mfmimt700711UV01-MFMIMT700711UV01PriorRegistration constraint_mfmimt700711UV01_priorRegistrationStatusCodeCardinality statusCode attribute SHALL be present (Table O.2.2-2) not self.statusCode.oclIsUndefined() ERROR pdqv3 pdqv3Continuation PDQv3ContinuationHeaderSpec PDQv3ContinuationHeaderSpec quqiin000003UV01-QUQIIN000003UV01Type constraint_pdqv3continuation_acceptAckCode acceptAckCode SHALL be set to AL (Table 3.47.4.3.2-1: Wrappers and Constraints) not self.acceptAckCode.oclIsUndefined() and not self.acceptAckCode.code.oclIsUndefined() and self.acceptAckCode.code='AL' ERROR constraint_pdqv3continuation_acknowledgementCardinality Exactly one acknowledgement SHALL be present (Figure O.1.3-2: Message Information Model) self.acknowledgement->size()=1 ERROR constraint_pdqv3continuation_receiverCardinality message SHALL contain exactly one receiver (Figure O-1.3-2: Message Information Model) self.receiver->size() = 1 ERROR constraint_pdqv3continuation_interactionId The value of interactionId SHALL be set to QUQI_IN000003UV01 (Table 3.47.4.3.2-1: Wrappers and Constraints) not self.interactionId.oclIsUndefined() and not self.interactionId.extension.oclIsUndefined() and self.interactionId.extension='QUQI_IN000003UV01' ERROR constraint_pdqv3continuation_processingModeCode The value of processingModeCode SHALL be set to T (Table 3.47.4.3.2-1: Wrappers and Constraints) not self.processingModeCode.oclIsUndefined() and not self.processingModeCode.code.oclIsUndefined() and self.processingModeCode.code='T' ERROR PDQv3ContinuationControlActProcessSpec PDQv3ContinuationControlActProcessSpec quqimt000001UV01-QUQIMT000001UV01ControlActProcess constraint_pdqv3continuation_triggerEventCode The trigger event code in ControlActProcess.code SHALL be set to PRPA_TE000003UV01 (Table 3.47.4.3.2-1: Wrappers and Constraints) not self.code.oclIsUndefined() and not self.code.code.oclIsUndefined() and self.code.code='PRPA_TE000003UV01' ERROR PDQv3ContinuationAcknowledgementSpec PDQv3ContinuationAcknowledgementSpec mccimt000300UV01-MCCIMT000300UV01Acknowledgement constraint_pdqv3continuation_acknowledgementTypeCode The Acknowledgement.typeCode SHALL be set to AA not self.typeCode.oclIsUndefined() and not self.typeCode.code.oclIsUndefined() and self.typeCode.code='AA' ERROR pdqv3Query PDQv3QueryHeaderSpec PDQv3QueryHeaderSpec prpain201305UV02-PRPAIN201305UV02Type constraint_pdqv3query_interactionId The value of interactionId SHALL be set to PRPA_IN201305UV02 (Table 3.47.4.1.2-7: Wrappers and Constraints) not (self.interactionId.oclIsUndefined()) and not (self.interactionId.extension.oclIsUndefined()) and self.interactionId.extension='PRPA_IN201305UV02' ERROR constraint_pdqv3query_processingModeCode The value of processingModeCode SHALL be set to T (Table 3.47.4.1.2-7: Wrappers and Constraints) self.processingModeCode.oclIsUndefined() or (not (self.processingModeCode.code.oclIsUndefined()) and self.processingModeCode.code='T') ERROR constraint_pdqv3query_acceptAckCode The acceptAckCode SHALL be set to AL (Table 3.47.4.1.2-7: Wrappers and Constraints) not(self.acceptAckCode.oclIsUndefined()) and not (self.acceptAckCode.code.oclIsUndefined()) and self.acceptAckCode.code='AL' ERROR constraint_pdqv3query_receiverDevice There SHALL be only one receiver device (Table 3.47.4.1.2-7: Wrappers and Constraints) self.receiver->size()=1 ERROR constraint_pdqv3query_processingCode Valid values are D (Debugging), T (Testing), P (Production) (Table O.1.1-1: Model Attributes) not self.processingCode.oclIsUndefined() and not self.processingCode.code.oclIsUndefined() and (self.processingCode.code='D' or self.processingCode.code='T' or self.processingCode.code='P') ERROR PDQv3QueryControlActProcessSpec PDQv3QueryControlActProcessSpec prpain201305UV02-PRPAIN201305UV02QUQIMT021001UV01ControlActProcess constraint_pdqv3query_controlActProcessCode The trigger event code in ControlActProcess/code/@code SHALL be set to PRPA_TE201305UV02 (Table 3.47.4.1.2-7: Wrappers and Constraints) not (self.code.oclIsUndefined()) and not (self.code.code.oclIsUndefined()) and self.code.code='PRPA_TE201305UV02' ERROR constraint_pdqv3query_queryByParameter QueryByParameter SHALL be present (Figure O-2.3-3: Message information model) not self.queryByParameter.oclIsUndefined() ERROR QueryByParameterSpec QueryByParameterSpec prpamt201306UV02-PRPAMT201306UV02QueryByParameter constraint_pdqv3query_responsePriorityCode The Patient Demographics Supplier is required to send an immediate response ie responsePriorityCode SHALL be set to I self.responsePriorityCode.oclIsUndefined() or (not(self.responsePriorityCode.code.oclIsUndefined()) and self.responsePriorityCode.code='I') ERROR constraint_pdqv3query_responseModalityCode The mode of the response SHALL always be real-time ie responseModalityCode SHALL be set to R (Table 3.47.4.1.2-1: Model Attributes) self.responseModalityCode.oclIsUndefined() or (not self.responseModalityCode.code.oclIsUndefined() and self.responseModalityCode.code='R') ERROR constraint_pdqv3query_responseModalityCodeCardinality The responseModalityCode element of the QueryByParameter element is required to be sent (Table 3.47.4.1.2-1) not(self.responseModalityCode.oclIsUndefined()) ERROR constraint_pdqv3query_responsePriorityCodeCardinality responsePriorityCode element of the QueryByParameter element is required to be sent (Table 3.47.4.1.2-1) not self.responseModalityCode.oclIsUndefined() ERROR authorOrPerformerSpec authorOrPerformerSpec quqimt021001UV01-QUQIMT021001UV01AuthorOrPerformer constraint_pdqv3query_authorOrPerformerTypeCode The value of authorOrPerformer.typeCode SHALL be set to AUT (Table 3.47.4.1.2-7: Wrappers and Constraints) not (self.typeCode.oclIsUndefined()) and self.typeCode=XParticipationAuthorPerformer::AUT ERROR ParameterListSpec ParameterListSpec prpamt201306UV02-PRPAMT201306UV02ParameterList constraint_pdqv3query_livingSubjectAdministrativeGender If present livingSubjectAdministrativeGender element SHALL NOT be repeated (Figure 3.47.4.1.2-1: Message Information Model for the Query by Demographics message - ITI TF-2b) self.livingSubjectAdministrativeGender->size() <= 1 ERROR constraint_pdqv3query_patientAddress PatientAddress SHALL NOT be repeated [0..1] (Figure 3.47.4.1.2-1: Message Information Model for the Query by Demographics message - ITI TF-2b) self.patientAddress->size() <= 1 ERROR constraint_pdqv3query_livingSubjectBirthTime LivingSubjectBirthTime SHALL NOT be repeated [0..1] (Figure 3.47.4.1.2-1: Message Information Model for the Query by Demographics message - ITI TF-2b) self.livingSubjectBirthTime->size() <= 1 ERROR constraint_pdqv3query_patientTelecom PatientTelecom SHALL NOT be repeated [0..1] (Section 3.47.4.1.2.2 - ITI TF-2b) self.patientTelecom->size() <= 1 ERROR constraint_pdqv3query_principalCareProviderId PrincipalCareProviderId SHALL NOT be repeated [0..1] (Section 3.47.4.1.2.2 - ITI TF-2b) self.principalCareProviderId->size() <= 1 ERROR constraint_pdqv3query_principalCareProvisionId PrincipalCareProvisionId SHALL NOT be repeated [0..1] (Section 3.47.4.1.2.2 - ITI TF-2b) self.principalCareProvisionId->size() <= 1 ERROR constraint_pdqv3query_mothersMaidenName MothersMaidenName SHALL NOT be repeated [0..1] (Section 3.47.4.1.2.2 - ITI TF-2b) self.mothersMaidenName->size() <= 1 ERROR constraint_pdqv3query_livingSubjectDeceasedTime LivingSubjectDeceasedTime SHALL NOT be repeated [0..1] (Section 3.47.4.1.2.2 - ITI TF-2b) self.livingSubjectDeceasedTime->size() <= 1 ERROR constraint_pdqv3query_patientStatusCode PatientStatusCode SHALL NOT be repeated [0..1] (Section 3.47.4.1.2.2 - ITI TF-2b) self.patientStatusCode->size() <= 1 ERROR constraint_pdqv3query_livingSubjectBirthPlaceName LivingSubjectBirthPlaceName SHALL NOT be repeated [0..1] (Section 3.47.4.1.2.2 - ITI TF-2b) self.livingSubjectBirthPlaceName->size() <= 1 ERROR constraint_pdqv3query_livingSubjectBirthPlaceAddress LivingSubjectBirthPlaceAddress SHALL NOT be repeated [0..1] (Section 3.47.4.1.2.2 - ITI TF-2b) self.livingSubjectBirthPlaceAddress->size() <= 1 ERROR MatchAlgorithmSpec MatchAlgorithmSpec prpamt201306UV02-PRPAMT201306UV02MatchAlgorithm constraint_pdqv3query_matchAlgorithmValue The data type of MatchAlgorithm.value is constrained to ST (Section 3.47.4.1.2.2 - ITI TF-2b) self.value.oclIsKindOf(ST) ERROR MinimumDegreeMatchSpec MinimumDegreeMatchSpec prpamt201306UV02-PRPAMT201306UV02MinimumDegreeMatch constraint_pdqv3query_minimumDegreeMatchValue The data type of MinimumDegreeMatch.value is constraint to INT self.value.oclIsKindOf(INT) ERROR LivingSubjectNameSpec LivingSubjectNameSpec prpamt201306UV02-PRPAMT201306UV02LivingSubjectName constraint_pdqv3query_livingSubjectNameValueType The data type of LivingSubjectName.value is constraint to PN (Section 3.47.4.1.2.2 - ITI TF-2b) self.value->forAll(en : EN | not (en.oclIsKindOf(TN) or en.oclIsKindOf(ON)) ) ERROR constraint_pdqv3query_livingSubjectNameValueCardinality Exactly one value attribute SHALL be present in LivingSubjectName parameter (Section 3.47.4.1.2.2 - ITI TF-2b) self.value->size() = 1 ERROR LivingSubjetBirthPlaceAddressSpec LivingSubjetBirthPlaceAddressSpec prpamt201306UV02-PRPAMT201306UV02LivingSubjectBirthPlaceAddress constraint_pdqv3Query_livingSubjectBirthPlaceAddressValueCardinality Exactly one value attribute SHALL be present in LivingSubjectBirthPlaceAddress parameter (Section 3.47.4.1.2.2 - ITI TF-2b) self.value->size() = 1 ERROR LivingSubjectBirthTimeSpec LivingSubjectBirthTimeSpec prpamt201306UV02-PRPAMT201306UV02LivingSubjectBirthTime constraint_pdqv3query_livingSubjectBirthTimeValueCardinality Exactly one value attribute SHALL be present in LivingSubjectBirthTime parameter (Section 3.47.4.1.2.2 - ITI TF-2b) self.value->size() = 1 ERROR LivingSubjectDeceasedTimeSpec LivingSubjectDeceasedTimeSpec prpamt201306UV02-PRPAMT201306UV02LivingSubjectDeceasedTime constraint_pdqv3query_livingSubjectDeceasedTimeValueCardinality Exactly one value attribute SHALL be present in LivingSubjectDeceasedTime parameter (Section 3.47.4.1.2.2 - ITI TF-2b) self.value->size() = 1 ERROR LivingSubjectIdSpec LivingSubjectIdSpec prpamt201306UV02-PRPAMT201306UV02LivingSubjectId constraint_pdqv3query_livingSubjectIdValueCardinality Exactly one value attribute SHALL be present in LivingSubjectId parameter (Section 3.47.4.1.2.2 - ITI TF-2b) self.value->size() = 1 ERROR constraint_pdqv3query_livingSubjectIdValueFormat IHE requirements for patient identifiers: value.root attribute SHALL be present and format as a valid ISO OID, and extension SHALL be present (Table E-2.2-2) self.value->forAll(ii : II | not ii.root.oclIsUndefined() and ii.isOID(ii.root) and not(ii.extension.oclIsUndefined()) ) ERROR OtherIDsScopingOrganizationSpec OtherIDsScopingOrganizationSpec prpamt201306UV02-PRPAMT201306UV02OtherIDsScopingOrganization constraint_pdqv3query_otherIDsScopingOrganizationValueCardinality Exactly one value attribute SHALL be present in OtherIDsScopingOrganization parameter (Section 3.47.4.1.2.2 - ITI TF-2b) self.value->size() = 1 ERROR contraint_pdqv3query_otherIDsScopingOrganizationValueFormat IHE restriction: The value.root attribute SHALL be a valid ISO OID, and the value.extension attribute SHALL NOT be present (Table 3.47.4.1.2-1 from TF ITI-2b) self.value->forAll(ii : II | not ii.root.oclIsUndefined() and ii.isOID(ii.root) and ii.extension.oclIsUndefined() ) ERROR MothersMaidenNameSpec MothersMaidenNameSpec prpamt201306UV02-PRPAMT201306UV02MothersMaidenName constraint_pdqv3query_mothersMaidenNameValueCardinality Exactly one value attribute SHALL be present in MothersMaidenName parameter (Section 3.47.4.1.2.2 - ITI TF-2b) self.value->size() = 1 ERROR PatientAddressSpec PatientAddressSpec prpamt201306UV02-PRPAMT201306UV02PatientAddress constraint_pdqv3query_patientAddressValueCardinality Exactly one value attribute SHALL be present in PatientAddress parameter (Section 3.47.4.1.2.2 - ITI TF-2b) self.value->size() = 1 ERROR PatientTelecomSpec PatientTelecomSpec prpamt201306UV02-PRPAMT201306UV02PatientTelecom constraint_pdqv3query_patientTelecomValueCardinality Exactly one value attribute SHALL be present in PatientTelecom parameter (Section 3.47.4.1.2.2 - ITI TF-2b) self.value->size() = 1 ERROR PrincipalCareProviderIdSpec PrincipalCareProviderIdSpec prpamt201306UV02-PRPAMT201306UV02PrincipalCareProviderId constraint_pdqv3query_principalCareProviderIdValueCardinality Exactly one value attribute SHALL be present in PrincipalCareProviderId parameter (Section 3.47.4.1.2.2 - ITI TF-2b) self.value->size() = 1 ERROR PrincipalCareProvisionIdSpec PrincipalCareProvisionIdSpec prpamt201306UV02-PRPAMT201306UV02PrincipalCareProvisionId constraint_pdqv3query_principalCareProvisionIdValueCardinality Exactly one value attribute SHALL be present in PrincipalCareProvisionId parameter (Section 3.47.4.1.2.2 - ITI TF-2b) self.value->size() = 1 ERROR pdqv3Response PDQv3ResponseHeaderSpec PDQv3ResponseHeaderSpec prpain201306UV02-PRPAIN201306UV02Type constraint_pdqv3response_acceptAckCode acceptAckCode SHALL be set to NE as this is an acknowledgment itself (Table O-1.3-2: Model Attributes) not self.acceptAckCode.oclIsUndefined() and not self.acceptAckCode.code.oclIsUndefined() and self.acceptAckCode.code='NE' ERROR constraint_pdqv3response_receiverCardinality message SHALL contain exactly one receiver (Figure O-1.3-2: Message Information Model) self.receiver->size() = 1 ERROR constraint_pdqv3response_acknowledgementCardinality Exactly one acknowledgement SHALL be present (Figure O.1.3-2: Message Information Model) self.acknowledgement->size()=1 ERROR constraint_pdqv3response_interactionIdValue The value of interactionId SHALL be set to PRPA_IN201306UV02 (Table 3.47.4.2.2-9: Wrappers and Constraints - ITI-2b) not self.interactionId.oclIsUndefined() and not self.interactionId.extension.oclIsUndefined() and self.interactionId.extension='PRPA_IN201306UV02' ERROR constraint_pdqv3response_processingModeCodeValue The value of processingModeCode SHALL be set to T (Table 3.47.4.2.2-9: Wrappers and Constraints - ITI-2b) not self.processingModeCode.oclIsUndefined() and not self.processingModeCode.code.oclIsUndefined() and self.processingModeCode.code='T' ERROR Subject1Spec Subject1Spec prpain201306UV02-PRPAIN201306UV02MFMIMT700711UV01Subject1 constraint_pdqv3response_contextConductionIndCardinality Subject SHALL contain exactly one contextConductionInd attribute (Table O.2.2-2) not self.contextConductionInd.oclIsUndefined() ERROR constraint_pdqv3response_contextConductionIndValue The context conduction Indicator value in this control act wrapper SHALL be 'false' (Table O.2.2-2) not self.contextConductionInd.oclIsUndefined() and self.contextConductionInd=false ERROR PatientSpec PatientSpec prpamt201310UV02-PRPAMT201310UV02Patient constraint_pdqv3response_patientsProviderOrganizationCardinality Patient SHALL have exactly one providerOrganization attribute (Figure 3.47.2.2.-1: Message Information Model for the Patient Registry Find Candidates Response message) not self.providerOrganization.oclIsUndefined() ERROR constraint_pdqv3response_patientStatusCodeValue statusCode SHALL be set to 'active' (Table 3.47.4.2.2-8: Model Attributes - ITI-2b) not self.statusCode.oclIsUndefined() and not self.statusCode.code.oclIsUndefined() and self.statusCode.code='active' ERROR constraint_pdqv3response_patientPersonCardinality Patient SHALL have exactly one patientPerson attribute (Figure 3.47.4.2.2-1: Message Information Model for the Patient Registry Find Candidates Response message) not self.patientPerson.oclIsUndefined() and self.patientNonPersonLivingSubject.oclIsUndefined() ERROR PersonSpec PersonSpec prpamt201310UV02-PRPAMT201310UV02Person constraint_pdqv3response_personClassCode patientPerson/@classCode SHALL be present (Table 3.47.4.2.2-8: Model Attributes - ITI-2b) not self.classCode.oclIsUndefined() ERROR constraint_pdqv3response_personDeterminerCode patientPerson/@determinerCode SHALL be present (Table 3.47.4.2.2-8: Model Attributes - ITI-2b) not self.determinerCode.oclIsUndefined() ERROR PersonRelationshipSpec PersonRelationshipSpec prpamt201310UV02-PRPAMT201310UV02PersonalRelationship constraint_pdqv3response_personalRelationshipClassCode personRelationship/@classCode SHALL be present (Table 3.47.4.2.2-8: Model Attributes - ITI-2b) not self.classCode.oclIsUndefined() ERROR CitizenSpec CitizenSpec prpamt201310UV02-PRPAMT201310UV02Citizen constraint_pdqv3response_citizenClassCode asCitizen/@classCode SHALL be present (Table 3.47.4.2.2-8: Model Attributes - ITI-2b) not self.classCode.oclIsUndefined() ERROR NationSpec NationSpec prpamt201310UV02-PRPAMT201310UV02Nation constraint_pdqv3response_nationClassCode politicalNation/@classCode SHALL be present (Table 3.47.4.2.2-8: Model Attributes - ITI-2b) not self.classCode.oclIsUndefined() ERROR constraint_pdqv3response_nationDeterminerCode politicalNation/@determinerCode SHALL be present (Table 3.47.4.2.2-8: Model Attributes - ITI-2b) not self.determinerCode.oclIsUndefined() ERROR PDQv3ResponseControlActProcessSpec PDQv3ResponseControlActProcessSpec prpain201306UV02-PRPAIN201306UV02MFMIMT700711UV01ControlActProcess constraint_pdqv3response_controlActProcessCodeValue The trigger event code in Control Act Process.code SHALL be set to PRPA_TE201306UV02 (Table 3.47.4.2.2-9: Wrappers and Constraints - ITI-2b) not self.code.oclIsUndefined() and not self.code.code.oclIsUndefined() and self.code.code='PRPA_TE201306UV02' ERROR constraint_pdqv3response_queryByParameterCardinality The SHALL be a QueryByParameter copy of the original query (Table 3.47.4.2.2-9: Wrappers and Constraints - ITI-2b) not self.queryByParameter.oclIsUndefined() ERROR RegistrationEventSpec RegistrationEventSpec prpain201306UV02-PRPAIN201306UV02MFMIMT700711UV01RegistrationEvent constraint_pdqv3response_replaceOfActRelationship There SHALL be NO replacementOf act-relationship present in this message (Table 3.47.4.2.2-9: Wrappers and Constraints - ITI-2b) self.replacementOf->size() = 0 ERROR PDQv3ResponseAcknowledgementSpec PDQv3ResponseAcknowledgementSpec mccimt000300UV01-MCCIMT000300UV01Acknowledgement constraint_pdqv3response_acknowledgmentTypeCodeValue Since this is an Accept Acknowledgement, the possible values are AA, AE or AR (A reference is needed there) not self.typeCode.oclIsUndefined() and not self.typeCode.code.oclIsUndefined() and ( self.typeCode.code='AA' or self.typeCode.code='AE' or self.typeCode.code='AR' ) ERROR QueryMatchObservationSpec QueryMatchObservationSpec prpamt201310UV02-PRPAMT201310UV02QueryMatchObservation constraint_pdqv3response_valueDatatype A numeric value indicating the quality of the mathch for this record. Datatype of value attribute SHALL be INT. Table 3.47.4.2.2-8 self.value.oclIsKindOf(INT) ERROR pixv3 quqimt000001UV01 QueryContinuationSpec QueryContinuationSpec quqimt000001UV01-QUQIMT000001UV01QueryContinuation constraint_quqimt000001UV01_queryContinuationQueryIdCardinality QueryContinuation SHALL have a queryId attribute (Table O.2.4-4: Model Attributes) not self.queryId.oclIsUndefined() ERROR constraint_quqimt000001UV01_queryContinuationStatusCodeValue Default value of queryContinuation/statusCode is 'waitContinuedQueryResponse'; the only other possible value is 'aborted', indicating taht no more results are needed from the query fulfiller (Table O.2.4-4: Model Attributes) not self.statusCode.oclIsUndefined() and not self.statusCode.code.oclIsUndefined() and ( self.statusCode.code='waitContinuedQueryResponse' or self.statusCode.code='aborted' ) ERROR xcpd xcpdDeferredResponse XCPDDeferredResponseQueryByParameterSpec XCPDDeferredResponseQueryByParameterSpec prpamt201306UV02-PRPAMT201306UV02QueryByParameter constraint_xcpddeferred_responsePriorityCodeValue reponsePriorityCode SHALL be valued with D to indicate the Responding Gateway is required to send a deferred response (Table 3.55.4.1.2-1) not (self.responsePriorityCode.oclIsUndefined()) and not(self.responsePriorityCode.code.oclIsUndefined()) and self.responsePriorityCode.code='D' ERROR XCPDDeferredResponseHeaderSpec XCPDDeferredResponseHeaderSpec prpain201305UV02-PRPAIN201305UV02MCCIMT000100UV01Message contraint_xcpddeferred_respondToCardinality The respondTo element of the transmission wrapper SHALL be present (Section 3.55.6.2) self.respondTo->size() > 0 ERROR XCPDDeferredResponseRespondToSpec XCPDDeferredResponseRespondToSpec mccimt000100UV01-MCCIMT000100UV01RespondTo constraint_xcpddeferred_respondToTelecomCardinality The respondTo element SHALL contain a telecom element (Section 3.55.6.2) not (self.telecom.oclIsUndefined()) ERROR constraint_xcpddeferred_respondToTypeCodeValue typeCode attribute of respondTo element SHALL be set to 'RSP' not (self.typeCode.oclIsUndefined()) and self.typeCode=CommunicationFunctionType::RSP ERROR XCPDDeferredResponseEntityRspSpec XCPDDeferredResponseEntityRspSpec mccimt000100UV01-MCCIMT000100UV01EntityRsp constraint_xcpddeferred_entityRspClassCodeValue entityRsp classCode SHALL be set to "ENT" not (self.classCode.oclIsUndefined()) and self.classCode=EntityClassRoot::ENT ERROR xcpdPatientDiscoveryQuery XCPDQueryQueryByParameterSpec XCPDQueryQueryByParameterSpec prpamt201306UV02-PRPAMT201306UV02QueryByParameter constraint_xcpdquery_responseModalityCodeValue The mode of the response SHALL always be real-time ie responseModalityCode SHALL be set to R (Table 3.55.4.1.2-1) not(self.responseModalityCode.oclIsUndefined()) and not(self.responseModalityCode.code.oclIsUndefined()) and self.responseModalityCode.code='R' ERROR constraint_xcpdquery_responsePriorityCodeCardinaliy the responsePriorityCode element is required (Table 3.55.4.1.2-1) not self.responsePriorityCode.oclIsUndefined() ERROR constraint_xcpdquery_responseModalityCodeCardinality The responseModalityCode SHALL be specified (Table 3.55.4.1.2-1) not (self.responseModalityCode.oclIsUndefined()) ERROR constraint_xcpdquery_statusCodeValue The status of the query SHALL be set to 'new' (Table 3.55.4.2.1-1) not (self.statusCode.oclIsUndefined()) and not(self.statusCode.code.oclIsUndefined()) and self.statusCode.code = 'new' ERROR constraint_xcpdquery_initialQuantityCodeValue If present the initialQuantityCode element, the defaut value for code attribute is 'RD' (Table 3.55.4.2.1-1) self.initialQuantityCode.oclIsUndefined() or (self.initialQuantityCode.code.oclIsUndefined() xor self.initialQuantityCode.code='RD') INFO constraint_xcpdquery_initialQuantityNotSupported The initialQuantity element is not supported, any value will be ignored by responder. (Table 3.55.4.2.1-1) self.initialQuantity.oclIsUndefined() WARNING constraint_xcpdquery_initialQuantityCodeNotSupported The initialQuantityCode element is not supported, any value will be ignored by responder. (Table 3.55.4.2.1-1) self.initialQuantityCode.oclIsUndefined() WARNING XCPDQueryParameterListSpec XCPDQueryParameterListSpec prpamt201306UV02-PRPAMT201306UV02ParameterList constraint_xcpdquery_livingSubjectBirthPlaceAddressCardinality LivingSubjectBirthPlaceAddress parameter SHALL be present at most once (Figure 3.55.4.1.2-1) self.livingSubjectBirthPlaceAddress->size() <= 1 ERROR constraint_xcpdquery_livingSubjectBirthPlaceNameCardinality LivingSubjectBirthPlaceName parameter SHALL be present at most once (Figure 3.55.4.1.2-1) self.livingSubjectBirthPlaceName->size() <= 1 ERROR constraint_xcpdquery_MothersMaidenNameCardinality MothersMaidenName parameter SHALL be present at most once (Figure 3.55.4.1.2-1) self.mothersMaidenName->size() <= 1 ERROR constraint_xcpdquery_LivingSubjectAdministrativeGenderCardinality LivingSubjectAdministrativeGender parameter SHALL be present at most once (Figure 3.55.4.1.2-1) self.livingSubjectAdministrativeGender->size() <= 1 ERROR constraint_xcpdquery_LivingSubjectBirthTimeCardinality LivingSubjectBirthTime parameter SHALL be present at most once (Figure 3.55.4.1.2-1) self.livingSubjectBirthTime->size() <= 1 ERROR constraint_xcpdquery_PatientAddressCardinality PatientAddress parameter SHALL be present at most once (Figure 3.55.4.1.2-1) self.patientAddress->size() <= 1 ERROR constraint_xcpdquery_PatientTelecomCardinality PatientTelecom parameter SHALL be present at most once (Figure 3.55.4.1.2-1) self.patientTelecom->size() <= 1 ERROR constraint_xcpdquery_requiredParameters If the LivingSubjectIdParameter is specified, LivingSubjectName and LivingSubjectBirthTime are optional. Otherwise, those two parameters are required (Section 3.55.4.1.2.1) self.livingSubjectId->size() >= 1 or (self.livingSubjectName->size() >= 1 and self.livingSubjectBirthTime->size() >= 1) ERROR XCPDQueryMatchAlgorithmSpec XCPDQueryMatchAlgorithmSpec prpamt201306UV02-PRPAMT201306UV02MatchAlgorithm constraint_xcpdquery_matchAlgorithmDatatype The name of the algorithm SHALL comply with datatype ST (Table 3.55.4.1.2-1) self.value.oclIsKindOf(ST) ERROR XCPDQueryMinimumDegreeMatchSpec XCPDQueryMinimumDegreeMatchSpec prpamt201306UV02-PRPAMT201306UV02MinimumDegreeMatch constraint_xcpdQuery_minimumDegreeMatchValueDatatype The value of the degree match SHALL be an integer (Table 3.55.4.1.2-1) self.value.oclIsKindOf(INT) ERROR constraint_xcpdQuery_minimumDegreeMatchValueLimit The numeric value of the degree of match SHALL be valued between 0 and 100 (Table 3.55.4.1.2-1) self.value.oclAsType(INT).value >= 0 and self.value.oclAsType(INT).value <= 100 ERROR XCPDQueryLivingSubjectAdministrativeGenderSpec XCPDQueryLivingSubjectAdministrativeGenderSpec prpamt201306UV02-PRPAMT201306UV02LivingSubjectAdministrativeGender constraint_xcpdQuery_livingSubjectAdministrativeGenderValueCardinality QueryByParameter/parameterList/livingSubjectAdministrativeGender/value SHALL be present exactly once (Table 3.55.4.1.2-1) self.value ->size() = 1 ERROR constraint_xcpdQuery_LivingSubjectAdministrativeGenderValue LivingSubjectAdministrativeGender value SHALL be valued with either F, M or UN (CWE:AdministrativeGender) (Table 3.55.4.1.2-1) self.value->forAll(val: CE | not (val.code.oclIsUndefined()) and (val.code = 'F' or val.code = 'M' or val.code='UN') ) ERROR XCPDQueryLivingSubjectBirthTimeSpec XCPDQueryLivingSubjectBirthTimeSpec prpamt201306UV02-PRPAMT201306UV02LivingSubjectBirthTime constraint_xcpdquery_livingSubjectBirthTimeValueCardinality value element of LivingSubjectBirthTime parameter SHALL be present exactly once (Table 3.55.4.1.2-1) self.value->size() = 1 ERROR XCPDQueryLivingSubjectNameSpec XCPDQueryLivingSubjectNameSpec prpamt201306UV02-PRPAMT201306UV02LivingSubjectName constraint_xcpdquery_livingSubjectNameValueCardinality the value element of LivingSubjectName parameter SHALL be present exactly once self.value->size() = 1 ERROR constraint_xcpdquery_livingSubjectNameValueDatatype The datatype of LivingSubjectName.value is constrained to PN (Section 3.55.4.1.2.2) self.value->forAll(val: EN | not (val.oclIsKindOf(TN) or val.oclIsKindOf(ON)) ) ERROR constraint_xcpdquery_livingSubjectNameUse The use attribute of the value element of LivingSubjectName parameter SHALL NOT be set to 'SRCH' (Table 3.55.4.1.2-1) self.value->forAll(val: EN | val.oclAsType(PN).use.oclIsUndefined() xor not (val.oclAsType(PN).use = 'SRCH') ) ERROR XCPDQueryPatientAddressSpec XCPDQueryPatientAddressSpec prpamt201306UV02-PRPAMT201306UV02PatientAddress constraint_xcpdquery_PatientAddressValueCardinality value element of PatientAddress parameter SHALL be present exactly once self.value->size() = 1 ERROR XCPDQueryPrincipalCareProviderIdSpec XCPDQueryPrincipalCareProviderIdSpec prpamt201306UV02-PRPAMT201306UV02PrincipalCareProviderId constraint_xcpdquery_principalCareProviderIdValueCardinality There SHALL have only one id in the 'value' attribute of the PrincipalCareProviderId parameter (Table 3.55.4.1.2-1) self.value->size() = 1 ERROR XCPDQueryMothersMaidenNameSpec XCPDQueryMothersMaidenNameSpec prpamt201306UV02-PRPAMT201306UV02MothersMaidenName constraint_xcpdquery_mothersMaidenNameValueCardinality The value attribute of the mothersMaideName parameter SHALL be present exactly once (Table 3.55.4.1.2-1) self.value->size() = 1 ERROR constraint_xcpdquery_mothersMaidenNameValueFormat In the case of the MothersMaidenName parameter, the person name may consist of only the given name part, the family name part, or both (Table 3.55.4.1.2-1) self.value->forAll(val: PN | val.given->size() > 0 or val.family->size() > 0 ) INFO constraint_xcpdquery_mothersMaidenNameValueUse The use attribute of the value element of MothersMaidenName parameter SHALL NOT be set to 'SRCH' (Section 3.55.4.1.2.1) self.value->forAll(val: PN | val.oclIsUndefined() xor not(val.use='SRCH') ) ERROR XCPDQueryPatientTelecomSpec XCPDQueryPatientTelecomSpec prpamt201306UV02-PRPAMT201306UV02PatientTelecom constraint_xcpdquery_PatientTelecomValueCardinality The value attribute of PatientTelecom parameter SHALL be present exactly once (Table 3.55.4.1.2-1) self.value->size() = 1 ERROR XCPDQueryHeaderSpec XCPDQueryHeaderSpec prpain201305UV02-PRPAIN201305UV02MCCIMT000100UV01Message constraint_xcpdquery_interactionIdValue The value of interactionId SHALL be set to PRPA_IN201305UV02 (Table 3.55.4.1.2-2) not self.interactionId.oclIsUndefined() and not self.interactionId.extension.oclIsUndefined() and self.interactionId.extension='PRPA_IN201305UV02' ERROR constraint_xcpdquery_processingModeCodeValue The value of processingModeCode SHALL be set to T (Table 3.55.4.1.2-2) not self.processingModeCode.oclIsUndefined() and not self.processingModeCode.code.oclIsUndefined() and self.processingModeCode.code='T' ERROR constraint_xcpdquery_acceptAckCodeValue The acceptAckCode SHALL be set to AL not self.acceptAckCode.oclIsUndefined() and not self.acceptAckCode.code.oclIsUndefined() and self.acceptAckCode.code='AL' ERROR constraint_xcpdquery_receiverDeviceCardinality There SHALL be only one receiver Device self.receiver->size()=1 ERROR XCPDQueryControlActProcessSpec XCPDQueryControlActProcessSpec prpain201305UV02-PRPAIN201305UV02QUQIMT021001UV01ControlActProcess constraint_xcpdquery_controlActProcessCodeValue The trigger event code in ControlActProcess.code SHALL be set to PRPA_TE201305UV02 not (self.code.oclIsUndefined()) and not (self.code.code.oclIsUndefined()) and self.code.code='PRPA_TE201305UV02' ERROR XCPDQuerySenderSpec XCPDQuerySenderSpec mccimt000100UV01-MCCIMT000100UV01Sender constraint_xcpdquery_homeCommunityId If the Initiating Gateway is grouped with a Responding Gateway, it SHALL specify its homeCommunityId as follows: the homeCommunityId is specified as the id element within the Organization associated with the device of the sender; the id element designating the homeCommunityId shall have only the root element. (Section 3.55.4.1.2.4) not(self.device.oclIsUndefined()) and not(self.device.asAgent.oclIsUndefined()) and not(self.device.asAgent.representedOrganization.oclIsUndefined()) and self.device.asAgent.representedOrganization.id->size() > 0 and self.device.asAgent.representedOrganization.id->forAll(val : II | not(val.root.oclIsUndefined()) and val.extension.oclIsUndefined() ) INFO XCPDQueryAuthorOrPerformerSpec XCPDQueryAuthorOrPerformerSpec quqimt021001UV01-QUQIMT021001UV01AuthorOrPerformer constraint_xcpdquery_authorOrPerformerValue In an authorOrPerformer participant is present, the value of authorOrPerformer.typeCode SHALL be set to AUT not(self.typeCode.oclIsUndefined()) and self.typeCode=XParticipationAuthorPerformer::AUT ERROR xcpdPatientDiscoveryQueryRequest XCPDQueryRequestQueryByParameterSpec XCPDQueryRequestQueryByParameterSpec prpamt201306UV02-PRPAMT201306UV02QueryByParameter constraint_xcpdqueryrequest_responsePriorityCodeValue The responsePriorityCode SHALL be valued with "I" indicates that the Responding Gateway is required to send an immediate response. (Table 3.55.4.1.2-1) not (self.responsePriorityCode.oclIsUndefined()) and not(self.responsePriorityCode.code.oclIsUndefined()) and self.responsePriorityCode.code='I' ERROR xcpdPatientDiscoveryQueryResponse xcpdQueryResponseHeaderSpec xcpdQueryResponseHeaderSpec prpain201306UV02-PRPAIN201306UV02Type constraint_iti55val062 There shall be only one receiver Device self.receiver->size() = 1 ERROR constraint_iti55val061 The acceptAckCode shall be set to NE not (self.acceptAckCode.oclIsUndefined()) and not (self.acceptAckCode.code.oclIsUndefined()) and self.acceptAckCode.code = 'NE' ERROR constraint_iti55val060 The value of processingModeCode shall be set to T not(self.processingModeCode.oclIsUndefined()) and not(self.processingModeCode.code.oclIsUndefined()) and self.processingModeCode.code = 'T' ERROR constraint_iti55val059 The value of interactionId shall be set to PRPA_IN201306UV02 not(self.interactionId.oclIsUndefined()) and not (self.interactionId.extension.oclIsUndefined()) and self.interactionId.extension = 'PRPA_IN201306UV02' ERROR xcpdQueryResponsePersonalRelationshipSpec xcpdQueryResponsePersonalRelationshipSpec prpamt201310UV02-PRPAMT201310UV02PersonalRelationship constraint_iti55val039 The relationship holder of the personal relationship is restricted to be a person (using CMET COCT_MT030207UV) self.relationshipHolder2.oclIsUndefined() ERROR xcpdQueryResponsePatientSpec xcpdQueryResponsePatientSpec prpamt201310UV02-PRPAMT201310UV02Patient constraint_iti55val040 The patient entity is restricted to be only a person self.patientNonPersonLivingSubject.oclIsUndefined() ERROR constraint_iti55val041 Exactly one Patient.id element shall be present self.id->size() = 1 ERROR constraint_iti55val042 Patient.statusCode element shall be set to active not (self.statusCode.oclIsUndefined()) and not (self.statusCode.code.oclIsUndefined()) and self.statusCode.code = 'active' ERROR constraint_iti55val043 Patient.confidentialityCode element shall be taken from CWE:Confidentiality (value set with OID 2.16.840.1.113883.5.25) self.confidentialityCode->size() = 0 or ( self.confidentialityCode->forAll(ce : CE | (not ce.code.oclIsUndefined()) and ce.matchesCodeToValueSet('2.16.840.1.113883.5.25', ce.code) ) ) ERROR constraint_iti55val044 Patient.veryImportantPersonCode element shall be taken from CWE:PatientImportance (value set with OID 2.16.840.1.113883.5.1075) self.veryImportantPersonCode.oclIsUndefined() or ( (not self.veryImportantPersonCode.code.oclIsUndefined()) and self.veryImportantPersonCode.matchesCodeToValueSet('2.16.840.1.113883.5.1075', self.veryImportantPersonCode.code) ) ERROR constraint_iti55val046 Either Person.name or Patient.id must be non-null ((self.id->size() > 0) and (self.id->forAll(ii : II | ii.nullFlavor.oclIsUndefined()))) or ( (not self.patientPerson.oclIsUndefined()) and (self.patientPerson.name->size() > 0) and (self.patientPerson.name->forAll(pn : PN | pn.nullFlavor.oclIsUndefined())) ) ERROR xcpdQueryResponsePersonSpec xcpdQueryResponsePersonSpec prpamt201310UV02-PRPAMT201310UV02Person constraint_iti55val048 Person.administrativeGenderCode element shall be taken from CWE:AdministrativeGender (value set with OID 2.16.840.1.113883.1.11.1) self.administrativeGenderCode.oclIsUndefined() or ( (not self.administrativeGenderCode.code.oclIsUndefined()) and self.administrativeGenderCode.matchesCodeToValueSet('2.16.840.1.113883.1.11.1', self.administrativeGenderCode.code) ) ERROR constraint_iti55val049 Person.maritalStatusCode element shall be taken from CWE:MaritalStatus (value set with OID 2.16.840.1.113883.5.2) self.maritalStatusCode.oclIsUndefined() or ( (not self.maritalStatusCode.code.oclIsUndefined()) and self.maritalStatusCode.matchesCodeToValueSet('2.16.840.1.113883.5.2', self.maritalStatusCode.code) ) ERROR constraint_iti55val050 Person.religionAffiliationCode element shall be taken from CWE:ReligiousAffiliation (value set with OID 2.16.840.1.113883.5.1076) self.religiousAffiliationCode.oclIsUndefined() or ( (not self.religiousAffiliationCode.code.oclIsUndefined()) and self.religiousAffiliationCode.matchesCodeToValueSet('code', self.religiousAffiliationCode.code) ) ERROR constraint_iti55val051 Person.raceCode element shall be taken from CWE:Race (value set with OID 2.16.840.1.113883.5.104) self.raceCode->size() = 0 or ( self.raceCode->forAll(ce : CE | (not ce.code.oclIsUndefined()) and ce.matchesCodeToValueSet('2.16.840.1.113883.5.104', ce.code) ) ) ERROR constraint_iti55val052 Person.ethnicGroupCode element shall be taken from CWE:Ethnicity (value set with OID 2.16.840.1.113883.5.50) (self.ethnicGroupCode->size() = 0) or ( self.ethnicGroupCode->forAll(ce : CE | ( not ce.code.oclIsUndefined()) and ce.matchesCodeToValueSet('2.16.840.1.113883.5.50', ce.code) ) ) ERROR xcpdQueryResponseEmployeeSpec xcpdQueryResponseEmployeeSpec prpamt201310UV02-PRPAMT201310UV02Employee constraint_iti55val054 asEmployee.classCode shall be equal to EMP not (self.classCode.oclIsUndefined()) and self.classCode = RoleClassEmployee::EMP ERROR constraint_iti55val055 asEmployee.statusCode element shall be taken from CWE:RoleStatus (value set with OID 2.16.840.1.113883.5.1068) self.statusCode.oclIsUndefined() or (not(self.statusCode.code.oclIsUndefined()) and self.statusCode.matchesCodeToValueSet('2.16.840.1.113883.5.1068', self.statusCode.code)) ERROR xcpdQueryResponseControlActProcessSpec xcpdQueryResponseControlActProcessSpec prpain201306UV02-PRPAIN201306UV02MFMIMT700711UV01ControlActProcess constraint_iti55val063 The trigger event code in ControlActProcess.code shall be set to PRPA_TE201306UV02 not (self.code.oclIsUndefined()) and not(self.code.code.oclIsUndefined()) and self.code.code = 'PRPA_TE201306UV02' ERROR constraint_iti55val066 There shall be a QueryByParameter copy of the original query which shall be in the control act wrapper following the queryAck element not(self.queryByParameter.oclIsUndefined()) ERROR xcpdQueryResponseRegistrationEventSpec xcpdQueryResponseRegistrationEventSpec prpain201306UV02-PRPAIN201306UV02MFMIMT700711UV01RegistrationEvent constraint_iti55val064 There shall be no replacementOf act-relationship present in this message self.replacementOf->size() = 0 ERROR constraint_iti55val068 The id element designating the homeCommunityId shall have only the root element, the content of which is the homeCommunityId (not self.custodian.oclIsUndefined()) and (not self.custodian.assignedEntity.oclIsUndefined()) and ( self.custodian.assignedEntity.id->forAll(ii : II | ii.extension.oclIsUndefined() and (not ii.root.oclIsUndefined()) and ii.assigningAuthorityName.oclIsUndefined() and ii.displayable.oclIsUndefined() ) ) ERROR xcpdQueryResponseQueryAckSpec xcpdQueryResponseQueryAckSpec mfmimt700711UV01-MFMIMT700711UV01QueryAck constraint_iti55val065_1 The QueryAck.resultCurrentQuantity attribute shall not be populated self.resultCurrentQuantity.oclIsUndefined() or not(self.resultCurrentQuantity.nullFlavor.oclIsUndefined()) ERROR constraint_iti55val065_2 The QueryAck.resultTotalQuantity attribute shall not be populated self.resultTotalQuantity.oclIsUndefined() or not(self.resultTotalQuantity.nullFlavor.oclIsUndefined()) ERROR constraint_iti55val065_3 The QueryAck.resultRemainingQuantity attribute shall not be populated self.resultRemainingQuantity.oclIsUndefined() or not(self.resultRemainingQuantity.nullFlavor.oclIsUndefined()) ERROR xcpdQueryResponseDetectedIssueSpec xcpdQueryResponseDetectedIssueSpec mcaimt900001UV01-MCAIMT900001UV01DetectedIssueEvent constraint_iti55val069 detectedIssueEvent.code code shall be set to _ActAdministrativeDetectedIssueManagementCode not (self.code.oclIsUndefined()) and not(self.code.code.oclIsUndefined()) and self.code.code = '_ActAdministrativeDetectedIssueManagementCode' ERROR constraint_iti55val067 detectedIssueEvent.code codeSystem shall be set to 2.16.840.1.113883.5.4 not(self.code.oclIsUndefined()) and not(self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem = '2.16.840.1.113883.5.4' ERROR xcpdQueryResponseActOrderRequiredSpec xcpdQueryResponseActOrderRequiredSpec mcaimt900001UV01-MCAIMT900001UV01ActOrderRequired constraint_iti55val070 Values for actOrderRequired.code element shall be taken from value set with OID 1.3.6.1.4.1.12559.11.4.2.31 not (self.code.oclIsUndefined()) and not(self.code.code.oclIsUndefined()) and self.code.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.4.2.31', self.code.code) ERROR constraint_iti55val072 codeSystem for ActOrderRequired.code shall be set to 1.3.6.1.4.1.19376.1.2.27.1 (not self.code.oclIsUndefined()) and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem = '1.3.6.1.4.1.19376.1.2.27.1' ERROR xcpdQueryResponseDetectedIssueManagementSpec xcpdQueryResponseDetectedIssueManagementSpec mcaimt900001UV01-MCAIMT900001UV01DetectedIssueManagement constraint_iti55val071 Values for detectedIssueManagement.code element shall be taken from value set with OID 1.3.6.1.4.1.12559.11.4.2.32 not (self.code.oclIsUndefined()) and not(self.code.code.oclIsUndefined()) and self.code.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.4.2.32', self.code.code) ERROR constraint_iti55val073 codeSystem for detectedIssueManagement.code shall be set to 1.3.6.1.4.1.19376.1.2.27.3 not (self.code.oclIsUndefined()) and not(self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem = '1.3.6.1.4.1.19376.1.2.27.3' ERROR xcpdRevoke