Page History
...
Gliffy Diagram | ||||||||
---|---|---|---|---|---|---|---|---|
|
Et eksempel på, hvordan forskellen mellem core model og RIM format kommer til udtryk, ses her for håndtering af confidentiality code og CPR nummer i forbindelse med registrering oprettelse af et dokument.
Først OpeneHealth core model, den kode man skriver i sit program:
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
public ProvideAndRegisterDocumentSetRequestType buildProvideAndRegisterDocumentSetRequest(DocumentEntry documentEntry, String documentPayload, Code contentTypeCode) {
ProvideAndRegisterDocumentSet provideAndRegisterDocumentSet = new ProvideAndRegisterDocumentSet();
Document document = new Document(documentEntry, new DataHandler(new ByteArrayDataSource(documentPayload.getBytes(), documentEntry.getMimeType())));
provideAndRegisterDocumentSet.getDocuments().add(document);
// Opret SubmissionSet for dokumentet
SubmissionSet submissionSet = createSubmissionSet(documentEntry.getPatientId(), new Code("39289-4", new LocalizedString("Follow-up (referred to) provider &or specialist, appointment date"), "2.16.840.1.113883.6.1"), "20220221113011");
provideAndRegisterDocumentSet.setSubmissionSet(submissionSet);
// Opret association mellem SubmissionSet og DocumentEntry
Association association = createAssociation(submissionSet, documentEntry);
provideAndRegisterDocumentSet.getAssociations().add(association);
// Transformer request - dette laver core model om til RIM format
ProvideAndRegisterDocumentSetTransformer registerDocumentSetTransformer = new ProvideAndRegisterDocumentSetTransformer(ebXMLFactory);
EbXMLProvideAndRegisterDocumentSetRequest30 ebxmlRequest = (EbXMLProvideAndRegisterDocumentSetRequest30) registerDocumentSetTransformer.toEbXML(provideAndRegisterDocumentSet);
ProvideAndRegisterDocumentSetRequestType provideAndRegisterDocumentSetRequestType = ebxmlRequest.getInternal();
return provideAndRegisterDocumentSetRequestType;
} |
...
Code Block | ||||
---|---|---|---|---|
| ||||
public void handleResponse(RegistryResponseType registryResponse) { // Transformer response - dette laver RIM format til core model ResponseTransformer responseTransformer = new ResponseTransformer(ebXMLFactory); Response response = responseTransformer.fromEbXML(new EbXMLRegistryResponse30(registryResponse)); if (registryResponseresponse.getStatus().equals(Status.SUCCESS.getOpcode30()) ) { // Kaldet gik godt } else { // Der er fejl i kaldet, håndter dem for (RegistryError error : registryResponseresponse.getRegistryErrorList().getRegistryError()) { } } } |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
public SubmitObjectsRequest createDeprecateRequest(DocumentEntry documentEntryToDeprecate) {
RegisterDocumentSet request = new RegisterDocumentSet();
// Opret SubmissionSet for dokumentet der skal deprecates
SubmissionSet submissionSet = createSubmissionSetForDocumentEntry(generateUUID(), documentEntryToDeprecate);
request.setSubmissionSet(submissionSet);
// Opret association mellem SubmissionSet og DocumentEntry der skal deprecates
Association association = createAssociateDeprecateStatus(submissionSet, documentEntryToDeprecate);
request.getAssociations().add(association);
// Transformer request - dette laver core model om til RIM format
RegisterDocumentSetTransformer requestTransformer = new RegisterDocumentSetTransformer(ebXMLFactory);
EbXMLSubmitObjectsRequest30 ebxmlRequest = (EbXMLSubmitObjectsRequest30) requestTransformer.toEbXML(registerDocumentSet);
SubmitObjectsRequest submitObjectsRequest = ebxmlRequest.getInternal();
return submitObjectsRequest;
} |
...