Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [mdht-dev] Struggling with developing a new MDHT ihe.pharm model

Oliver
That looks correct - what i was checking for is if the transform is correct
I will be on travel and offline the next few days
You can check into a couple of things
first go into the generated project - org.openhealthtools.mdht.uml.cda.ihe.pharm
using the uml editor open the pharm_ecore.uml model and make sure it has content 
Next you can manually reload the genmodel (right click and hit next)
It should not have any errors but if you do get errors it might the reason no code is being generated
lastly, modify your filter so you can see the  code generation project - it should not have any compile errors (.JETEmitter project)
Thanks

Sean


On Jan 14, 2016, at 11:03 AM, Oliver Egger <oliver.egger@xxxxxxxx> wrote:

Hi Sean

thanks for your fast reply.

On 14 January 2016 at 16:48, Sean Muir <sean.w.muir@xxxxxxxxx> wrote:
Oliver
Your screen shot did not come through, did you use the wizard to create the new project 
yes, with the wizard, new CDA Model
 

Additionally, cdt, ccd is part of the HITSP effort to develop C32
the ihe model is referencing them, for the example I do not use them yet
 

Can you post tour transform.xml and potentially a list of the projects you have in your workspace

content of transform.xml:

<?eclipse version="3.0"?>

<project name="CDA Model Transformation"  basedir="." default="all">

<eclipse.convertPath resourcePath="org.openhealthtools.mdht.uml.cda" property="cdaPluginPath"/>

<property name="modelName" value="pharm"/>

<macrodef name="convertEcorePaths">

<attribute name="filePath"/>

<sequential>

