PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX linkml: <https://w3id.org/linkml/>
PREFIX sdo: <https://schema.org/>
PREFIX ghp: <https://goodhealthpass.org/ghp-vocab/>
PREFIX pathogen: <https://w3id.org/pathogen#>
PREFIX dgc: <http://hl7.eu/fhir/ig/dgc/>
PREFIX icd-entity: <http://id.who.int/icd/entity/>
PREFIX base-fhir: <http://hl7.org/fhir/>
PREFIX who-ips: <http://hl7.org/fhir/uv/ips/>
PREFIX sct: <http://snomed.info/sct/>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX pav: <http://purl.org/pav/>
PREFIX sh: <http://www.w3.org/ns/shacl#>
PREFIX vann: <http://purl.org/vocab/vann/>

<https://goodhealthpass.org/ghp-vocab> a owl:Ontology ;
  rdfs:label "Good Health Pass vocabulary for Covid-19" ;
  dcterms:license <https://creativecommons.org/publicdomain/zero/1.0/> ;
  pav:version "0.0.1" ;
  vann:preferredNamespacePrefix "ghp" ;
  vann:preferredNamespaceUri "https://goodhealthpass.org/ghp-vocab/"^^xsd:anyURI ;
  sh:declare [
    sh:prefix "linkml" ;
    sh:namespace "https://w3id.org/linkml/"^^xsd:anyURI
  ] , [
    sh:prefix "sdo" ;
    sh:namespace "https://schema.org/"^^xsd:anyURI
  ] , [
    sh:prefix "ghp" ;
    sh:namespace "https://goodhealthpass.org/ghp-vocab/"^^xsd:anyURI
  ] , [
    sh:prefix "xsd" ;
    sh:namespace "http://www.w3.org/2001/XMLSchema#"^^xsd:anyURI
  ] , [
    sh:prefix "pathogen" ;
    sh:namespace "https://w3id.org/pathogen#"^^xsd:anyURI
  ] , [
    sh:prefix "dgc" ;
    sh:namespace "http://hl7.eu/fhir/ig/dgc/"^^xsd:anyURI
  ] , [
    sh:prefix "icd-entity" ;
    sh:namespace "http://id.who.int/icd/entity/"^^xsd:anyURI
  ] , [
    sh:prefix "base-fhir" ;
    sh:namespace "http://hl7.org/fhir/"^^xsd:anyURI
  ] , [
    sh:prefix "who-ips" ;
    sh:namespace "http://hl7.org/fhir/uv/ips/"^^xsd:anyURI
  ] , [
    sh:prefix "sct" ;
    sh:namespace "http://snomed.info/sct/"^^xsd:anyURI
  ] .

pathogen:DGCPatient a owl:Class ;
  rdfs:comment "Minimal Person information mapped to FHIR DGC Patient" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty dgc:PatientDGC.name.givenName ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty dgc:PatientDGC.name.givenName ;
    owl:minCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty dgc:PatientDGC.name.familyName ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty dgc:PatientDGC.name.familyName ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty base-fhir:gender-identity ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty base-fhir:gender-identity ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] .

pathogen:DGCVaccine a owl:Class ;
  rdfs:comment "Minimal vaccine information mapped to FHIR DGC valuesets" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty icd-entity:164949870 ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty icd-entity:164949870 ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty dgc:ImmunizationDGC.protocolApplied.targetedDisease ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty dgc:ImmunizationDGC.protocolApplied.targetedDisease ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty <http://hl7.eu/fhir/ig/dgc/ValueSet/vaccines-covid-19-auth-holders> ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty <http://hl7.eu/fhir/ig/dgc/ValueSet/vaccines-covid-19-auth-holders> ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty <http://hl7.eu/fhir/ig/dgc/ValueSet/vaccines-covid-19-names> ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty <http://hl7.eu/fhir/ig/dgc/ValueSet/vaccines-covid-19-names> ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] .

pathogen:DGCVaccinationInformation a owl:Class ;
  rdfs:comment "Minimal vaccination event information mapped to FHIR DGC profile" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty who-ips:Immunization.location.name ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty who-ips:Immunization.location.name ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty who-ips:Immunization.lotNumber ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty who-ips:Immunization.lotNumber ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty <http://hl7.org/fhir/ValueSet/iso3166-1-2> ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty <http://hl7.org/fhir/ValueSet/iso3166-1-2> ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty dgc:ImmunizationDGC.occurenceDateTime ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty dgc:ImmunizationDGC.occurenceDateTime ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty <http://hl7.org/fhir/ValueSet/immunization-function> ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty <http://hl7.org/fhir/ValueSet/immunization-function> ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty dgc:ImmunizationRecommendationDGC.dateCriterion.value ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty dgc:ImmunizationRecommendationDGC.dateCriterion.value ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty who-ips:ImmunizationDGC.protocolApplied.doseNumber ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty who-ips:ImmunizationDGC.protocolApplied.doseNumber ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty pathogen:DGCVaccine ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty pathogen:DGCVaccine ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] .

