Search in sources :

Example 96 with CD

use of org.hl7.v3.CD in project nia-patient-switching-standard-adaptor by NHSDigital.

the class CodeableConceptMapper method generateCodeableConceptUsingDescriptionId.

private CodeableConcept generateCodeableConceptUsingDescriptionId(CD codedData, CD mainCodeFromTranslation, boolean isMedicationResource) {
    var descriptionId = codedData.getCode();
    var displayName = translationMainCodeHasDisplayName(mainCodeFromTranslation) ? mainCodeFromTranslation.getDisplayName() : codedData.getDisplayName();
    var originalText = translationMainCodeHasOriginalText(mainCodeFromTranslation) ? mainCodeFromTranslation.getOriginalText() : codedData.getOriginalText();
    if (isMedicationResource) {
        return new CodeableConcept().setText(determineTextFieldValue(originalText, displayName));
    }
    SnomedCTDescription description = snomedCTDao.getSnomedDescriptionUsingDescriptionId(descriptionId);
    String text = null;
    if (Objects.isNull(description)) {
        if (Objects.nonNull(mainCodeFromTranslation)) {
            displayName = getDisplayForSnomedTranslationElement(codedData, mainCodeFromTranslation);
        }
        return new CodeableConcept().setText(determineTextFieldValue(originalText, displayName));
    }
    SnomedCTDescription preferredTerm = snomedCTDao.getSnomedDescriptionPreferredTermUsingConceptId(description.getConceptid());
    if (Objects.nonNull(preferredTerm)) {
        if (isDescriptionPreferredTerm(description, preferredTerm)) {
            if (!displayName.equals(description.getTerm())) {
                text = displayName;
            }
            return createCodeableConcept(description.getConceptid(), SNOMED_SYSTEM, description.getTerm(), determineTextFieldValue(originalText, text), createExtension(description.getId(), null, false));
        } else {
            if (!displayName.equals(preferredTerm.getTerm())) {
                text = displayName;
            }
            return createCodeableConcept(preferredTerm.getConceptid(), SNOMED_SYSTEM, preferredTerm.getTerm(), determineTextFieldValue(originalText, text), createExtension(description.getId(), description.getTerm(), false));
        }
    }
    return null;
}
Also used : SnomedCTDescription(uk.nhs.adaptors.connector.model.SnomedCTDescription) CodeableConcept(org.hl7.fhir.dstu3.model.CodeableConcept)

Example 97 with CD

use of org.hl7.v3.CD in project nia-patient-switching-standard-adaptor by NHSDigital.

the class ConsultationListMapperTest method setUpCompoundStatement.

private RCMRMT030101UK04CompoundStatement setUpCompoundStatement(String originalText, String display, String availabilityTime, boolean nullFlavorCode) {
    RCMRMT030101UK04CompoundStatement compoundStatement = new RCMRMT030101UK04CompoundStatement();
    II id = new II();
    id.setRoot(COMPOUND_STATEMENT_ID);
    CD cd = new CD();
    if (nullFlavorCode) {
        cd.setNullFlavor(CsNullFlavor.UNK);
    } else {
        cd.setOriginalText(originalText);
        cd.setDisplayName(display);
        cd.setCodeSystem("2.16.840.1.113883.2.1.6.2");
        cd.setCode("14L..00");
    }
    TS ts = new TS();
    if (availabilityTime != null) {
        ts.setValue(availabilityTime);
    } else {
        ts.setNullFlavor(CsNullFlavor.NI);
    }
    compoundStatement.setAvailabilityTime(ts);
    compoundStatement.getId().add(id);
    compoundStatement.setCode(cd);
    return compoundStatement;
}
Also used : II(org.hl7.v3.II) CD(org.hl7.v3.CD) RCMRMT030101UK04CompoundStatement(org.hl7.v3.RCMRMT030101UK04CompoundStatement) TS(org.hl7.v3.TS)

Example 98 with CD

use of org.hl7.v3.CD in project MobileAccessGateway by i4mi.

the class Iti104UpdateRequestConverter method doUpdate.