<replace file="@{filePath}" token="pathmap://PHARM_MODEL///pharm.uml" value="pharm_Ecore.uml"/>

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.cdt.model/model/cdt.uml" value="../../org.openhealthtools.mdht.uml.cda.cdt/model/cdt_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ccd.model/model/ccd.uml" value="../../org.openhealthtools.mdht.uml.cda.ccd/model/ccd_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ccd.model/model/.controlled/ccd-medications.uml" value="../../org.openhealthtools.mdht.uml.cda.ccd/model/ccd_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ccd.model/model/.controlled/ccd-problem.uml" value="../../org.openhealthtools.mdht.uml.cda.ccd/model/ccd_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ccd.model/model/.controlled/ccd-familyHistory.uml" value="../../org.openhealthtools.mdht.uml.cda.ccd/model/ccd_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ccd.model/model/.controlled/ccd-results.uml" value="../../org.openhealthtools.mdht.uml.cda.ccd/model/ccd_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ccd.model/model/.controlled/ccd-socialHistory.uml" value="../../org.openhealthtools.mdht.uml.cda.ccd/model/ccd_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ccd.model/model/.controlled/ccd-encounters.uml" value="../../org.openhealthtools.mdht.uml.cda.ccd/model/ccd_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ccd.model/model/.controlled/ccd-immunizations.uml" value="../../org.openhealthtools.mdht.uml.cda.ccd/model/ccd_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ccd.model/model/.controlled/ccd-alerts.uml" value="../../org.openhealthtools.mdht.uml.cda.ccd/model/ccd_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ccd.model/model/.controlled/ccd-procedures.uml" value="../../org.openhealthtools.mdht.uml.cda.ccd/model/ccd_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ccd.model/model/.controlled/ccd-planOfCare.uml" value="../../org.openhealthtools.mdht.uml.cda.ccd/model/ccd_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ccd.model/model/.controlled/ccd-vitalSigns.uml" value="../../org.openhealthtools.mdht.uml.cda.ccd/model/ccd_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ccd.model/model/.controlled/ccd-medicalEquipment.uml" value="../../org.openhealthtools.mdht.uml.cda.ccd/model/ccd_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ccd.model/model/.controlled/ccd-functionalStatus.uml" value="../../org.openhealthtools.mdht.uml.cda.ccd/model/ccd_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ccd.model/model/.controlled/ccd-advanceDirectives.uml" value="../../org.openhealthtools.mdht.uml.cda.ccd/model/ccd_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ccd.model/model/.controlled/ccd-payers.uml" value="../../org.openhealthtools.mdht.uml.cda.ccd/model/ccd_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ccd.model/model/.controlled/ccd-purpose.uml" value="../../org.openhealthtools.mdht.uml.cda.ccd/model/ccd_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ihe.model/model/ihe.uml" value="../../org.openhealthtools.mdht.uml.cda.ihe/model/ihe_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ihe.model/model/.controlled/ihe-immunizations.uml" value="../../org.openhealthtools.mdht.uml.cda.ihe/model/ihe_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ihe.model/model/.controlled/ihe-medicationsAdministered.uml" value="../../org.openhealthtools.mdht.uml.cda.ihe/model/ihe_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ihe.model/model/.controlled/ihe-activeProblems.uml" value="../../org.openhealthtools.mdht.uml.cda.ihe/model/ihe_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ihe.model/model/.controlled/ihe-medications.uml" value="../../org.openhealthtools.mdht.uml.cda.ihe/model/ihe_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ihe.model/model/.controlled/ihe-allergiesReactions.uml" value="../../org.openhealthtools.mdht.uml.cda.ihe/model/ihe_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ihe.model/model/.controlled/ihe-vitalSigns.uml" value="../../org.openhealthtools.mdht.uml.cda.ihe/model/ihe_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ihe.model/model/.controlled/ihe-codedVitalSigns.uml" value="../../org.openhealthtools.mdht.uml.cda.ihe/model/ihe_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ihe.model/model/.controlled/ihe-payers.uml" value="../../org.openhealthtools.mdht.uml.cda.ihe/model/ihe_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ihe.model/model/.controlled/ihe-historyOfPastIllness.uml" value="../../org.openhealthtools.mdht.uml.cda.ihe/model/ihe_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ihe.model/model/.controlled/ihe-chiefComplaint.uml" value="../../org.openhealthtools.mdht.uml.cda.ihe/model/ihe_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ihe.model/model/.controlled/ihe-reasonForReferral.uml" value="../../org.openhealthtools.mdht.uml.cda.ihe/model/ihe_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ihe.model/model/.controlled/ihe-surgeries.uml" value="../../org.openhealthtools.mdht.uml.cda.ihe/model/ihe_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ihe.model/model/.controlled/ihe-codedSurgeries.uml" value="../../org.openhealthtools.mdht.uml.cda.ihe/model/ihe_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ihe.model/model/.controlled/ihe-hospitalAdmissionDiagnosis.uml" value="../../org.openhealthtools.mdht.uml.cda.ihe/model/ihe_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ihe.model/model/.controlled/ihe-dischargeDiagnosis.uml" value="../../org.openhealthtools.mdht.uml.cda.ihe/model/ihe_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ihe.model/model/.controlled/ihe-admissionMedicationHistory.uml" value="../../org.openhealthtools.mdht.uml.cda.ihe/model/ihe_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ihe.model/model/.controlled/ihe-hospitalDischargeMedications.uml" value="../../org.openhealthtools.mdht.uml.cda.ihe/model/ihe_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ihe.model/model/.controlled/ihe-codedAdvanceDirectives.uml" value="../../org.openhealthtools.mdht.uml.cda.ihe/model/ihe_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ihe.model/model/.controlled/ihe-advanceDirectives.uml" value="../../org.openhealthtools.mdht.uml.cda.ihe/model/ihe_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ihe.model/model/.controlled/ihe-physicalExamNarrative.uml" value="../../org.openhealthtools.mdht.uml.cda.ihe/model/ihe_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ihe.model/model/.controlled/ihe-physicalExam.uml" value="../../org.openhealthtools.mdht.uml.cda.ihe/model/ihe_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ihe.model/model/.controlled/ihe-reviewOfSystems.uml" value="../../org.openhealthtools.mdht.uml.cda.ihe/model/ihe_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ihe.model/model/.controlled/ihe-hospitalCourse.uml" value="../../org.openhealthtools.mdht.uml.cda.ihe/model/ihe_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ihe.model/model/.controlled/ihe-codedResults.uml" value="../../org.openhealthtools.mdht.uml.cda.ihe/model/ihe_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ihe.model/model/.controlled/ihe-assessmentAndPlan.uml" value="../../org.openhealthtools.mdht.uml.cda.ihe/model/ihe_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ihe.model/model/.controlled/ihe-carePlan.uml" value="../../org.openhealthtools.mdht.uml.cda.ihe/model/ihe_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ihe.model/model/.controlled/ihe-familyMedicalHistory.uml" value="../../org.openhealthtools.mdht.uml.cda.ihe/model/ihe_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ihe.model/model/.controlled/ihe-socialHistory.uml" value="../../org.openhealthtools.mdht.uml.cda.ihe/model/ihe_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ihe.model/model/.controlled/ihe-encounterHistory.uml" value="../../org.openhealthtools.mdht.uml.cda.ihe/model/ihe_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ihe.model/model/.controlled/ihe-medicalDevices.uml" value="../../org.openhealthtools.mdht.uml.cda.ihe/model/ihe_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ihe.model/model/.controlled/ihe-intakeOutput.uml" value="../../org.openhealthtools.mdht.uml.cda.ihe/model/ihe_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ihe.model/model/.controlled/ihe-pregnancyHistory.uml" value="../../org.openhealthtools.mdht.uml.cda.ihe/model/ihe_Ecore.uml"/> 