pathogen:DGCTestInformation a owl:Class ;
  rdfs:comment "Minimal Covid-19 Lab test information mapped to FHIR DGC profile" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <http://hl7.eu/fhir/ig/dgc/ValueSet/loinc-tests-covid-19> ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty <http://hl7.eu/fhir/ig/dgc/ValueSet/loinc-tests-covid-19> ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty <http://hl7.eu/fhir/ig/dgc/ValueSet/covid-19-lab-methods> ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty <http://hl7.eu/fhir/ig/dgc/ValueSet/covid-19-lab-methods> ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty <http://hl7.org/fhir/ValueSet/body-site> ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty <http://hl7.org/fhir/ValueSet/body-site> ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty dgc:DiagnosticReport.specimen.collectedDateTime ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty dgc:DiagnosticReport.specimen.collectedDateTime ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty <http://hl7.org/fhir/ValueSet/observation-interpretation> ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty <http://hl7.org/fhir/ValueSet/observation-interpretation> ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty dgc:LocationDGC ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty dgc:LocationDGC ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty dgc:DiagnosticReport.resultsIntepreter ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty dgc:DiagnosticReport.resultsIntepreter ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty dgc:ImmunizationDGC.performer.actor ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty dgc:ImmunizationDGC.performer.actor ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty dgc:ObservationCovidImmunity.code ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty dgc:ObservationCovidImmunity.code ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty <http://hl7.org/fhir/ValueSet/iso3166-1-2> ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty <http://hl7.org/fhir/ValueSet/iso3166-1-2> ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] .

pathogen:DGCInfectionInformation a owl:Class ;
  rdfs:comment "Minimal Covid-19 Recovery information mapped to FHIR DGC profile" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty sct:840539006 ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty sct:840539006 ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty dgc:DiagnosticReport.result.effectiveDateTime ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty dgc:DiagnosticReport.result.effectiveDateTime ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty <http://hl7.org/fhir/ValueSet/iso3166-1-2> ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty <http://hl7.org/fhir/ValueSet/iso3166-1-2> ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] .

pathogen:GHPProofOfVaccination a owl:Class ;
  rdfs:comment "Proof of Covid-19 Vaccination" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty pathogen:DGCVaccinationInformation ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty pathogen:DGCVaccinationInformation ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty pathogen:DGCPatient ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty pathogen:DGCPatient ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty ghp:evidence ;
    owl:allValuesFrom xsd:string
  ] .

pathogen:GHPProofOfCovidTest a owl:Class ;
  rdfs:comment "Proof of Covid-19 Lab test" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty pathogen:DGCTestInformation ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty pathogen:DGCTestInformation ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty pathogen:DGCPatient ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty pathogen:DGCPatient ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty ghp:evidence ;
    owl:allValuesFrom xsd:string
  ] .

pathogen:GHPProofOfRecovery a owl:Class ;
  rdfs:comment "Proof of recovery from Covid-19" ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty pathogen:DGCInfectionInformation ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty pathogen:DGCInfectionInformation ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty pathogen:DGCPatient ;
    owl:allValuesFrom xsd:string
  ] , [
    a owl:Restriction ;
    owl:onProperty pathogen:DGCPatient ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] .

dgc:PatientDGC.name.givenName a owl:DatatypeProperty ;
  rdfs:range xsd:string .

dgc:PatientDGC.name.familyName a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

base-fhir:gender-identity a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

icd-entity:164949870 a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

dgc:ImmunizationDGC.protocolApplied.targetedDisease a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

<http://hl7.eu/fhir/ig/dgc/ValueSet/vaccines-covid-19-auth-holders> a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

<http://hl7.eu/fhir/ig/dgc/ValueSet/vaccines-covid-19-names> a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

who-ips:Immunization.location.name a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

who-ips:Immunization.lotNumber a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

<http://hl7.org/fhir/ValueSet/iso3166-1-2> a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

dgc:ImmunizationDGC.occurenceDateTime a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

<http://hl7.org/fhir/ValueSet/immunization-function> a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

dgc:ImmunizationRecommendationDGC.dateCriterion.value a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

who-ips:ImmunizationDGC.protocolApplied.doseNumber a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

<http://hl7.eu/fhir/ig/dgc/ValueSet/loinc-tests-covid-19> a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

<http://hl7.eu/fhir/ig/dgc/ValueSet/covid-19-lab-methods> a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

<http://hl7.org/fhir/ValueSet/body-site> a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

dgc:DiagnosticReport.specimen.collectedDateTime a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

<http://hl7.org/fhir/ValueSet/observation-interpretation> a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

dgc:LocationDGC a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

dgc:DiagnosticReport.resultsIntepreter a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

dgc:ImmunizationDGC.performer.actor a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

dgc:ObservationCovidImmunity.code a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

sct:840539006 a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

dgc:DiagnosticReport.result.effectiveDateTime a owl:DatatypeProperty ;
  rdfs:range xsd:string ;
  a owl:FunctionalProperty .

ghp:evidence a owl:DatatypeProperty ;
  rdfs:range xsd:string .

dcterms:license a owl:AnnotationProperty .

pav:version a owl:AnnotationProperty .

vann:preferredNamespacePrefix a owl:AnnotationProperty .

vann:preferredNamespaceUri a owl:AnnotationProperty .

sh:declare a owl:AnnotationProperty .

sh:prefix a owl:AnnotationProperty .

sh:namespace a owl:AnnotationProperty .