public String doUpdate(Patient in, Identifier identifier) throws JAXBException {
    PRPAIN201302UV02Type resultMsg = new PRPAIN201302UV02Type();
    resultMsg.setITSVersion("XML_1.0");
    // String UUID.randomUUID().toString();
    resultMsg.setId(new II(config.getPixQueryOid(), uniqueId()));
    // Now
    resultMsg.setCreationTime(new TS(Timestamp.now().toHL7()));
    resultMsg.setProcessingCode(new CS("T", null, null));
    resultMsg.setProcessingModeCode(new CS("T", null, null));
    resultMsg.setInteractionId(new II("2.16.840.1.113883.1.18", "PRPA_IN201302UV02"));
    resultMsg.setAcceptAckCode(new CS("AL", null, null));
    MCCIMT000100UV01Receiver receiver = new MCCIMT000100UV01Receiver();
    resultMsg.addReceiver(receiver);
    receiver.setTypeCode(CommunicationFunctionType.RCV);
    MCCIMT000100UV01Device receiverDevice = new MCCIMT000100UV01Device();
    receiver.setDevice(receiverDevice);
    receiverDevice.setClassCode(EntityClassDevice.DEV);
    receiverDevice.setDeterminerCode(EntityDeterminer.INSTANCE);
    receiverDevice.setId(Collections.singletonList(new II(config.getPixReceiverOid(), null)));
    MCCIMT000100UV01Sender sender = new MCCIMT000100UV01Sender();
    resultMsg.setSender(sender);
    sender.setTypeCode(CommunicationFunctionType.SND);
    MCCIMT000100UV01Device senderDevice = new MCCIMT000100UV01Device();
    sender.setDevice(senderDevice);
    senderDevice.setClassCode(EntityClassDevice.DEV);
    senderDevice.setDeterminerCode(EntityDeterminer.INSTANCE);
    senderDevice.setId(Collections.singletonList(new II(config.getPixMySenderOid(), null)));
    PRPAIN201302UV02MFMIMT700701UV01ControlActProcess controlActProcess = new PRPAIN201302UV02MFMIMT700701UV01ControlActProcess();
    resultMsg.setControlActProcess(controlActProcess);
    controlActProcess.setClassCode(ActClassControlAct.CACT);
    controlActProcess.setMoodCode(XActMoodIntentEvent.EVN);
    controlActProcess.setCode(new CD("PRPA_TE201302UV02", "2.16.840.1.113883.1.18", null));
    PRPAIN201302UV02MFMIMT700701UV01Subject1 subject = new PRPAIN201302UV02MFMIMT700701UV01Subject1();
    controlActProcess.addSubject(subject);
    subject.setTypeCode("SUBJ");
    // ???
    subject.setContextConductionInd(false);
    PRPAIN201302UV02MFMIMT700701UV01RegistrationEvent registrationEvent = new PRPAIN201302UV02MFMIMT700701UV01RegistrationEvent();
    subject.setRegistrationEvent(registrationEvent);
    registrationEvent.setClassCode(ActClass.REG);
    registrationEvent.setMoodCode(ActMood.EVN);
    // ???
    registrationEvent.setStatusCode(new CS("active", null, null));
    PRPAIN201302UV02MFMIMT700701UV01Subject2 subject1 = new PRPAIN201302UV02MFMIMT700701UV01Subject2();
    registrationEvent.setSubject1(subject1);
    subject1.setTypeCode(ParticipationTargetSubject.SBJ);
    PRPAMT201302UV02Patient patient = new PRPAMT201302UV02Patient();
    subject1.setPatient(patient);
    patient.setClassCode("PAT");
    PRPAMT201302UV02PatientStatusCode statusCode = new PRPAMT201302UV02PatientStatusCode();
    statusCode.setCode("active");
    // ???
    patient.setStatusCode(statusCode);
    PRPAMT201302UV02PatientPatientPerson patientPerson = new PRPAMT201302UV02PatientPatientPerson();
    patient.setPatientPerson(patientPerson);
    patientPerson.setClassCode(EntityClass.PSN);
    patientPerson.setDeterminerCode(EntityDeterminer.INSTANCE);
    patientPerson.setAsOtherIDs(new ArrayList());
    List<II> orgIds = new ArrayList<II>();
    Set<String> mainIds = new HashSet<String>();
    Organization managingOrg = getManagingOrganization(in);
    // NULL POINTER CHECK
    if (managingOrg != null) {
        for (Identifier id : managingOrg.getIdentifier()) {
            orgIds.add(new II(getScheme(id.getSystem()), null));
            mainIds.add(id.getSystem());
        }
    } else {
        Reference org = in.getManagingOrganization();
        if (org != null && org.getIdentifier() != null) {
            orgIds.add(new II(getScheme(org.getIdentifier().getSystem()), null));
            mainIds.add(org.getIdentifier().getSystem());
        }
    }
    // TODO How is the correct mapping done?
    for (Identifier id : in.getIdentifier()) {
        boolean isOwn = mainIds.contains(id.getSystem());
        if (isOwn)
            patient.addId(patientIdentifierUpd(id));
        else {
            PRPAMT201302UV02OtherIDs asOtherIDs = new PRPAMT201302UV02OtherIDs();
            PRPAMT201302UV02OtherIDsId id2 = new PRPAMT201302UV02OtherIDsId();
            id2.setRoot(getScheme(id.getSystem()));
            id2.setExtension(id.getValue());
            asOtherIDs.setClassCode("PAT");
            asOtherIDs.setId(Collections.singletonList(id2));
            COCTMT150002UV01Organization scopingOrganization = new COCTMT150002UV01Organization();
            scopingOrganization.setClassCode(EntityClassOrganization.ORG);
            scopingOrganization.setDeterminerCode(EntityDeterminer.INSTANCE);
            List<II> scopeOrgIds = new ArrayList<II>();
            scopeOrgIds.add(new II(getScheme(id.getSystem()), null));
            scopingOrganization.setId(scopeOrgIds);
            asOtherIDs.setScopingOrganization(scopingOrganization);
            patientPerson.addAsOtherIDs(asOtherIDs);
        }
    }
    for (HumanName name : in.getName()) {
        patientPerson.addName(transform(name));
    }
    patientPerson.setBirthTime(transform(in.getBirthDateElement()));
    if (in.hasGender()) {
        switch(in.getGender()) {
            case MALE:
                patientPerson.setAdministrativeGenderCode(new CE("M", "Male", "2.16.840.1.113883.12.1"));
                break;
            case FEMALE:
                patientPerson.setAdministrativeGenderCode(new CE("F", "Female", "2.16.840.1.113883.12.1"));
                break;
            case OTHER:
                patientPerson.setAdministrativeGenderCode(new CE("A", "Ambiguous", "2.16.840.1.113883.12.1"));
                break;
            case UNKNOWN:
                patientPerson.setAdministrativeGenderCode(new CE("U", "Unknown", "2.16.840.1.113883.12.1"));
                break;
        }
    }
    if (in.hasAddress())
        patientPerson.setAddr(new ArrayList<AD>());
    for (Address address : in.getAddress()) {
        patientPerson.addAddr(transform(address));
    }
    for (ContactPoint contactPoint : in.getTelecom()) {
        patientPerson.addTelecom(transform(contactPoint));
    }
    if (in.hasDeceasedBooleanType()) {
        patientPerson.setDeceasedInd(new BL(in.getDeceasedBooleanType().getValue()));
    }
    if (in.hasDeceasedDateTimeType()) {
        patientPerson.setDeceasedTime(transform(in.getDeceasedDateTimeType()));
    }
    if (in.hasMultipleBirthBooleanType()) {
        patientPerson.setMultipleBirthInd(new BL(in.getMultipleBirthBooleanType().getValue()));
    }
    if (in.hasMultipleBirthIntegerType()) {
        patientPerson.setMultipleBirthOrderNumber(new INT(in.getMultipleBirthIntegerType().getValue()));
    }
    if (in.hasMaritalStatus()) {
        patientPerson.setMaritalStatusCode(transform(in.getMaritalStatus()));
    }
    if (in.hasCommunication()) {
        for (PatientCommunicationComponent pcc : in.getCommunication()) {
            PRPAMT201302UV02LanguageCommunication languageCommunication = new PRPAMT201302UV02LanguageCommunication();
            languageCommunication.setLanguageCode(transform(pcc.getLanguage()));
            if (pcc.hasPreferred())
                languageCommunication.setPreferenceInd(new BL(pcc.getPreferred()));
            patientPerson.addLanguageCommunication(languageCommunication);
        }
    }
    COCTMT150003UV03Organization providerOrganization = new COCTMT150003UV03Organization();
    patient.setProviderOrganization(providerOrganization);
    providerOrganization.setClassCode(EntityClassOrganization.ORG);
    providerOrganization.setDeterminerCode(EntityDeterminer.INSTANCE);
    providerOrganization.setId(orgIds);
    ON name = null;
    if (managingOrg.hasName()) {
        name = new ON();
        name.setMixed(Collections.singletonList(managingOrg.getName()));
        providerOrganization.setName(Collections.singletonList(name));
    }
    COCTMT150003UV03ContactParty contactParty = new COCTMT150003UV03ContactParty();
    contactParty.setClassCode(RoleClassContact.CON);
    for (ContactPoint contactPoint : managingOrg.getTelecom()) {
        contactParty.addTelecom(transform(contactPoint));
    }
    if (managingOrg.hasAddress())
        contactParty.setAddr(new ArrayList<AD>());
    for (Address address : managingOrg.getAddress()) {
        contactParty.addAddr(transform(address));
    }
    if (managingOrg.hasContact()) {
        OrganizationContactComponent occ = managingOrg.getContactFirstRep();
        COCTMT150003UV03Person contactPerson = new COCTMT150003UV03Person();
        contactPerson.setClassCode(EntityClass.PSN);
        contactPerson.setDeterminerCode(EntityDeterminer.INSTANCE);
        if (occ.hasName())
            contactPerson.setName(Collections.singletonList(transform(occ.getName())));
        contactParty.setContactPerson(contactPerson);
    }
    providerOrganization.setContactParty(Collections.singletonList(contactParty));
    MFMIMT700701UV01Custodian custodian = new MFMIMT700701UV01Custodian();
    registrationEvent.setCustodian(custodian);
    custodian.setTypeCode(ParticipationType.CST);
    COCTMT090003UV01AssignedEntity assignedEntity = new COCTMT090003UV01AssignedEntity();
    custodian.setAssignedEntity(assignedEntity);
    assignedEntity.setClassCode(RoleClassAssignedEntity.ASSIGNED);
    List<II> custIds = new ArrayList<II>();
    custIds.add(new II(getScheme(config.getCustodianOid()), null));
    assignedEntity.setId(custIds);
    // assignedEntity.setId(orgIds);
    COCTMT090003UV01Organization assignedOrganization = new COCTMT090003UV01Organization();
    assignedEntity.setAssignedOrganization(assignedOrganization);
    assignedOrganization.setClassCode(EntityClassOrganization.ORG);
    assignedOrganization.setDeterminerCode(EntityDeterminer.INSTANCE);
    if (managingOrg.hasName()) {
        assignedOrganization.setName(Collections.singletonList(name));
    }
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    HL7V3Transformer.marshallMessage(PRPAIN201302UV02Type.class, out, resultMsg);
    String outArray = new String(out.toByteArray());
    return outArray;
}
Also used : COCTMT150003UV03Organization(net.ihe.gazelle.hl7v3.coctmt150003UV03.COCTMT150003UV03Organization) COCTMT150002UV01Organization(net.ihe.gazelle.hl7v3.coctmt150002UV01.COCTMT150002UV01Organization) EntityClassOrganization(net.ihe.gazelle.hl7v3.voc.EntityClassOrganization) Organization(org.hl7.fhir.r4.model.Organization) COCTMT090003UV01Organization(net.ihe.gazelle.hl7v3.coctmt090003UV01.COCTMT090003UV01Organization) Address(org.hl7.fhir.r4.model.Address) ArrayList(java.util.ArrayList) BL(net.ihe.gazelle.hl7v3.datatypes.BL) INT(net.ihe.gazelle.hl7v3.datatypes.INT) PRPAMT201302UV02OtherIDsId(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02OtherIDsId) PRPAIN201302UV02MFMIMT700701UV01Subject1(net.ihe.gazelle.hl7v3.prpain201302UV02.PRPAIN201302UV02MFMIMT700701UV01Subject1) HumanName(org.hl7.fhir.r4.model.HumanName) ContactPoint(org.hl7.fhir.r4.model.ContactPoint) PRPAIN201302UV02MFMIMT700701UV01Subject2(net.ihe.gazelle.hl7v3.prpain201302UV02.PRPAIN201302UV02MFMIMT700701UV01Subject2) Identifier(org.hl7.fhir.r4.model.Identifier) PatientCommunicationComponent(org.hl7.fhir.r4.model.Patient.PatientCommunicationComponent) PRPAMT201302UV02OtherIDs(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02OtherIDs) MCCIMT000100UV01Device(net.ihe.gazelle.hl7v3.mccimt000100UV01.MCCIMT000100UV01Device) HashSet(java.util.HashSet) ON(net.ihe.gazelle.hl7v3.datatypes.ON) II(net.ihe.gazelle.hl7v3.datatypes.II) CD(net.ihe.gazelle.hl7v3.datatypes.CD) PRPAMT201302UV02Patient(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02Patient) CE(net.ihe.gazelle.hl7v3.datatypes.CE) PRPAIN201302UV02MFMIMT700701UV01ControlActProcess(net.ihe.gazelle.hl7v3.prpain201302UV02.PRPAIN201302UV02MFMIMT700701UV01ControlActProcess) PRPAIN201302UV02Type(net.ihe.gazelle.hl7v3.prpain201302UV02.PRPAIN201302UV02Type) PRPAMT201302UV02LanguageCommunication(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02LanguageCommunication) Reference(org.hl7.fhir.r4.model.Reference) PRPAIN201302UV02MFMIMT700701UV01RegistrationEvent(net.ihe.gazelle.hl7v3.prpain201302UV02.PRPAIN201302UV02MFMIMT700701UV01RegistrationEvent) COCTMT090003UV01Organization(net.ihe.gazelle.hl7v3.coctmt090003UV01.COCTMT090003UV01Organization) ByteArrayOutputStream(java.io.ByteArrayOutputStream) MCCIMT000100UV01Sender(net.ihe.gazelle.hl7v3.mccimt000100UV01.MCCIMT000100UV01Sender) CS(net.ihe.gazelle.hl7v3.datatypes.CS) COCTMT150003UV03ContactParty(net.ihe.gazelle.hl7v3.coctmt150003UV03.COCTMT150003UV03ContactParty) COCTMT150003UV03Person(net.ihe.gazelle.hl7v3.coctmt150003UV03.COCTMT150003UV03Person) OrganizationContactComponent(org.hl7.fhir.r4.model.Organization.OrganizationContactComponent) PRPAMT201302UV02PatientStatusCode(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02PatientStatusCode) COCTMT150003UV03Organization(net.ihe.gazelle.hl7v3.coctmt150003UV03.COCTMT150003UV03Organization) COCTMT090003UV01AssignedEntity(net.ihe.gazelle.hl7v3.coctmt090003UV01.COCTMT090003UV01AssignedEntity) MFMIMT700701UV01Custodian(net.ihe.gazelle.hl7v3.mfmimt700701UV01.MFMIMT700701UV01Custodian) MCCIMT000100UV01Receiver(net.ihe.gazelle.hl7v3.mccimt000100UV01.MCCIMT000100UV01Receiver) COCTMT150002UV01Organization(net.ihe.gazelle.hl7v3.coctmt150002UV01.COCTMT150002UV01Organization) PRPAMT201302UV02PatientPatientPerson(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02PatientPatientPerson) TS(net.ihe.gazelle.hl7v3.datatypes.TS)

