-
Notifications
You must be signed in to change notification settings - Fork 833
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Medical/health vocabulary as an extension #492
Comments
Yes, we have not discussed this with @twamarc (who led an existing proposal #11 ) but given the scale and detail of our medical vocabulary this is indeed a strong candidate for conversion into a med: extension. Probably it is best to test the infrastructure with something smaller first (bib: and auto:), but thanks for starting this conversation. @twamarc - have you followed any of the discussion around the new extension model? http://schema.org/docs/extension.html has an overview... |
I personally support this approach as a way forward (but I have not yet discussed with the group which was behind the proposal last year). In parallel there is (since end last year) a big move towards having robust medical vocabulary and within the W3C Life science Group with the start of the HL7 ITS subgroup on RDF for Semantic Interoperability. The group is nowadays working among others on HL7 FHIR Ontology which may help/overlaps with the proposal. The 2 questions I have here (for next steps): |
@twamarc thanks for your reply, and your patience. To answer your specific questions: 1.) Each hosted extension (http://schema.org/docs/extension.html) will be assigned a short code name. This is used as a folder name in the codebase (e.g. data/ext/bib/* for bibliographic), and when publiched as a subdomain in the site (i.e. we will eventually have bib.schema.org). Q: would 'med' be an adequate short name for the vocabulary we discuss here? (rather than something alluding to 'healthcare', 'life science' etc.?). However, do note that unlike "classic RDF Linked Data" the names assigned within the extension should be designed to be used alongside all other terms (from the core and even from other extensions). This means that we still need some central coordination, and that names of type/property/enum terms should be specific. For example, we made a previously by using "/action" to mean "muscle action", and we will need to create a workflow based around the new W3C Community Group and Github to help improve our naming choices. This new extension mechanism was only announced fully last week with the v2.0 release, and there are still some tooling and workflow issues to finalize. 2.) ... consequently there is not yet full documentation for developers of extensions, beyond the high level notes in http://schema.org/docs/extension.html For now, everything is in Github. We do have a special label here (for issues and pull requests) regarding extensions. For a path forward for Medical/Health I suggest,
For example would this be a fair initial template description?: """The medical extension refines and improves schema.org's medical/healthcare vocabulary that was initially published in 2012 (see http://blog.schema.org/2012/06/health-and-medical-vocabulary-for.html http://schema.org/docs/meddocs.html ). Taking into various integration points post-2012 changes (e.g. Audience, action / muscleAction), it moves schema.org's detailed treatment of medical terminology into a extension called 'med'.
|
Hi Colleagues, Here are some preliminary informations to start the health.schema.org Extension.
PLANNED: 12)Coordinate with Food type (help further with foodWarning and recipeIngredient) #458 Regards, |
Thanks. I'll put this on Steering Group's next agenda, likely we'll have a call in ~ 2 weeks. |
Great! |
Sure, I will populate all related discussions from other issues |
Thanks, that would be really useful! |
Current ongoing work: -(Step one-bis)Working on the partial notes about the exact choice of name for each term inhealth.schema.org extension @danbri in #2 -(Step two-): Additions, enhancement, wide community review including: --Under investigation: support clinical trials data/vocab (cc/ @micheldumontier) --Under investigation: support for genetics and pharmacogenetics vocab (@markwoon) --Under investigation: support for Health Insurance markup #twamarc/ScheMed#3 (cc/ @ccorak, @DavidXPortnoy) That's for now. |
Added: |
@RichardWallis I merged with sdo-phobos, and passed all tests successfully. However it seems there I miss something: the test are OK and I see that some orphan domain|range terms are not detected by the tests. eg. See the http://schema.org/indication :
health:indication
Domain: health:CaringEvent
Domain: health:MedicalDevice
Domain: health:MedicalIntervention
Domain: health:MedicalProcedure
Domain: health:TherapeuticProcedure
Range: health:MedicalIndication
here: the 3 listed domains are not defined in core neither in the extension (accidentally there as a legacy of v0.1 health.schema.org): health:MedicalIntervention So I was expecting the tests to detect them and I can correct this immediately. Unfortunately not. Can you pass the stets at your side? Following our disussions I guess this will be published under ~Marc |
@twamarc I get the following failures when I run the tests:
Scrolling back up the test output you will see informational reports for the 11 offending domainIncludes and 4 rangeIncludes. |
@RichardWallis $ python tests/test_basics.py The tests under scripts/run_tests.py are OK at my side: So I tried to fix the domainIncludes and rangeIncludes issues manually (not sure I fixed them all): can you run the tests at your side again? Thanks |
@twamarc check for the following in your environment: Meanwhile here are the error reports I'm getting:
|
@RichardWallis Thanks. Not solved at my side (I guess windows config problem?). However I fixed the above errors--still manually. Can you test again? :) |
Hmmm! this is an interesting discussion but please let's keep this simple. https://docs.google.com/spreadsheets/d/1y7KIP0icoqowZ1uX4H33rVJKfj5WAjIeqkEpnuN6A9U/edit#gid=0 Most usecases we can use the following example model:
In this way we will cover both US and EU (taking example of Belgian model and EU commission) use cases. Thanks for rich input on this! cc/ @danbri , @davefeg , @vholland , @RichardWallis |
re: Thing > Intangible > Credential > Degree > MedicalDegree In order that we all might have equal rights, From twamarc/ScheMed#34 (comment) [edit]:
|
@twamarc Sounds great to me! For Physician we could also have properties to identify medicineSystem and the recognizingAuthority of the Medical Board. This would allow search engines to better distinguish between doctors practicing traditional western medicine vs. osteopathic medicine. Consumers without a medical background might not even realize that a healthcare provider whose name is preceded by 'Dr.' can be a Medical Doctor (M.D), or an Osteopath (D.O). And there is big difference in how each doctor would approach the delivery of a baby .... Joe Smith, M.D., an OB/GYN practicing western medicine
Mary Grace, D.O., OB/GYN practicing osteopathic medicine
|
Is it possible to have multiple degrees? |
@westurner Yes, it is possible for a physician to have multiple degrees. In the US, there are some physicians who complete dental school (DDS ), and then apply to medical school to attain the MD degree. However, it is highly unusual to see an MD/OD combination. What is more common in Medicine is to see MDs with Board Certification in two or more Medical Subspecialties or Medical Specialties. Each Board Certification means that they have completed a Residency in that Medical Specialty and successfully completed the examination requirements. However, these double boarded physicians will typically claim a primary Medical Specialty, and focus their medical practice on only one. Malpractice policies and hospital credentialing (admitting privileges) will typically require the physician to specify which is the primary Medical Specialty. |
@westurner : I see your recent post (#195) from today defining Credential. Which of these would be applicable to a Medical Specialty or Subspecialty certificate awarded to a M.D. or D.O. upon completion of a medical residency? For the record these credentials are not 'medical licenses', as 'licenses' are issued by individual State and Government jurisdictions. It would be great to make 'MedicalResidency' credential crystal clear for webmasters of medical teaching institutions/medical portals. Thx. |
Schema RDFa: <div typeof="rdfs:Class" resource="http://schema.org/MedicalSpecialtyCertificate">
<span class="h" property="rdfs:label">MedicalSpecialtyCertificate</span>
<span property="rdfs:comment">A MedicalSpecialtyCertificate Credential TODO</span>
<span>Subclass of: <a property="rdfs:subClassOf" href="http://schema.org/Certificate">Certificate</a></span>
<span>Subclass of: <a property="rdfs:subClassOf" href="http://schema.org/CertificateType">CertificateType</a></span>
<!-- TODO: OR -->
<span>Subclass of: <a property="rdfs:subClassOf" href="http://schema.org/Certification">Certification</a></span>
</div>
<div typeof="rdf:Property" resource="http://schema.org/medicalDegree">
<span class="h" property="rdfs:label">medicalDegree</span>
<span property="rdfs:comment">A MedicalDegree for this Person</span>
<link property="rdfs:subPropertyOf" href="http://schema.org/credential" />
<span>Domain: <a property="http://schema.org/domainIncludes" href="http://schema.org/Person">Person</a></span>
<!-- TODO: see 'is a physician a person' -->
<span>Domain: <a property="http://schema.org/domainIncludes" href="http://schema.org/Person">Physician</a></span>
<span>Range: <a property="http://schema.org/rangeIncludes" href="http://schema.org/MedicalDegree">MedicalDegree</a></span>
</div>
<div typeof="rdf:Property" resource="http://schema.org/certifyingBoard">
<span class="h" property="rdfs:label">certifyingBoard</span>
<span property="rdfs:comment">TODO</span>
<span>Domain: <a property="http://schema.org/domainIncludes" href="http://schema.org/MedicalSpecialtyCertificate">MedicalSpecialtyCertificate</a></span>
<span>Range: <a property="http://schema.org/rangeIncludes" href="http://schema.org/Organization">Organization</a></span>
<!-- this is not yet solved for: -->
<span>Range: <a property="http://schema.org/rangeIncludes" href="http://schema.org/CredentialInstance">CredentialInstance</a></span>
</div>
<div typeof="rdfs:Class" resource="http://schema.org/MedicalDegreeType">
<span class="h" property="rdfs:label">MedicalDegreeType</span>
<span property="rdfs:comment">A type of an Medical Degree AcademicDegree</span>
<span>Subclass of: <a property="rdfs:subClassOf" href="http://schema.org/AcademicDegreeType">AcademicDegreeType</a></span>
</div>
<div typeof="rdfs:Class" resource="http://schema.org/MedicalDoctorDegree">
<span class="h" property="rdfs:label">MedicalDoctorDegree</span>
<span property="rdfs:comment">A MedicalDoctor Degree MedicalDegreeType</span>
<span property="schema:alternateName">MD</span>
<span>Subclass of: <a property="rdfs:subClassOf" href="http://schema.org/MedicalDegreeType">MedicalDegreeType</a></span>
</div>
<div typeof="rdfs:Class" resource="http://schema.org/OsteopathicDoctorDegree">
<span class="h" property="rdfs:label">OsteopathicDoctorDegree</span>
<span property="rdfs:comment">A OsteopathicDoctor Degree MedicalDegreeType</span>
<span property="schema:alternateName">DO</span>
<span>Subclass of: <a property="rdfs:subClassOf" href="http://schema.org/MedicalDegreeType">MedicalDegreeType</a></span>
</div>
<div typeof="rdfs:Class" resource="http://schema.org/PodiatricDoctorDegree">
<span class="h" property="rdfs:label">PodiatricDoctorDegree</span>
<span property="rdfs:comment">A PodiatricDoctor Degree MedicalDegreeType</span>
<span property="schema:alternateName">DPM</span>
<span>Subclass of: <a property="rdfs:subClassOf" href="http://schema.org/MedicalDegreeType">MedicalDegreeType</a></span>
</div>
<div typeof="rdf:Property" resource="http://schema.org/abbreviation">
<span class="h" property="rdfs:label">abbreviation</span>
<span property="rdfs:comment">An abbreviation (see also: alternateName)</span>
<span>Thing: <a property="http://schema.org/domainIncludes" href="http://schema.org/Thing">Thing</a></span>
<span>Text: <a property="http://schema.org/rangeIncludes" href="http://schema.org/Text">Text</a></span>
<span>Abbreviation: <a property="http://schema.org/rangeIncludes" href="http://schema.org/Abbreviation">Abbreviation</a></span>
</div>
<div typeof="rdfs:Class" resource="http://schema.org/Abbreviation">
<span class="h" property="rdfs:label">Abbreviation</span>
<span property="rdfs:comment">An abbreviation for something (name for abbreviation, description for a description of context)</span>
<span>Subclass of: <a property="rdfs:subClassOf" href="http://schema.org/Intangible">Intangible</a></span>
</div> JSON-LD example: TYPES: #MedicalSpecialtyCertificate1 CredentialInstance, MedicalSpecialtyCertificate
"@type": "CredentialInstance",
"credentialIssuee": {
"@type": "Person",
"name": "Joe Smith, M.D."
},
"credential": {
"@type": "MedicalSpecialtyCertificate",
"credentialType": "MedicalSpecialtyCertificate",
"credentialIssuer": {
"@type": "Organization",
"name": "American Board of Obstetrics and Gynecology",
"url": "..."
},
"medicalDegree": {
"@type": "MedicalDegree",
"credentialType": "MedicalDoctorDegree"
},
"medicineSystem": "WesternConventional",
"medicalSpecialty": ["Obstetric", "Gynecologic"],
"certifyingBoard": {
"@type": "Organization",
"name": "American Board of Obstetrics and Gynecology",
"url": "..."
},
"recognizingAuthority": {
"@type": "Organization",
"name": "American Board of Medical Specialties (ABMS)",
"url": "..."
}
)
MedicalDegreeTypeRegarding degrees:
is a Physician a Person?Regarding http://schema.org/Physician :
how to specify a primary MedicalSpecialtyCertificateI can think of twoo ways to do primaryMedicalSpecialtyCertificate:
And then there's trying to rely on the source order
|
"And then there's trying to rely on the source order" - for schema.org we need the order to be explicit; it is not enough to rely on the order that information is found within a document being parsed. |
@westurner I love the way you are thinking, especially associating the Medical Specialty certificates (ex: Obstetrics) with their certifyingBoard (American Board of Obstetrics and Gynecology) with oversight by a recognizingAuthority (American Board of Medical Specialties). YES! These relationships are critical for search engines to eventually figure out who the bogus Medical Boards are. Bogus Boards have little or no oversight (no recognizingAuthority). To answer your questions: Medical Residency certificate or certification? Is Schema.org/Physician a person?
And to make it more interesting, the Google KG shows Physician as a 'profession'. What to do? Physician person gets these:
Physician organization entity gets these:
But there's more... |
|
@westurner Can you please clarify which codes you are referring to? |
@LeezaRodriguez Physician license and certification numbers could be modeled as http://schema.org/Number codeValues, or -- more completely -- with classes and properties for each Credential. With something like PhysicianUnitedStates, there could be defined properties for each requisite Credential. With something like http://schema.org/MedicalCode codeValue codingSystem, there wouldn't be need to define each country's specific coding systems in health-lifesci; but that would be lossy |
Thanks, and I agree http://schema.org/MedicalCode coding system does not need to be country specific. But to digress a bit, I'm still not clear how the existing Physician organization type (http://schema.org/Physician) and the new Physician person type will be disambiguated in this schema.org hierarchy. ? Can you or @twamarc clarify for me?
WRT the physician person credentials , one could think of a medical 'license' to practice medicine in a particular state/jurisdiction/country as a 'permit' or a 'license'. However, the 'certification' in a MedicalSpecialty (following completion of a residency program) is absolutely it's own animal, not a 'degree', and is worthy of it's own property similar to what you outlined above. |
within the current fixes, the existing Physician organization (http://schema.org/Physician) and the new Physician person will be 2 different types. |
Just to clarify, it is a flat namespace: you can't have the same term in an extension and the core. So if the extension has a different notion of Physician-as-a-Person it can't be called 'Physician' if that term is used differently in the core. |
In this instance, is there a reason that a Physician could not be both a Organization > Physician Organization > MedicalTeam might've been a more specific relation than https://en.wikipedia.org/wiki/Physician
On Jul 18, 2016 8:00 AM, "Dan Brickley" notifications@github.com wrote:
|
@LeezaRodriguez I have mentioned this before in your Freebase training days with me :) ... but to reiterate for all again... Schema.org (and in the past, Freebase) already has the 2 necessary types to disambiguate. There is no need to make a Physican#2 Type. schema.org/Physician A PERSON (with a set of properties...to include all those you listed) For us in Schema.org, both the Physician and the MedicalOrganization just need to have a few more properties defined under them, like npiID, (In fact, MedicalOrganization already has 4 useful ones like duns, leicode, vatID,, taxID) Reference: https://npiregistry.cms.hhs.gov/ The idea of our 2 existing Types already aligns perfectly with how Wikidata views things as well... internally Wikdata has Authority Control ID spaces for both our Types , Person and Organization ! https://www.wikidata.org/wiki/Q21745557 Wikidata property for authority control for organisations So all that's needed is someone at or in Wikdata to make a proposal for a new property called NPI ID , such as all of these that exist already : SPARQL QUERY FOR UNIQUE IDS AND AUTHORITY CONTROL OF PEOPLE |
Hi Thad! I'm still ever so grateful for my training wheels! Much insight , much joy. To clarify the data modeling that Thad and I are describing: A good path forward would be to immediately redefine http://schema.org/Physician to be a person. In this capacity, this Type would be properly aligned with other linked nodes in the ontology ecosystem, especially Wikidata, the new mothernode. To overview the landscape, Physician is currently defined as such:
As you can see from the above, Physician is a person in Wikidata (and Freebase). The logical step forward is to make it a person in Schema.org. If not,.... who among you is fearless enough to go into Wikidata and make changes to the definitions there? If you try, you will never come out alive!!! . Now, let's consider the relationship between the Physician (person) and the Organization he works for. I see redundancy with the types that are currently listed in the full hierarchy: Perhaps we only need one of these types to show a relationship between the Physician and who he is affiliated with. MedicalOrganization is the most versatile, as it can be for profit or non-profit. Should we consider eliminating one of these? Thoughts? |
@LeezaRodriguez You forgot to mention the un-usefulness of bucket types (types without properties). :) |
I realize this is painful, but we need to address the http://schema.org/Physician dilemma ASAP. There is already confusion in the wild. We can't take the easy way out. We have to think about how this will scale in the future! As the schema.org vocab grows for the clinical trial space and the insurance industry this will likely get messy and come back to haunt, especially as Wikidata grows simultaneously . With insurance, not all doctors within a medical office or organization will participate with an insurance carrier. If we don't model this to clearly show the relationship between the physician and the medical organization he works for/is affiliated with/is credentialed by, we are going to make it very difficult for search engines to understand the relationships. How would we dare to not align http://schema.org/Physician with Wikidata QID 'Physician'? Please enlighten me. Sorry to be such a nag :) |
Hi, I think is importante to notice and remember how ambiguous can be (some) SchemaOrg definitions, as "Physician", without a semantic link ... The issue#280 is to solve this problem with links to stable Wikidata concepts, but need help (!) and hands-on to evolve. |
@ppKrauss Yes, and as you know @thadguidry is working on that mapping. Thad sees confusion with the current schema.org definition, and so do I. This is why we are both suggesting to redefine http://schema.org/Physician as a person. Again, I realize this is a bit of a headache. But otherwise, we have to align the current http://schema.org/Physician with the Wikidata concept to be equivalent with 'a physician's office' , rather than 'physician' (the person) QID in Wikidata, https://www.wikidata.org/wiki/Q39631 And if we leave the current schema.org definition as it is, what vocab do we use for physician-the-person in the extension? You really can't use 'medicaldoctor', as that implies an M.D. degree, and does not include D.O.s, who are also physicians. Using the term 'doctor', could open up confusion with phD's. |
The health-lifesci.schema.org extension was published in 3.0 and announced (after we fixed some bugs!) with 3.1 yesterday, http://blog.schema.org/2016/08/schemaorg-update-hotels-datasets-health.html There are various themes of discussion continuing here but all muddled together. I will close out this issue, and encourage all continued discussions to happen via more dedicated issues. Do create them if necessary but have a look for any pre-existing older issues first, we have 100s open and it's important to keep our open issue count under country. Thanks again to everyone who contributed to the health-lifesci milestone - it was one of the largest structural changes we've made to how the schemas here are organized. |
thanks all :) |
Would it be possible to remove the health/medical types from the main namespace and make it an extension, e.g.
http://med.schema.org/
?As the Extension Mechanism documentation explains,
But
MedicalEntity
is rather domain specific, not something "the most common" sites would use.The text was updated successfully, but these errors were encountered: