#
# Prefixes
#
@prefix dce: .
@prefix owl: .
@prefix rdfs: .
@prefix skos: .
@prefix xsd: .
@prefix agent: .
@prefix doc: .
@prefix fos: .
@prefix unex: .
@prefix heca: .
@prefix xdsm: .
xdsm:
a owl:Ontology;
dce:title """XDS Metadata"""@en;
dce:creator """Hans Cools, Pieterjan De Potter, Pedro Debevere"""@en;
dce:publisher """Agfa Healthcare/Belgium, IBBT/Belgium, Multimedia Lab/Ghent University/Belgium"""@en;
dce:description """Formal description of xdm metadata."""@en;
dce:format """OWL Full"""@en;
dce:identifier """xdsm"""@en;
dce:language """English"""@en.
#
# Classes
#
xdsm:AvailabilityStatus
rdfs:subClassOf fos:AvailabilityStatus;
owl:oneOf ("""Approved""" """Depricated""");
skos:definition """Possible values for availability status for an XDS document."""@en.
#xdsm:ConfidentialityCode rdfs:subClassOf gen:ConfidentialityCode;
# owl:oneOf ("""Confidential"""^^xsd:string """Not confidential"""^^xsd:string).
xdsm:XDSDocument
rdfs:subClassOf doc:ElectronicDocument;
rdfs:subClassOf [
a owl:Restriction;
owl:onProperty xdsm:availabilityStatus;
owl:cardinality """1"""^^xsd:nonNegativeInteger
];
rdfs:subClassOf [
a owl:Restriction;
owl:onProperty xdsm:confidentialityCode;
owl:cardinality """1"""^^xsd:nonNegativeInteger
];
rdfs:subClassOf [
a owl:Restriction;
owl:onProperty fos:creationTime;
owl:cardinality """1"""^^xsd:nonNegativeInteger
];
rdfs:subClassOf [
a owl:Restriction;
owl:onProperty fos:code;
# fos:code codeSystem entry_UUID
owl:cardinality """1"""^^xsd:nonNegativeInteger
];
rdfs:subClassOf [
a owl:Restriction;
owl:onProperty doc:formatCode;
owl:cardinality """1"""^^xsd:nonNegativeInteger
];
rdfs:subClassOf [
a owl:Restriction;
owl:onProperty doc:sha1Hash;
owl:cardinality """1"""^^xsd:nonNegativeInteger
];
rdfs:subClassOf [
a owl:Restriction;
owl:onProperty heca:healthcareFacilityType;
owl:cardinality """1"""^^xsd:nonNegativeInteger
];
rdfs:subClassOf [
a owl:Restriction;
owl:onProperty heca:healthcareFacilityType;
owl:allValuesFrom xdsm:XDSHealthcareFacilityType
];
rdfs:subClassOf [
a owl:Restriction;
owl:onProperty agent:language;
owl:cardinality """1"""^^xsd:nonNegativeInteger
];
rdfs:subClassOf [
a owl:Restriction;
owl:onProperty doc:mimeType;
owl:cardinality """1"""^^xsd:nonNegativeInteger
];
rdfs:subClassOf [
a owl:Restriction;
owl:onProperty doc:parentDocumentId;
owl:minCardinality """1"""^^xsd:nonNegativeInteger
];
# rdfs:subClassOf [
# a owl:Restriction;
# owl:onProperty doc:parentDocumentLink;
# owl:minCardinality """1"""^^xsd:nonNegativeInteger
# ];
# rdfs:subClassOf [
# a owl:Restriction;
# owl:onProperty gen:parentDocumentLink;
# owl:allValuesFrom xdsm:XDSParentDocumentLink
# ];
# rdfs:subClassOf [
# a owl:Restriction;
# owl:onProperty heca:patientId;
# owl:cardinality """1"""^^xsd:nonNegativeInteger
# ];
# rdfs:subClassOf [
# a owl:Restriction;
# owl:onProperty heca:patientId;
# owl:allValuesFrom xdsm:XDSPatientId
# ];
# rdfs:subClassOf [
# a owl:Restriction;
# owl:onProperty gen:practiceSettingType;
# owl:minCardinality """1"""^^xsd:nonNegativeInteger
# ];
# rdfs:subClassOf [
# a owl:Restriction;
# owl:onProperty gen:practiceSettingType;
# owl:allValuesFrom xdsm:XDSPracticeSettingType
# ];
rdfs:subClassOf [
a owl:Restriction;
owl:onProperty unex:DigitalSize;
owl:cardinality """1"""^^xsd:nonNegativeInteger
];
# rdfs:subClassOf [
# a owl:Restriction;
# owl:onProperty heca:sourcePatientId;
# owl:cardinality """1"""^^xsd:nonNegativeInteger
# ];
# rdfs:subClassOf [
# a owl:Restriction;
# owl:onProperty heca:sourcePatientId;
# owl:allValuesFrom xdsm:XDSSourcePatientId
# ];
rdfs:subClassOf [
a owl:Restriction;
owl:onProperty heca:sourcePatientInfo;
owl:cardinality """1"""^^xsd:nonNegativeInteger
].
# rdfs:subClassOf [
# a owl:Restriction;
# owl:onProperty xdsm:uniqueId;
# owl:cardinality """1"""^^xsd:nonNegativeInteger # cf :uniqueIdentifier
# ];
# rdfs:subClassOf [
# a owl:Restriction;
# owl:onProperty xdsm:URI; # :documentLocation
# owl:cardinality """1"""^^xsd:nonNegativeInteger # cf :URI
# ].
#
#
#xdsm:XDSParentDocumentLink rdfs:subClassOf doc:ParentDocumentLink;
# rdfs:subClassOf [
# a owl:Restriction;
# owl:onProperty gen:parentDocument_ID;
# owl:cardinality """1"""^^xsd:nonNegativeInteger
# ];
# rdfs:subClassOf [
# a owl:Restriction;
# owl:onProperty xdsm:XDSParentDocumentRelationship;
# owl:cardinality """1"""^^xsd:nonNegativeInteger
# ].
# use fos:code with fos:codeSystem """XDSEntryUUID"""
#xdsm:entry_UUID rdfs:subPropertyOf gen:uniqueIdentifier;
# rdfs:domain xdsm:Document;
# rdfs:range rdfs:Literal.
# use fos:code with fos:codeSystem """XDSUniqueId""";
# rdfs:domain xdsm:Document;
# rdfs:range rdfs:Literal.
#
# Properties
#
#-----------------------------------------------------------------------------------
# subproperties for XDS documents
xdsm:healthcareFacilityType
a owl:ObjectProperty;
rdfs:domain doc:Document;
rdfs:range heca:Organization.
xdsm:sourcePatientInfo
a owl:ObjectProperty;
rdfs:domain doc:Document;
rdfs:range heca:Patient.
#xdsm:availabilityStatus # no need; fos:availabilityState sufficient
# rdfs:subPropertyOf fos:availabilityStatus;
# skos:definition """Availability status of an XDS document in the XDS Repository."""@en;
# rdfs:domain xdsm:XDSDocument;
# rdfs:range xdsm:AvailabilityStatus.
#xdsm:confidentialityCode # no need; fos:confidentialityCode sufficient
# rdfs:subPropertyOf fos:confidentialityCode;
# skos:definition """Represents confideniality of an XDS Document."""@en;
# rdfs:domain xdsm:XDSDocument;
# rdfs:range xdsm:ConfidentialityCode.