Example 99 with CD

use of org.hl7.v3.CD in project MobileAccessGateway by i4mi.

the class Iti104MergeRequestConverter method doMerge.

/**
 * merge request for ITI-104 transaction
 * @param header
 * @param entriesByReference
 * @return
 * @throws JAXBException
 */
public String doMerge(Patient in, Identifier replaced, Reference survivor) throws JAXBException {
    PRPAIN201304UV02Type resultMsg = new PRPAIN201304UV02Type();
    resultMsg.setITSVersion("XML_1.0");
    // String UUID.randomUUID().toString();
    resultMsg.setId(new II(config.getPixQueryOid(), uniqueId()));
    // Now
    resultMsg.setCreationTime(new TS(Timestamp.now().toHL7()));
    resultMsg.setProcessingCode(new CS("T", null, null));
    resultMsg.setProcessingModeCode(new CS("T", null, null));
    resultMsg.setInteractionId(new II("2.16.840.1.113883.1.18", "PRPA_IN201304UV02"));
    resultMsg.setAcceptAckCode(new CS("AL", null, null));
    MCCIMT000100UV01Receiver receiver = new MCCIMT000100UV01Receiver();
    resultMsg.addReceiver(receiver);
    receiver.setTypeCode(CommunicationFunctionType.RCV);
    MCCIMT000100UV01Device receiverDevice = new MCCIMT000100UV01Device();
    receiver.setDevice(receiverDevice);
    receiverDevice.setClassCode(EntityClassDevice.DEV);
    receiverDevice.setDeterminerCode(EntityDeterminer.INSTANCE);
    receiverDevice.setId(Collections.singletonList(new II(config.getPixReceiverOid(), null)));
    MCCIMT000100UV01Sender sender = new MCCIMT000100UV01Sender();
    resultMsg.setSender(sender);
    sender.setTypeCode(CommunicationFunctionType.SND);
    MCCIMT000100UV01Device senderDevice = new MCCIMT000100UV01Device();
    sender.setDevice(senderDevice);
    senderDevice.setClassCode(EntityClassDevice.DEV);
    senderDevice.setDeterminerCode(EntityDeterminer.INSTANCE);
    senderDevice.setId(Collections.singletonList(new II(config.getPixMySenderOid(), null)));
    PRPAIN201304UV02MFMIMT700701UV01ControlActProcess controlActProcess = new PRPAIN201304UV02MFMIMT700701UV01ControlActProcess();
    resultMsg.setControlActProcess(controlActProcess);
    // ???
    controlActProcess.setClassCode(ActClassControlAct.CACT);
    // ???
    controlActProcess.setMoodCode(XActMoodIntentEvent.EVN);
    // ???
    controlActProcess.setCode(new CD("PRPA_TE201304UV02", "2.16.840.1.113883.1.18", null));
    if (in == null || replaced.isEmpty())
        throw new InvalidRequestException("Cannot determine Patients to merge");
    PRPAIN201304UV02MFMIMT700701UV01Subject1 subject = new PRPAIN201304UV02MFMIMT700701UV01Subject1();
    controlActProcess.addSubject(subject);
    subject.setTypeCode("SUBJ");
    // ???
    subject.setContextConductionInd(false);
    PRPAIN201304UV02MFMIMT700701UV01RegistrationEvent registrationEvent = new PRPAIN201304UV02MFMIMT700701UV01RegistrationEvent();
    subject.setRegistrationEvent(registrationEvent);
    registrationEvent.setClassCode(ActClass.REG);
    registrationEvent.setMoodCode(ActMood.EVN);
    // ???
    registrationEvent.setStatusCode(new CS("active", null, null));
    List<MFMIMT700701UV01ReplacementOf> replacementOfList = new ArrayList<MFMIMT700701UV01ReplacementOf>();
    registrationEvent.setReplacementOf(replacementOfList);
    MFMIMT700701UV01ReplacementOf replacementOf = new MFMIMT700701UV01ReplacementOf();
    MFMIMT700701UV01PriorRegistration priorRegistration = new MFMIMT700701UV01PriorRegistration();
    replacementOf.setPriorRegistration(priorRegistration);
    replacementOf.setTypeCode("RPLC");
    priorRegistration.setClassCode(ActClass.REG);
    priorRegistration.setMoodCode(ActMood.EVN);
    priorRegistration.setStatusCode(new CS("obsolete", null, null));
    MFMIMT700701UV01Subject3 subject1 = new MFMIMT700701UV01Subject3();
    priorRegistration.setSubject1(subject1);
    subject1.setTypeCode(ParticipationTargetSubject.SBJ);
    MFMIMT700701UV01PriorRegisteredRole priorRegisteredRole = new MFMIMT700701UV01PriorRegisteredRole();
    subject1.setPriorRegisteredRole(priorRegisteredRole);
    priorRegisteredRole.setClassCode("PAT");
    priorRegisteredRole.addId(patientIdentifier(replaced));
    replacementOfList.add(replacementOf);
    PRPAIN201304UV02MFMIMT700701UV01Subject2 subject2 = new PRPAIN201304UV02MFMIMT700701UV01Subject2();
    registrationEvent.setSubject1(subject2);
    subject2.setTypeCode(ParticipationTargetSubject.SBJ);
    PRPAMT201303UV02Patient patient = new PRPAMT201303UV02Patient();
    patient.setClassCode("PAT");
    subject2.setPatient(patient);
    PRPAMT201302UV02PatientStatusCode statusCode = new PRPAMT201302UV02PatientStatusCode("active", null, null);
    // ???
    patient.setStatusCode(statusCode);
    List<II> orgIds = new ArrayList<II>();
    Set<String> mainIds = new HashSet<String>();
    PRPAMT201303UV02Person patientPerson = new PRPAMT201303UV02Person();
    patientPerson.setClassCode(EntityClass.PSN);
    patientPerson.setDeterminerCode(EntityDeterminer.INSTANCE);
    patient.setPatientPerson(patientPerson);
    Organization managingOrg = getManagingOrganization(in, in.getContained());
    if (managingOrg != null) {
        for (Identifier id : managingOrg.getIdentifier()) {
            orgIds.add(new II(getScheme(id.getSystem()), null));
            mainIds.add(id.getSystem());
        }
    }
    // if (managingOrg==null) managingOrg = getManagingOrganization(basePatient, basePatient.getContained());
    // if (managingOrg==null)  throw new InvalidRequestException("Cannot determine managingOrganization");
    // TODO How is the correct mapping done?
    Identifier id = survivor.getIdentifier();
    PRPAMT201302UV02PatientId patientId = new PRPAMT201302UV02PatientId(getScheme(id.getSystem()), id.getValue());
    patient.addId(patientId);
    for (HumanName name : in.getName()) {
        patientPerson.addName(transform(name));
    }
    COCTMT150003UV03Organization providerOrganization = new COCTMT150003UV03Organization();
    patient.setProviderOrganization(providerOrganization);
    providerOrganization.setClassCode(EntityClassOrganization.ORG);
    providerOrganization.setDeterminerCode(EntityDeterminer.INSTANCE);
    providerOrganization.setId(orgIds);
    ON name = null;
    if (managingOrg.hasName()) {
        name = new ON();
        name.setMixed(Collections.singletonList(managingOrg.getName()));
        providerOrganization.setName(Collections.singletonList(name));
    }
    COCTMT150003UV03ContactParty contactParty = new COCTMT150003UV03ContactParty();
    contactParty.setClassCode(RoleClassContact.CON);
    for (ContactPoint contactPoint : managingOrg.getTelecom()) {
        contactParty.addTelecom(transform(contactPoint));
    }
    if (managingOrg != null && managingOrg.hasAddress())
        contactParty.setAddr(new ArrayList<AD>());
    for (Address address : managingOrg.getAddress()) {
        contactParty.addAddr(transform(address));
    }
    if (managingOrg != null && managingOrg.hasContact()) {
        OrganizationContactComponent occ = managingOrg.getContactFirstRep();
        COCTMT150003UV03Person contactPerson = new COCTMT150003UV03Person();
        contactPerson.setClassCode(EntityClass.PSN);
        contactPerson.setDeterminerCode(EntityDeterminer.INSTANCE);
        if (occ.hasName())
            contactPerson.setName(Collections.singletonList(transform(occ.getName())));
        contactParty.setContactPerson(contactPerson);
    }
    providerOrganization.setContactParty(Collections.singletonList(contactParty));
    patientPerson.setBirthTime(transform(in.getBirthDateElement()));
    if (in.hasGender()) {
        switch(in.getGender()) {
            case MALE:
                patientPerson.setAdministrativeGenderCode(new CE("M", "Male", "2.16.840.1.113883.12.1"));
                break;
            case FEMALE:
                patientPerson.setAdministrativeGenderCode(new CE("F", "Female", "2.16.840.1.113883.12.1"));
                break;
            case OTHER:
                patientPerson.setAdministrativeGenderCode(new CE("A", "Ambiguous", "2.16.840.1.113883.12.1"));
                break;
            case UNKNOWN:
                patientPerson.setAdministrativeGenderCode(new CE("U", "Unknown", "2.16.840.1.113883.12.1"));
                break;
        }
    }
    if (in.hasAddress())
        patientPerson.setAddr(new ArrayList<AD>());
    for (Address address : in.getAddress()) {
        patientPerson.addAddr(transform(address));
    }
    for (ContactPoint contactPoint : in.getTelecom()) {
        patientPerson.addTelecom(transform(contactPoint));
    }
    if (in.hasDeceasedBooleanType()) {
        patientPerson.setDeceasedInd(new BL(in.getDeceasedBooleanType().getValue()));
    }
    if (in.hasDeceasedDateTimeType()) {
        patientPerson.setDeceasedTime(transform(in.getDeceasedDateTimeType()));
    }
    if (in.hasMultipleBirthBooleanType()) {
        patientPerson.setMultipleBirthInd(new BL(in.getMultipleBirthBooleanType().getValue()));
    }
    if (in.hasMultipleBirthIntegerType()) {
        patientPerson.setMultipleBirthOrderNumber(new INT(in.getMultipleBirthIntegerType().getValue()));
    }
    if (in.hasMaritalStatus()) {
        patientPerson.setMaritalStatusCode(transform(in.getMaritalStatus()));
    }
    if (in.hasCommunication()) {
        for (PatientCommunicationComponent pcc : in.getCommunication()) {
            PRPAMT201303UV02LanguageCommunication languageCommunication = new PRPAMT201303UV02LanguageCommunication();
            languageCommunication.setLanguageCode(transform(pcc.getLanguage()));
            if (pcc.hasPreferred())
                languageCommunication.setPreferenceInd(new BL(pcc.getPreferred()));
            patientPerson.addLanguageCommunication(languageCommunication);
        }
    }
    MFMIMT700701UV01Custodian custodian = new MFMIMT700701UV01Custodian();
    registrationEvent.setCustodian(custodian);
    custodian.setTypeCode(ParticipationType.CST);
    COCTMT090003UV01AssignedEntity assignedEntity = new COCTMT090003UV01AssignedEntity();
    custodian.setAssignedEntity(assignedEntity);
    assignedEntity.setClassCode(RoleClassAssignedEntity.ASSIGNED);
    List<II> custIds = new ArrayList<II>();
    custIds.add(new II(getScheme(config.getCustodianOid()), null));
    assignedEntity.setId(custIds);
    // assignedEntity.setId(orgIds);
    COCTMT090003UV01Organization assignedOrganization = new COCTMT090003UV01Organization();
    assignedEntity.setAssignedOrganization(assignedOrganization);
    assignedOrganization.setClassCode(EntityClassOrganization.ORG);
    assignedOrganization.setDeterminerCode(EntityDeterminer.INSTANCE);
    if (managingOrg != null && managingOrg.hasName()) {
        ON onName = new ON();
        onName.setMixed(Collections.singletonList(managingOrg.getName()));
        assignedOrganization.setName(Collections.singletonList(onName));
    }
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    HL7V3Transformer.marshallMessage(PRPAIN201304UV02Type.class, out, resultMsg);
    String outArray = new String(out.toByteArray());
    return outArray;
}
Also used : COCTMT150003UV03Organization(net.ihe.gazelle.hl7v3.coctmt150003UV03.COCTMT150003UV03Organization) COCTMT090003UV01Organization(net.ihe.gazelle.hl7v3.coctmt090003UV01.COCTMT090003UV01Organization) EntityClassOrganization(net.ihe.gazelle.hl7v3.voc.EntityClassOrganization) Organization(org.hl7.fhir.r4.model.Organization) PRPAIN201304UV02MFMIMT700701UV01RegistrationEvent(net.ihe.gazelle.hl7v3.prpain201304UV02.PRPAIN201304UV02MFMIMT700701UV01RegistrationEvent) Address(org.hl7.fhir.r4.model.Address) ArrayList(java.util.ArrayList) BL(net.ihe.gazelle.hl7v3.datatypes.BL) MFMIMT700701UV01PriorRegistration(net.ihe.gazelle.hl7v3.mfmimt700701UV01.MFMIMT700701UV01PriorRegistration) INT(net.ihe.gazelle.hl7v3.datatypes.INT) PRPAMT201302UV02PatientId(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02PatientId) HumanName(org.hl7.fhir.r4.model.HumanName) ContactPoint(org.hl7.fhir.r4.model.ContactPoint) Identifier(org.hl7.fhir.r4.model.Identifier) PatientCommunicationComponent(org.hl7.fhir.r4.model.Patient.PatientCommunicationComponent) InvalidRequestException(ca.uhn.fhir.rest.server.exceptions.InvalidRequestException) MCCIMT000100UV01Device(net.ihe.gazelle.hl7v3.mccimt000100UV01.MCCIMT000100UV01Device) HashSet(java.util.HashSet) ON(net.ihe.gazelle.hl7v3.datatypes.ON) II(net.ihe.gazelle.hl7v3.datatypes.II) CD(net.ihe.gazelle.hl7v3.datatypes.CD) CE(net.ihe.gazelle.hl7v3.datatypes.CE) PRPAIN201304UV02Type(net.ihe.gazelle.hl7v3.prpain201304UV02.PRPAIN201304UV02Type) COCTMT090003UV01Organization(net.ihe.gazelle.hl7v3.coctmt090003UV01.COCTMT090003UV01Organization) PRPAMT201303UV02LanguageCommunication(net.ihe.gazelle.hl7v3.prpamt201303UV02.PRPAMT201303UV02LanguageCommunication) PRPAIN201304UV02MFMIMT700701UV01Subject2(net.ihe.gazelle.hl7v3.prpain201304UV02.PRPAIN201304UV02MFMIMT700701UV01Subject2) ByteArrayOutputStream(java.io.ByteArrayOutputStream) PRPAIN201304UV02MFMIMT700701UV01Subject1(net.ihe.gazelle.hl7v3.prpain201304UV02.PRPAIN201304UV02MFMIMT700701UV01Subject1) MCCIMT000100UV01Sender(net.ihe.gazelle.hl7v3.mccimt000100UV01.MCCIMT000100UV01Sender) CS(net.ihe.gazelle.hl7v3.datatypes.CS) MFMIMT700701UV01Subject3(net.ihe.gazelle.hl7v3.mfmimt700701UV01.MFMIMT700701UV01Subject3) MFMIMT700701UV01PriorRegisteredRole(net.ihe.gazelle.hl7v3.mfmimt700701UV01.MFMIMT700701UV01PriorRegisteredRole) COCTMT150003UV03ContactParty(net.ihe.gazelle.hl7v3.coctmt150003UV03.COCTMT150003UV03ContactParty) COCTMT150003UV03Person(net.ihe.gazelle.hl7v3.coctmt150003UV03.COCTMT150003UV03Person) OrganizationContactComponent(org.hl7.fhir.r4.model.Organization.OrganizationContactComponent) PRPAMT201302UV02PatientStatusCode(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02PatientStatusCode) PRPAMT201303UV02Person(net.ihe.gazelle.hl7v3.prpamt201303UV02.PRPAMT201303UV02Person) COCTMT150003UV03Organization(net.ihe.gazelle.hl7v3.coctmt150003UV03.COCTMT150003UV03Organization) COCTMT090003UV01AssignedEntity(net.ihe.gazelle.hl7v3.coctmt090003UV01.COCTMT090003UV01AssignedEntity) MFMIMT700701UV01ReplacementOf(net.ihe.gazelle.hl7v3.mfmimt700701UV01.MFMIMT700701UV01ReplacementOf) MFMIMT700701UV01Custodian(net.ihe.gazelle.hl7v3.mfmimt700701UV01.MFMIMT700701UV01Custodian) MCCIMT000100UV01Receiver(net.ihe.gazelle.hl7v3.mccimt000100UV01.MCCIMT000100UV01Receiver) PRPAMT201303UV02Patient(net.ihe.gazelle.hl7v3.prpamt201303UV02.PRPAMT201303UV02Patient) TS(net.ihe.gazelle.hl7v3.datatypes.TS) PRPAIN201304UV02MFMIMT700701UV01ControlActProcess(net.ihe.gazelle.hl7v3.prpain201304UV02.PRPAIN201304UV02MFMIMT700701UV01ControlActProcess)