<replace file="@{filePath}" token="file:/Users/oliveregger/Documents/mdht-models/models/org.openhealthtools.mdht.uml.cda.ihe.model/model/.controlled/ihe-functionalStatus.uml" value="../../org.openhealthtools.mdht.uml.cda.ihe/model/ihe_Ecore.uml"/> 

</sequential>

</macrodef>

<import file="${cdaPluginPath}/transform-common.xml"/>

</project>


the list of projects is as outlined above, otherwise I have no other projects. the ones from git i dit not copy into the workspace, just by reference.

could that be an issue?

Oliver


Thanks

Sean


On Jan 14, 2016, at 10:31 AM, Oliver Egger <oliver.egger@xxxxxxxx> wrote:

Hello MDTH developers!

I'm trying to setup a new model, however I struggle to generate code for the model, the class is generated in java but the content of the models is empty.

I performed the following steps:

Downloaded the mdht from here https://sourceforge.net/projects/oht-modeling/files/Releases/Products/Designer/ (cda.design.product.id-macosx.cocoa.x86_64.zip,2015-11-21).

Import from github as existing project (no copy) into my new workspace:

mdht/cda/plugins/org.openhealthtools.mdht.uml.cda
mdht/cda/plugins/org.openhealthtools.mdht.uml.hl7.datatypes
mdht/cda/plugins/org.openhealthtools.mdht.uml.hl7.rim
mdht/cda/plugins/org.openhealthtools.mdht.uml.hl7.vocab
mdht/cdat/plugins/org.openhealthtools.mdht.uml.term.models


mdht-models/generated/org.openhealthtools.mdht.uml.cda.ccd
mdht-models/generated/org.openhealthtools.mdht.uml.cda.cdt
mdht-models/generated/org.openhealthtools.mdht.uml.cda.ihe

mdht-models/models/org.openhealthtools.mdht.uml.cda.ccd.model
mdht-models/models/org.openhealthtools.mdht.uml.cda.cdt.model
mdht-models/models/org.openhealthtools.mdht.uml.cda.ihe.model

Creating  a  new ihe.pharm model (see screenshot):

Error message in console is:

Buildfile: /Users/oliveregger/Documents/workspace_mdht2/org.openhealthtools.mdht.uml.cda.ihe.pharm/transform.xml

all:

transformModel:

    [cdatools] [Fatal Error] :1:1: Premature end of file.

    [cdatools] Loaded model: file:/Users/oliveregger/Documents/workspace_mdht2/org.openhealthtools.mdht.uml.cda.ihe.pharm.model/model/pharm.uml

    [cdatools] [Fatal Error] :1:1: Premature end of file.

[validateModel] Validating UML source model...

[validateModel] Warning: Not all the members of namespace '<<codegenSupport>> <Package> pharm' are distinguishable within it.

[transformToEcoreModel] Generating Ecore model...

