As was discussed yesterday on the architecture call I’m proposing the following structure for comment and discussion.
To be clear, the following format is describing our proposed package organization (namespaces) where classes would sit and sample routes that would live in each of the services. The overall project namespace (org.ohdsi.webapi) would contain sub-packages for models relevant to each separate service. The service sub-package would contain all classes that expose routes.
We’ll be keeping this open for discussion for the next week before finalizing for the initial WebAPI project release.
org.ohdsi.webapi (namespace)
.cohort (namespace)
CohortDefinition (class)
PersonCriteria (class)
.service (namespace)
VocabularyService (class)
/webapi/vocabulary/concept/5 (sample GET route)
CohortService (class)
/webapi/cohort/generateSql (sample POST route)
MethodService (class)
/webapi/method/ccd (sample POST route)
KnowledgeBaseService (class)
/webapi/knowledgebase/knowledge/5 (sample GET route)
.vocabulary (namespace)
Concept (class)
ConceptRelationship (class)