Example 100 with CD

use of org.hl7.v3.CD in project MobileAccessGateway by i4mi.

the class Iti93UpdateRequestConverter method doUpdate.

public String doUpdate(MessageHeader header, Map<String, BundleEntryComponent> entriesByReference) throws JAXBException {
    PRPAIN201302UV02Type resultMsg = new PRPAIN201302UV02Type();
    resultMsg.setITSVersion("XML_1.0");
    // String UUID.randomUUID().toString();
    resultMsg.setId(new II(config.getPixQueryOid(), uniqueId()));
    // Now
    resultMsg.setCreationTime(new TS(Timestamp.now().toHL7()));
    resultMsg.setProcessingCode(new CS("T", null, null));
    resultMsg.setProcessingModeCode(new CS("T", null, null));
    resultMsg.setInteractionId(new II("2.16.840.1.113883.1.18", "PRPA_IN201302UV02"));
    resultMsg.setAcceptAckCode(new CS("AL", null, null));
    MCCIMT000100UV01Receiver receiver = new MCCIMT000100UV01Receiver();
    resultMsg.addReceiver(receiver);
    receiver.setTypeCode(CommunicationFunctionType.RCV);
    MCCIMT000100UV01Device receiverDevice = new MCCIMT000100UV01Device();
    receiver.setDevice(receiverDevice);
    receiverDevice.setClassCode(EntityClassDevice.DEV);
    receiverDevice.setDeterminerCode(EntityDeterminer.INSTANCE);
    receiverDevice.setId(Collections.singletonList(new II(config.getPixReceiverOid(), null)));
    MCCIMT000100UV01Sender sender = new MCCIMT000100UV01Sender();
    resultMsg.setSender(sender);
    sender.setTypeCode(CommunicationFunctionType.SND);
    MCCIMT000100UV01Device senderDevice = new MCCIMT000100UV01Device();
    sender.setDevice(senderDevice);
    senderDevice.setClassCode(EntityClassDevice.DEV);
    senderDevice.setDeterminerCode(EntityDeterminer.INSTANCE);
    senderDevice.setId(Collections.singletonList(new II(config.getPixMySenderOid(), null)));
    PRPAIN201302UV02MFMIMT700701UV01ControlActProcess controlActProcess = new PRPAIN201302UV02MFMIMT700701UV01ControlActProcess();
    resultMsg.setControlActProcess(controlActProcess);
    controlActProcess.setClassCode(ActClassControlAct.CACT);
    controlActProcess.setMoodCode(XActMoodIntentEvent.EVN);
    controlActProcess.setCode(new CD("PRPA_TE201302UV02", "2.16.840.1.113883.1.18", null));
    for (BundleEntryComponent entry : entriesByReference.values()) {
        if (entry.getResource() instanceof Patient) {
            HTTPVerb method = entry.getRequest().getMethod();
            if (method == null)
                throw new InvalidRequestException("HTTP verb missing in Bundle for Patient resource.");
            Patient in = (Patient) entry.getResource();
            PRPAIN201302UV02MFMIMT700701UV01Subject1 subject = new PRPAIN201302UV02MFMIMT700701UV01Subject1();
            controlActProcess.addSubject(subject);
            subject.setTypeCode("SUBJ");
            // ???
            subject.setContextConductionInd(false);
            PRPAIN201302UV02MFMIMT700701UV01RegistrationEvent registrationEvent = new PRPAIN201302UV02MFMIMT700701UV01RegistrationEvent();
            subject.setRegistrationEvent(registrationEvent);
            registrationEvent.setClassCode(ActClass.REG);
            registrationEvent.setMoodCode(ActMood.EVN);
            // ???
            registrationEvent.setStatusCode(new CS("active", null, null));
            PRPAIN201302UV02MFMIMT700701UV01Subject2 subject1 = new PRPAIN201302UV02MFMIMT700701UV01Subject2();
            registrationEvent.setSubject1(subject1);
            subject1.setTypeCode(ParticipationTargetSubject.SBJ);
            PRPAMT201302UV02Patient patient = new PRPAMT201302UV02Patient();
            subject1.setPatient(patient);
            patient.setClassCode("PAT");
            PRPAMT201302UV02PatientStatusCode statusCode = new PRPAMT201302UV02PatientStatusCode();
            statusCode.setCode("active");
            // ???
            patient.setStatusCode(statusCode);
            PRPAMT201302UV02PatientPatientPerson patientPerson = new PRPAMT201302UV02PatientPatientPerson();
            patient.setPatientPerson(patientPerson);
            patientPerson.setClassCode(EntityClass.PSN);
            patientPerson.setDeterminerCode(EntityDeterminer.INSTANCE);
            patientPerson.setAsOtherIDs(new ArrayList());
            List<II> orgIds = new ArrayList<II>();
            Set<String> mainIds = new HashSet<String>();
            Organization managingOrg = getManagingOrganization(in);
            for (Identifier id : managingOrg.getIdentifier()) {
                orgIds.add(new II(getScheme(id.getSystem()), null));
                mainIds.add(id.getSystem());
            }
            // TODO How is the correct mapping done?
            for (Identifier id : in.getIdentifier()) {
                boolean isOwn = mainIds.contains(id.getSystem());
                if (isOwn)
                    patient.addId(patientIdentifierUpd(id));
                else {
                    PRPAMT201302UV02OtherIDs asOtherIDs = new PRPAMT201302UV02OtherIDs();
                    PRPAMT201302UV02OtherIDsId id2 = new PRPAMT201302UV02OtherIDsId();
                    id2.setRoot(getScheme(id.getSystem()));
                    id2.setExtension(id.getValue());
                    asOtherIDs.setClassCode("PAT");
                    asOtherIDs.setId(Collections.singletonList(id2));
                    COCTMT150002UV01Organization scopingOrganization = new COCTMT150002UV01Organization();
                    scopingOrganization.setClassCode(EntityClassOrganization.ORG);
                    scopingOrganization.setDeterminerCode(EntityDeterminer.INSTANCE);
                    List<II> scopeOrgIds = new ArrayList<II>();
                    scopeOrgIds.add(new II(getScheme(id.getSystem()), null));
                    scopingOrganization.setId(scopeOrgIds);
                    asOtherIDs.setScopingOrganization(scopingOrganization);
                    patientPerson.addAsOtherIDs(asOtherIDs);
                }
            }
            for (HumanName name : in.getName()) {
                patientPerson.addName(transform(name));
            }
            patientPerson.setBirthTime(transform(in.getBirthDateElement()));
            if (in.hasGender()) {
                switch(in.getGender()) {
                    case MALE:
                        patientPerson.setAdministrativeGenderCode(new CE("M", "Male", "2.16.840.1.113883.12.1"));
                        break;
                    case FEMALE:
                        patientPerson.setAdministrativeGenderCode(new CE("F", "Female", "2.16.840.1.113883.12.1"));
                        break;
                    case OTHER:
                        patientPerson.setAdministrativeGenderCode(new CE("A", "Ambiguous", "2.16.840.1.113883.12.1"));
                        break;
                    case UNKNOWN:
                        patientPerson.setAdministrativeGenderCode(new CE("U", "Unknown", "2.16.840.1.113883.12.1"));
                        break;
                }
            }
            if (in.hasAddress())
                patientPerson.setAddr(new ArrayList<AD>());
            for (Address address : in.getAddress()) {
                patientPerson.addAddr(transform(address));
            }
            for (ContactPoint contactPoint : in.getTelecom()) {
                patientPerson.addTelecom(transform(contactPoint));
            }
            if (in.hasDeceasedBooleanType()) {
                patientPerson.setDeceasedInd(new BL(in.getDeceasedBooleanType().getValue()));
            }
            if (in.hasDeceasedDateTimeType()) {
                patientPerson.setDeceasedTime(transform(in.getDeceasedDateTimeType()));
            }
            if (in.hasMultipleBirthBooleanType()) {
                patientPerson.setMultipleBirthInd(new BL(in.getMultipleBirthBooleanType().getValue()));
            }
            if (in.hasMultipleBirthIntegerType()) {
                patientPerson.setMultipleBirthOrderNumber(new INT(in.getMultipleBirthIntegerType().getValue()));
            }
            if (in.hasMaritalStatus()) {
                patientPerson.setMaritalStatusCode(transform(in.getMaritalStatus()));
            }
            if (in.hasCommunication()) {
                for (PatientCommunicationComponent pcc : in.getCommunication()) {
                    PRPAMT201302UV02LanguageCommunication languageCommunication = new PRPAMT201302UV02LanguageCommunication();
                    languageCommunication.setLanguageCode(transform(pcc.getLanguage()));
                    if (pcc.hasPreferred())
                        languageCommunication.setPreferenceInd(new BL(pcc.getPreferred()));
                    patientPerson.addLanguageCommunication(languageCommunication);
                }
            }
            COCTMT150003UV03Organization providerOrganization = new COCTMT150003UV03Organization();
            patient.setProviderOrganization(providerOrganization);
            providerOrganization.setClassCode(EntityClassOrganization.ORG);
            providerOrganization.setDeterminerCode(EntityDeterminer.INSTANCE);
            providerOrganization.setId(orgIds);
            ON name = null;
            if (managingOrg.hasName()) {
                name = new ON();
                name.setMixed(Collections.singletonList(managingOrg.getName()));
                providerOrganization.setName(Collections.singletonList(name));
            }
            COCTMT150003UV03ContactParty contactParty = new COCTMT150003UV03ContactParty();
            contactParty.setClassCode(RoleClassContact.CON);
            for (ContactPoint contactPoint : managingOrg.getTelecom()) {
                contactParty.addTelecom(transform(contactPoint));
            }
            if (managingOrg.hasAddress())
                contactParty.setAddr(new ArrayList<AD>());
            for (Address address : managingOrg.getAddress()) {
                contactParty.addAddr(transform(address));
            }
            if (managingOrg.hasContact()) {
                OrganizationContactComponent occ = managingOrg.getContactFirstRep();
                COCTMT150003UV03Person contactPerson = new COCTMT150003UV03Person();
                contactPerson.setClassCode(EntityClass.PSN);
                contactPerson.setDeterminerCode(EntityDeterminer.INSTANCE);
                if (occ.hasName())
                    contactPerson.setName(Collections.singletonList(transform(occ.getName())));
                contactParty.setContactPerson(contactPerson);
            }
            providerOrganization.setContactParty(Collections.singletonList(contactParty));
            MFMIMT700701UV01Custodian custodian = new MFMIMT700701UV01Custodian();
            registrationEvent.setCustodian(custodian);
            custodian.setTypeCode(ParticipationType.CST);
            COCTMT090003UV01AssignedEntity assignedEntity = new COCTMT090003UV01AssignedEntity();
            custodian.setAssignedEntity(assignedEntity);
            assignedEntity.setClassCode(RoleClassAssignedEntity.ASSIGNED);
            List<II> custIds = new ArrayList<II>();
            custIds.add(new II(getScheme(config.getCustodianOid()), null));
            assignedEntity.setId(custIds);
            // assignedEntity.setId(orgIds);
            COCTMT090003UV01Organization assignedOrganization = new COCTMT090003UV01Organization();
            assignedEntity.setAssignedOrganization(assignedOrganization);
            assignedOrganization.setClassCode(EntityClassOrganization.ORG);
            assignedOrganization.setDeterminerCode(EntityDeterminer.INSTANCE);
            if (managingOrg.hasName()) {
                assignedOrganization.setName(Collections.singletonList(name));
            }
        }
    }
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    HL7V3Transformer.marshallMessage(PRPAIN201302UV02Type.class, out, resultMsg);
    String outArray = new String(out.toByteArray());
    return outArray;
}
Also used : HTTPVerb(org.hl7.fhir.r4.model.Bundle.HTTPVerb) COCTMT150003UV03Organization(net.ihe.gazelle.hl7v3.coctmt150003UV03.COCTMT150003UV03Organization) COCTMT150002UV01Organization(net.ihe.gazelle.hl7v3.coctmt150002UV01.COCTMT150002UV01Organization) EntityClassOrganization(net.ihe.gazelle.hl7v3.voc.EntityClassOrganization) Organization(org.hl7.fhir.r4.model.Organization) COCTMT090003UV01Organization(net.ihe.gazelle.hl7v3.coctmt090003UV01.COCTMT090003UV01Organization) Address(org.hl7.fhir.r4.model.Address) ArrayList(java.util.ArrayList) BL(net.ihe.gazelle.hl7v3.datatypes.BL) INT(net.ihe.gazelle.hl7v3.datatypes.INT) PRPAMT201302UV02OtherIDsId(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02OtherIDsId) PRPAIN201302UV02MFMIMT700701UV01Subject1(net.ihe.gazelle.hl7v3.prpain201302UV02.PRPAIN201302UV02MFMIMT700701UV01Subject1) HumanName(org.hl7.fhir.r4.model.HumanName) ContactPoint(org.hl7.fhir.r4.model.ContactPoint) PRPAIN201302UV02MFMIMT700701UV01Subject2(net.ihe.gazelle.hl7v3.prpain201302UV02.PRPAIN201302UV02MFMIMT700701UV01Subject2) Identifier(org.hl7.fhir.r4.model.Identifier) PatientCommunicationComponent(org.hl7.fhir.r4.model.Patient.PatientCommunicationComponent) InvalidRequestException(ca.uhn.fhir.rest.server.exceptions.InvalidRequestException) PRPAMT201302UV02OtherIDs(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02OtherIDs) MCCIMT000100UV01Device(net.ihe.gazelle.hl7v3.mccimt000100UV01.MCCIMT000100UV01Device) HashSet(java.util.HashSet) ON(net.ihe.gazelle.hl7v3.datatypes.ON) II(net.ihe.gazelle.hl7v3.datatypes.II) CD(net.ihe.gazelle.hl7v3.datatypes.CD) PRPAMT201302UV02Patient(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02Patient) CE(net.ihe.gazelle.hl7v3.datatypes.CE) PRPAIN201302UV02MFMIMT700701UV01ControlActProcess(net.ihe.gazelle.hl7v3.prpain201302UV02.PRPAIN201302UV02MFMIMT700701UV01ControlActProcess) PRPAIN201302UV02Type(net.ihe.gazelle.hl7v3.prpain201302UV02.PRPAIN201302UV02Type) PRPAMT201302UV02LanguageCommunication(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02LanguageCommunication) PRPAIN201302UV02MFMIMT700701UV01RegistrationEvent(net.ihe.gazelle.hl7v3.prpain201302UV02.PRPAIN201302UV02MFMIMT700701UV01RegistrationEvent) COCTMT090003UV01Organization(net.ihe.gazelle.hl7v3.coctmt090003UV01.COCTMT090003UV01Organization) Patient(org.hl7.fhir.r4.model.Patient) PRPAMT201302UV02Patient(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02Patient) PRPAMT201301UV02Patient(net.ihe.gazelle.hl7v3.prpamt201301UV02.PRPAMT201301UV02Patient) ByteArrayOutputStream(java.io.ByteArrayOutputStream) MCCIMT000100UV01Sender(net.ihe.gazelle.hl7v3.mccimt000100UV01.MCCIMT000100UV01Sender) CS(net.ihe.gazelle.hl7v3.datatypes.CS) BundleEntryComponent(org.hl7.fhir.r4.model.Bundle.BundleEntryComponent) COCTMT150003UV03ContactParty(net.ihe.gazelle.hl7v3.coctmt150003UV03.COCTMT150003UV03ContactParty) COCTMT150003UV03Person(net.ihe.gazelle.hl7v3.coctmt150003UV03.COCTMT150003UV03Person) OrganizationContactComponent(org.hl7.fhir.r4.model.Organization.OrganizationContactComponent) PRPAMT201302UV02PatientStatusCode(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02PatientStatusCode) COCTMT150003UV03Organization(net.ihe.gazelle.hl7v3.coctmt150003UV03.COCTMT150003UV03Organization) COCTMT090003UV01AssignedEntity(net.ihe.gazelle.hl7v3.coctmt090003UV01.COCTMT090003UV01AssignedEntity) MFMIMT700701UV01Custodian(net.ihe.gazelle.hl7v3.mfmimt700701UV01.MFMIMT700701UV01Custodian) MCCIMT000100UV01Receiver(net.ihe.gazelle.hl7v3.mccimt000100UV01.MCCIMT000100UV01Receiver) COCTMT150002UV01Organization(net.ihe.gazelle.hl7v3.coctmt150002UV01.COCTMT150002UV01Organization) PRPAMT201302UV02PatientPatientPerson(net.ihe.gazelle.hl7v3.prpamt201302UV02.PRPAMT201302UV02PatientPatientPerson) TS(net.ihe.gazelle.hl7v3.datatypes.TS)