[transformToEcoreModel] Saving Ecore model: file:/Users/oliveregger/Documents/workspace_mdht2/org.openhealthtools.mdht.uml.cda.ihe.pharm/model/pharm_Ecore.uml

postProcessing:

refresh:

BUILD SUCCESSFUL

Total time: 1 second

Source files are generated, however the class are empty (no content)  except for PHARMPlugin.java, see other screenshot. Any help/tips greatly appreciated!

Oliver








On 12 November 2015 at 10:33, Tony Schaller <tony.schaller@xxxxxxxxxxxx> wrote:

fyi

 

Von: mdht-dev-bounces@xxxxxxxxxxx [mailto:mdht-dev-bounces@xxxxxxxxxxx] Im Auftrag von Vadim Peretokin
Gesendet: Donnerstag, 12. November 2015 01:25
An: mdht developer discussions <mdht-dev@xxxxxxxxxxx>
Betreff: Re: [mdht-dev] dead link MDHT "All-in-One" ZIP

 

Hi Tony

The project is in the middle of the move to Eclipse - for the time being, to get setup do the following:

  1. Install your OS-appropriate version of MDHT from https://sourceforge.net/projects/oht-modeling/files/Releases/Products/Designer/
  2. Clone https://github.com/mdht/mdht-models
  3. From the mdht-models repository, import the following models:
    1. org.openhealthtools.mdht.uml.cda
    2. org.openhealthtools.mdht.uml.hl7.datatypes
    3. org.openhealthtools.mdht.uml.hl7.rim
    4. org.openhealthtools.mdht.uml.hl7.vocab
    5. org.openhealthtools.mdht.uml.term.models
  4. Create a new MDHT model using the standard Eclipse wizard

Let us know if you'd like to know more!

 

On 11/11/15 17:17, Tony Schaller wrote:

Hi,

 

the link to the MDHT "All-in-One" ZIP for Implementation Guide Designers, Specifications Designers, Business Analysts on https://www.projects.openhealthtools.org/sf/projects/mdht/ is dead. Could someone fix that, please. Thanks in advance!

 

Regards,

 

IHE Suisse

Technical Project Manager

Tony Schaller
medshare GmbH, Tempelstrasse 8b, 3608 Thun-Allmendingen, Switzerland
; tony.schaller@xxxxxxxxxxxx

 

IHE Suisse

Geschäftsstelle, Oberstrasse 222, Postfach 51, 9014 St. Gallen, Switzerland

Phone: +41 71 279 11 88; info@xxxxxxxxxxxxx; www.ihe-suisse.ch

 

 

 

--

Vadim Peretokin
Clinical Information Modeller
nehta - National E-Health Transition Authority
NEHTA Brisbane Office
Level 31, 400 George St, 4000

Phone: (0) 3023 8573
Email: vadim.peretokin@xxxxxxxxxxxx
Web: www.nehta.gov.au



The information contained in this e-mail message and any accompanying files is or may be privileged or confidential. If you are not the intended recipient, any use, dissemination, reliance, forwarding, printing or copying of this e-mail or any attached files is unauthorised. This e-mail and any attachments may be subject to copyright. Copyright material should not be reproduced, adapted or communicated without the written consent of the copyright owner. If you have received this e-mail in error please advise the sender immediately by return e-mail or telephone and delete all copies. NEHTA does not make any representations or give any guarantees in respect of the accuracy or completeness of any information contained in this e-mail or attached files. Internet communications are not secure, therefore NEHTA does not accept any liability for the contents of this message or attached files.




--
oliver egger

mobile: +41765795005
twitter: @oliveregger

ahdis gmbh
agile health data information systems
bertastrasse 4
8003 zürich
switzerland
<screenshot-17.png><screenshot-18.png>_______________________________________________
mdht-dev mailing list
mdht-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/mdht-dev


_______________________________________________
mdht-dev mailing list
mdht-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/mdht-dev




--
oliver egger

mobile: +41765795005
twitter: @oliveregger

ahdis gmbh
agile health data information systems
bertastrasse 4
8003 zürich
switzerland
_______________________________________________
mdht-dev mailing list
mdht-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/mdht-dev

Attachment: smime.p7s
Description: S/MIME cryptographic signature


Back to the top