Aggregations

ArrayList (java.util.ArrayList)24 XhtmlNode (org.hl7.fhir.utilities.xhtml.XhtmlNode)16 Coding (org.hl7.fhir.r4.model.Coding)10 ValueSet (org.hl7.fhir.r5.model.ValueSet)10 ByteArrayOutputStream (java.io.ByteArrayOutputStream)9 CodeableConcept (org.hl7.fhir.r4.model.CodeableConcept)9 BindingSpecification (org.hl7.fhir.definitions.model.BindingSpecification)8 UnsupportedEncodingException (java.io.UnsupportedEncodingException)7 CD (net.ihe.gazelle.hl7v3.datatypes.CD)7 CS (net.ihe.gazelle.hl7v3.datatypes.CS)7 II (net.ihe.gazelle.hl7v3.datatypes.II)7 TS (net.ihe.gazelle.hl7v3.datatypes.TS)7 MCCIMT000100UV01Device (net.ihe.gazelle.hl7v3.mccimt000100UV01.MCCIMT000100UV01Device)7 MCCIMT000100UV01Receiver (net.ihe.gazelle.hl7v3.mccimt000100UV01.MCCIMT000100UV01Receiver)7 MCCIMT000100UV01Sender (net.ihe.gazelle.hl7v3.mccimt000100UV01.MCCIMT000100UV01Sender)7 Identifier (org.hl7.fhir.r4.model.Identifier)7 ContactPoint (org.hl7.fhir.r5.model.ContactPoint)7 IOException (java.io.IOException)6 ConceptDefinitionComponent (org.hl7.fhir.r5.model.CodeSystem.ConceptDefinitionComponent)6 ContactDetail (org.hl7.fhir.r5.model.ContactDetail)5